[tracker] New Simplified Calendar ontology
- From: Ivan Frade <ifrade src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker] New Simplified Calendar ontology
- Date: Wed, 19 Aug 2009 12:36:47 +0000 (UTC)
commit 377dc98c9c1abaf55a4836caa0fab2f2a61751b9
Author: Ivan Frade <ivan frade nokia com>
Date: Wed Aug 19 15:35:13 2009 +0300
New Simplified Calendar ontology
Simplified version to improve performance on calendar apps.
If it works fine, it will replace NCAL. At the moment both ontologies
are available.
data/ontologies/36-scal.ontology | 188 ++++++++++++++++++++++++++++++++++++++
1 files changed, 188 insertions(+), 0 deletions(-)
---
diff --git a/data/ontologies/36-scal.ontology b/data/ontologies/36-scal.ontology
new file mode 100644
index 0000000..0418978
--- /dev/null
+++ b/data/ontologies/36-scal.ontology
@@ -0,0 +1,188 @@
+ prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+ prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+ prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+ prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+ prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+ prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+ prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+ prefix scal: <http://www.tracker-project.org/temp/scal#> .
+
+scal: a tracker:Namespace ;
+ tracker:prefix "scal" .
+
+scal:Calendar a rdfs:Class ;
+ rdfs:label "Calendar" ;
+ rdfs:comment "Group calendar items" ;
+ rdfs:subClassOf nie:InformationElement .
+
+scal:CalendarItem a rdfs:Class ;
+ rdfs:label "Calendar item" ;
+ rdfs:comment "Superclass of the calendar entities" ;
+ rdfs:subClassOf nie:InformationElement .
+
+# FIXME Should we define the inverse property?
+scal:belongsToCalendar a rdf:Property ;
+ rdfs:label "Belongs to calentar" ;
+ rdfs:comment "Relation between a calendar item and a calendar." ;
+ rdfs:subPropertyOf nie:isLogicalPartOf ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:Calendar .
+
+#
+# All calendar items inherit from InformationElement
+# nie:title, nie:description and mlo:location
+#
+
+#
+# Contacts involved in a Calendar Item
+#
+scal:Attendee a rdfs:Class ;
+ rdfs:label "Event attendee" ;
+ rdfs:comment "Contact related with a calendar item" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:AttendanceStatus a rdfs:Class ;
+ rdfs:label "Attendance status values" ;
+ rdfs:comment "Predefined set of instances: Confirmed, Maybe, Declined" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:attendance-confirmed a scal:AttendanceStatus .
+scal:attendance-maybe a scal:AttendanceStatus .
+scal:attendance-declined a scal:AttendanceStatus .
+
+scal:attendanceStatus a rdf:Property ;
+ rdfs:label "Attendance status" ;
+ rdfs:comment "Status of contact's assitance to the event" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:Attendee ;
+ rdfs:range scal:AttendanceStatus .
+
+scal:attendeeContact a rdf:Property ;
+ rdfs:label "Link to contact" ;
+ rdfs:comment "Link from the attendee to the actual contact" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:Attendee ;
+ rdfs:range nco:Contact .
+
+scal:attendee a rdf:Property ;
+ rdfs:label "Attendee" ;
+ rdfs:comment "Link of an Calendar item with an attendee, that can have different status" ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:Attendee .
+
+
+
+scal:Event a rdfs:Class ;
+ rdfs:label "Event" ;
+ rdfs:comment "An Event according the ical definition" ;
+ rdfs:subClassOf scal:CalendarItem .
+
+scal:ToDo a rdfs:Class ;
+ rdfs:label "Todo" ;
+ rdfs:comment "A ToDo according the ical definition" ;
+ rdfs:subClassOf scal:CalendarItem .
+
+scal:Journal a rdfs:Class ;
+ rdfs:label "Journal" ;
+ rdfs:comment "A Journal entry according to the ical definition" ;
+ rdfs:subClassOf scal:CalendarItem .
+
+#
+# Alarms:
+#
+# FIXME fix the hierarchy to support generic alarms
+# (This one is always linked with an Event)
+#
+scal:CalendarAlarm a rdfs:Class ;
+ rdfs:label "Alarm" ;
+ rdfs:comment "An alam according to the ical definition" ;
+ rdfs:subClassOf nie:InformationElement .
+
+scal:alarmOffset a rdf:Property ;
+ rdfs:label "Alarm offset";
+ rdfs:comment "Offset of the alarm respect to the Calendar item start time. In minutes" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarAlarm ;
+ rdfs:range xsd:integer .
+
+scal:calendarItemAlarm a rdf:Property ;
+ rdfs:label "CalendarItem-alarm link" ;
+ rdfs:comment "Link between calendar item and alarm" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:CalendarAlarm .
+
+
+#
+# Time point
+#
+scal:TimePoint a rdfs:Class ;
+ rdfs:label "Time item" ;
+ rdfs:comment "Point in time" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:time a rdf:Property ;
+ rdfs:label "Time" ;
+ rdfs:comment "Date and time in UTC" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:TimePoint ;
+ rdfs:value xsd:dateTime .
+
+scal:ReferenceTimeZone a rdf:Property ;
+ rdfs:label "Reference time zone" ;
+ rdfs:comment "Timezone in the OLSON DB used as reference in the time. Use 'floating' for floating times or study the convenience of a boolean 'isFloating' attribute." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:TimePoint ;
+ rdfs:value xsd:string .
+
+# Every Calendar item has start and end time points + all-day boolean
+scal:start a rdf:Property ;
+ rdfs:label "start time";
+ rdfs:comment "Start time of a calendar item" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:value scal:TimePoint .
+
+scal:end a rdf:Property ;
+ rdfs:label "end time" ;
+ rdfs:comment "End time of a calendar item. Set always a value to avoid OPTIONALS";
+ nrl:maxCardinality 1;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:value scal:TimePoint .
+
+scal:isWholeDay a rdf:Property ;
+ rdfs:label "Whole day calendar item" ;
+ rdfs:comment "True if the event applies to the whole day" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:value xsd:boolean .
+
+
+#
+# Recurrence rules
+#
+scal:RecurrenceRule a rdfs:Class ;
+ rdfs:label "Recurrence rule" ;
+ rdfs:comment "Representation of repeating patterns" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:rrule a rdf:Property ;
+ rdfs:label "rrule" ;
+ rdfs:comment "Repeating pattern for recurring CalendarItems" ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:RecurrenceRule .
+
+#
+# This is going to be pretty conflictive and non-semantic... but
+# improve a lot the performance. Study a better solution (maybe keeping the
+# multiple properties in parallel)
+#
+scal:recurrencePattern a rdf:Property ;
+ rdfs:label "Recurrence pattern" ;
+ rdfs:comment "Recurrence pattern enforcing all (14) the fields in RFC2445/4.3.10, with ';' as separator: freq;until;count;interval;bysecond;byminute;byhour;byday;bymonthday;byyearday;byweekno;bymonth;bysetpos;wkst " ;
+ rdfs:domain scal:RecurrenceRule ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:string .
+
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]