[tracker] New Simplified Calendar ontology



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]