Commit 087c55a8 authored by Carlos Garnacho's avatar Carlos Garnacho

Merge branch 'master' into libtracker-miner

Conflicts:
	data/dbus/org.freedesktop.Tracker.Miner.Files.service.in
	data/dbus/tracker-miner.xml
	src/Makefile.am
	src/libtracker-common/Makefile.am
	src/libtracker-common/tracker-module-config.c
	src/libtracker-common/tracker-module-config.h
	src/tracker-miner-fs/Makefile.am
	src/tracker-miner-fs/modules/evolution-imap.c
	src/tracker-miner-fs/modules/evolution-pop.c
	src/tracker-miner-fs/tracker-crawler.c
	src/tracker-miner-fs/tracker-indexer.c
	src/tracker-miner-fs/tracker-main.c
	src/tracker-miner-fs/tracker-miner-applications.c
	src/tracker-miner-fs/tracker-miner.h
	src/tracker-utils/tracker-status.c
parents 6cddca2c e40100bd
...@@ -230,37 +230,6 @@ if test x$have_enca == "xyes"; then ...@@ -230,37 +230,6 @@ if test x$have_enca == "xyes"; then
AC_DEFINE(HAVE_ENCA, 1, [Enca language detection aid]) AC_DEFINE(HAVE_ENCA, 1, [Enca language detection aid])
fi fi
# Check for Raptor
PKG_CHECK_MODULES(RAPTOR, [raptor >= 1.4.18])
AC_SUBST(RAPTOR_CFLAGS)
AC_SUBST(RAPTOR_LIBS)
AC_PROG_LEX
if test "$LEX" = :; then
AC_MSG_ERROR([flex not found but required])
fi
AC_CHECK_PROGS(YACC, 'bison -y' byacc yacc, :)
if test "$YACC" = :; then
AC_MSG_ERROR([bison not found but required])
fi
AC_CHECK_FUNCS(strcasecmp)
AC_DEFINE_UNQUOTED(RASQAL_VERSION_MAJOR, 0, [Major version number])
AC_DEFINE_UNQUOTED(RASQAL_VERSION_MINOR, 9, [Minor version number])
AC_DEFINE_UNQUOTED(RASQAL_VERSION_RELEASE, 17, [Release version number])
AC_DEFINE_UNQUOTED(RASQAL_VERSION_DECIMAL, 917, [Release version as a decimal])
AC_DEFINE([RAPTOR_TRIPLES_SOURCE_RAPTOR], 1, [Use raptor to provide triples])
AC_DEFINE(RASQAL_REGEX_POSIX, 1, [Use posix regex library])
AC_DEFINE([RASQAL_DECIMAL_NONE], 1, [Decimal without a library])
AC_DEFINE(RASQAL_QUERY_RDQL, 1, [Building RDQL query])
AC_DEFINE(RASQAL_QUERY_LAQRS, 1, [Building LAQRS query])
AC_DEFINE(RASQAL_QUERY_SPARQL, 1, [Building SPARQL query])
AM_CONDITIONAL(RASQAL_QUERY_RDQL, true)
AM_CONDITIONAL(RASQAL_QUERY_LAQRS, true)
AM_CONDITIONAL(RASQAL_QUERY_SPARQL, true)
AC_PATH_PROG(VALAC, valac, valac) AC_PATH_PROG(VALAC, valac, valac)
AC_SUBST(VALAC) AC_SUBST(VALAC)
...@@ -626,11 +595,11 @@ AC_CHECK_HEADERS([sys/inotify.h]) ...@@ -626,11 +595,11 @@ AC_CHECK_HEADERS([sys/inotify.h])
# SQLite check # SQLite check
#################################################################### ####################################################################
SQLITE_REQUIRED=3.5 # .11 for sqlite_backup API
SQLITE_REQUIRED=3.6.11
PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= $SQLITE_REQUIRED]) PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= $SQLITE_REQUIRED])
AC_CHECK_LIB([sqlite3], [sqlite3_enable_load_extension], [:],
[AC_MSG_ERROR([SQLite must be configured with --enable-load-extension.])])
AC_SUBST(SQLITE3_CFLAGS) AC_SUBST(SQLITE3_CFLAGS)
AC_SUBST(SQLITE3_LIBS) AC_SUBST(SQLITE3_LIBS)
...@@ -1420,6 +1389,7 @@ AC_CONFIG_FILES([ ...@@ -1420,6 +1389,7 @@ AC_CONFIG_FILES([
Makefile Makefile
po/Makefile.in po/Makefile.in
python/deskbar-handler/Makefile python/deskbar-handler/Makefile
python/gtk-sparql/Makefile
python/Makefile python/Makefile
src/libinotify/Makefile src/libinotify/Makefile
src/libstemmer/Makefile src/libstemmer/Makefile
...@@ -1431,7 +1401,6 @@ AC_CONFIG_FILES([ ...@@ -1431,7 +1401,6 @@ AC_CONFIG_FILES([
src/libtracker-miner/Makefile src/libtracker-miner/Makefile
src/libtracker-miner/test/Makefile src/libtracker-miner/test/Makefile
src/Makefile src/Makefile
src/rasqal/Makefile
src/tracker-applet/Makefile src/tracker-applet/Makefile
src/tracker-applet/tracker-applet.desktop.in src/tracker-applet/tracker-applet.desktop.in
src/tracker-store/Makefile src/tracker-store/Makefile
...@@ -1450,10 +1419,22 @@ AC_CONFIG_FILES([ ...@@ -1450,10 +1419,22 @@ AC_CONFIG_FILES([
tests/common/Makefile tests/common/Makefile
tests/libtracker-common/Makefile tests/libtracker-common/Makefile
tests/libtracker-data/Makefile tests/libtracker-data/Makefile
tests/libtracker-data/algebra/Makefile
tests/libtracker-data/bnode-coreference/Makefile
tests/libtracker-data/bound/Makefile
tests/libtracker-data/expr-ops/Makefile
tests/libtracker-data/nie/Makefile
tests/libtracker-data/nmo/Makefile
tests/libtracker-data/optional/Makefile
tests/libtracker-data/regex/Makefile
tests/libtracker-data/sort/Makefile
tests/libtracker-data/error/Makefile
tests/libtracker-data/turtle/Makefile
tests/libtracker-db/Makefile tests/libtracker-db/Makefile
tests/Makefile tests/Makefile
tests/tracker-miner-fs/Makefile tests/tracker-miner-fs/Makefile
tests/tracker-extract/Makefile tests/tracker-extract/Makefile
tests/tracker-store/Makefile
utils/Makefile utils/Makefile
utils/tracker-fts/Makefile utils/tracker-fts/Makefile
utils/services/Makefile utils/services/Makefile
......
[D-BUS Service] [D-BUS Service]
Name=org.freedesktop.Tracker.Extract Name=org.freedesktop.Tracker1.Extract
Exec=@libexecdir@/tracker-extract Exec=@libexecdir@/tracker-extract
[D-BUS Service] [D-BUS Service]
Name=org.freedesktop.Tracker.Miner.Files Name=org.freedesktop.Tracker1.Miner.Files
Exec=@libexecdir@/tracker-miner-fs Exec=@libexecdir@/tracker-miner-fs
[D-BUS Service] [D-BUS Service]
Name=org.freedesktop.Tracker Name=org.freedesktop.Tracker1
Exec=@libexecdir@/tracker-store Exec=@libexecdir@/tracker-store
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<interface name="org.freedesktop.Tracker.Backup"> <interface name="org.freedesktop.Tracker1.Backup">
<method name="Save"> <method name="Save">
<annotation name="org.freedesktop.DBus.GLib.Async" value="true"/> <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="s" name="turtle-file-uri" direction="in" /> <arg type="s" name="destination-uri" direction="in" />
<arg type="s" name="journal-uri" direction="in" />
</method> </method>
<method name="Restore"> <method name="Restore">
<annotation name="org.freedesktop.DBus.GLib.Async" value="true"/> <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="s" name="turtle-file-uri" direction="in" /> <arg type="s" name="backup-uri" direction="in" />
<arg type="s" name="journal-uri" direction="in" />
</method> </method>
</interface> </interface>
</node> </node>
...@@ -3,14 +3,14 @@ ...@@ -3,14 +3,14 @@
<!-- <!--
<busconfig> <busconfig>
<policy context="default"> <policy context="default">
<deny send_interface="org.freedesktop.Tracker.Indexer"/> <deny send_interface="org.freedesktop.Tracker1.Indexer"/>
<allow send_destination="org.freedesktop.Tracker"/> <allow send_destination="org.freedesktop.Tracker1"/>
</policy> </policy>
</busconfig> </busconfig>
--> -->
<node name="/"> <node name="/">
<interface name="org.freedesktop.Tracker.Extract"> <interface name="org.freedesktop.Tracker1.Extract">
<method name="GetPid"> <method name="GetPid">
<annotation name="org.freedesktop.DBus.GLib.Async" value="true"/> <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="i" name="value" direction="out" /> <arg type="i" name="value" direction="out" />
...@@ -22,12 +22,9 @@ ...@@ -22,12 +22,9 @@
<arg type="s" name="sparql" direction="out" /> <arg type="s" name="sparql" direction="out" />
</method> </method>
<signal name="ProcessAlbumArt"> <signal name="QueueThumbnail">
<arg type="ay" name="buffer"/>
<arg type="s" name="mime"/>
<arg type="s" name="artist"/>
<arg type="s" name="album"/>
<arg type="s" name="filename"/> <arg type="s" name="filename"/>
<arg type="s" name="mime"/>
</signal> </signal>
</interface> </interface>
</node> </node>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<interface name="org.freedesktop.Tracker.Miner"> <interface name="org.freedesktop.Tracker1.Miner">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="tracker_miner_dbus"/> <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="tracker_miner_dbus"/>
<method name="GetName"> <method name="GetName">
<annotation name="org.freedesktop.DBus.GLib.Async" value="true"/> <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<interface name="org.freedesktop.Tracker.Resources.Class"> <interface name="org.freedesktop.Tracker1.Resources.Class">
<!-- Signal for changed subjects --> <!-- Signal for changed subjects -->
<signal name="SubjectsChanged"> <signal name="SubjectsChanged">
<arg type="as" name="subject" /> <arg type="as" name="subject" />
<arg type="as" name="predicate" />
</signal> </signal>
<!-- Signal for added subjects --> <!-- Signal for added subjects -->
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/org/freedesktop/Tracker"> <node name="/org/freedesktop/Tracker1">
<interface name="org.freedesktop.Tracker.Resources"> <interface name="org.freedesktop.Tracker1.Resources">
<!-- Insert single statement --> <!-- Insert single statement -->
<method name="Insert"> <method name="Insert">
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
--> -->
<node name="/"> <node name="/">
<interface name="org.freedesktop.Tracker.Statistics"> <interface name="org.freedesktop.Tracker1.Statistics">
<!-- Get statistics for services that have been indexed. Output is <!-- Get statistics for services that have been indexed. Output is
in string array format: [service, no of entities] in string array format: [service, no of entities]
......
...@@ -89,5 +89,5 @@ tracker:transient a rdf:Property ; ...@@ -89,5 +89,5 @@ tracker:transient a rdf:Property ;
tracker:modified a rdf:Property ; tracker:modified a rdf:Property ;
nrl:maxCardinality 1 ; nrl:maxCardinality 1 ;
rdfs:domain rdfs:Resource ; rdfs:domain rdfs:Resource ;
rdfs:range xsd:dateTime . rdfs:range xsd:integer .
...@@ -53,7 +53,6 @@ dc:contributor a rdf:Property ; ...@@ -53,7 +53,6 @@ dc:contributor a rdf:Property ;
dc:date a rdf:Property ; dc:date a rdf:Property ;
rdfs:label "Date" ; rdfs:label "Date" ;
rdfs:comment "A point or period of time associated with an event in the lifecycle of the resource." ; rdfs:comment "A point or period of time associated with an event in the lifecycle of the resource." ;
nrl:maxCardinality 1 ;
rdfs:domain rdfs:Resource ; rdfs:domain rdfs:Resource ;
rdfs:range xsd:dateTime . rdfs:range xsd:dateTime .
...@@ -81,7 +80,6 @@ dc:identifier a rdf:Property ; ...@@ -81,7 +80,6 @@ dc:identifier a rdf:Property ;
dc:source a rdf:Property ; dc:source a rdf:Property ;
rdfs:label "Source" ; rdfs:label "Source" ;
rdfs:comment "A related resource from which the described resource is derived." ; rdfs:comment "A related resource from which the described resource is derived." ;
nrl:maxCardinality 1 ;
rdfs:domain rdfs:Resource ; rdfs:domain rdfs:Resource ;
rdfs:range xsd:string . rdfs:range xsd:string .
......
...@@ -104,7 +104,6 @@ nie:disclaimer a rdf:Property ; ...@@ -104,7 +104,6 @@ nie:disclaimer a rdf:Property ;
nie:dataSource a rdf:Property ; nie:dataSource a rdf:Property ;
rdfs:subPropertyOf dc:source ; rdfs:subPropertyOf dc:source ;
nrl:maxCardinality 1 ;
rdfs:domain nie:DataObject ; rdfs:domain nie:DataObject ;
rdfs:range nie:DataSource . rdfs:range nie:DataSource .
...@@ -191,7 +190,7 @@ nie:identifier a rdf:Property ; ...@@ -191,7 +190,7 @@ nie:identifier a rdf:Property ;
rdfs:range xsd:string . rdfs:range xsd:string .
nie:keyword a rdf:Property ; nie:keyword a rdf:Property ;
nrl:maxCardinality 1 ; tracker:fulltextIndexed true ;
rdfs:domain nie:InformationElement ; rdfs:domain nie:InformationElement ;
rdfs:range xsd:string . rdfs:range xsd:string .
...@@ -206,7 +205,6 @@ nie:hasPart a rdf:Property ; ...@@ -206,7 +205,6 @@ nie:hasPart a rdf:Property ;
rdfs:range nie:DataObject . rdfs:range nie:DataObject .
nie:isPartOf a rdf:Property ; nie:isPartOf a rdf:Property ;
nrl:maxCardinality 1 ;
rdfs:domain nie:DataObject ; rdfs:domain nie:DataObject ;
rdfs:range nie:InformationElement . rdfs:range nie:InformationElement .
...@@ -223,7 +221,6 @@ nie:characterSet a rdf:Property ; ...@@ -223,7 +221,6 @@ nie:characterSet a rdf:Property ;
rdfs:range xsd:string . rdfs:range xsd:string .
nie:isLogicalPartOf a rdf:Property ; nie:isLogicalPartOf a rdf:Property ;
nrl:maxCardinality 1 ;
rdfs:domain nie:InformationElement ; rdfs:domain nie:InformationElement ;
rdfs:range nie:InformationElement . rdfs:range nie:InformationElement .
......
...@@ -19,7 +19,8 @@ nao:prefLabel a rdf:Property ; ...@@ -19,7 +19,8 @@ nao:prefLabel a rdf:Property ;
nao:hasTag a rdf:Property ; nao:hasTag a rdf:Property ;
rdfs:domain rdfs:Resource ; rdfs:domain rdfs:Resource ;
rdfs:range rdfs:Resource . rdfs:range rdfs:Resource ;
tracker:indexed true .
nao:identifier a rdf:Property ; nao:identifier a rdf:Property ;
nrl:maxCardinality 1 ; nrl:maxCardinality 1 ;
......
...@@ -24,6 +24,7 @@ nco:Affiliation a rdfs:Class ; ...@@ -24,6 +24,7 @@ nco:Affiliation a rdfs:Class ;
nco:Contact a rdfs:Class ; nco:Contact a rdfs:Class ;
rdfs:label "Contact" ; rdfs:label "Contact" ;
rdfs:comment "A Contact. A piece of data that can provide means to identify or communicate with an entity." ; rdfs:comment "A Contact. A piece of data that can provide means to identify or communicate with an entity." ;
tracker:notify true ;
rdfs:subClassOf nie:InformationElement , nco:Role . rdfs:subClassOf nie:InformationElement , nco:Role .
nco:ContactGroup a rdfs:Class ; nco:ContactGroup a rdfs:Class ;
...@@ -50,6 +51,7 @@ nco:EmailAddress a rdfs:Class ; ...@@ -50,6 +51,7 @@ nco:EmailAddress a rdfs:Class ;
nco:IMAccount a rdfs:Class ; nco:IMAccount a rdfs:Class ;
rdfs:label "IMAccount" ; rdfs:label "IMAccount" ;
rdfs:comment "An account in an Instant Messaging system." ; rdfs:comment "An account in an Instant Messaging system." ;
tracker:notify true ;
rdfs:subClassOf nco:ContactMedium . rdfs:subClassOf nco:ContactMedium .
nco:OrganizationContact a rdfs:Class ; nco:OrganizationContact a rdfs:Class ;
...@@ -60,6 +62,7 @@ nco:OrganizationContact a rdfs:Class ; ...@@ -60,6 +62,7 @@ nco:OrganizationContact a rdfs:Class ;
nco:PersonContact a rdfs:Class ; nco:PersonContact a rdfs:Class ;
rdfs:label "PersonContact" ; rdfs:label "PersonContact" ;
rdfs:comment "A Contact that denotes a Person. A person can have multiple Affiliations." ; rdfs:comment "A Contact that denotes a Person. A person can have multiple Affiliations." ;
tracker:notify true ;
rdfs:subClassOf nco:Contact . rdfs:subClassOf nco:Contact .
nco:PhoneNumber a rdfs:Class ; nco:PhoneNumber a rdfs:Class ;
......
...@@ -262,13 +262,6 @@ nfo:count a rdf:Property ; ...@@ -262,13 +262,6 @@ nfo:count a rdf:Property ;
rdfs:domain nfo:Media ; rdfs:domain nfo:Media ;
rdfs:range xsd:integer . rdfs:range xsd:integer .
nfo:rate a rdf:Property ;
rdfs:label "rate" ;
rdfs:comment "A common superproperty for all properties specifying the media rate. Examples of subproperties may include frameRate for video and sampleRate for audio. This property is expressed in units per second." ;
nrl:maxCardinality 1 ;
rdfs:domain nfo:Media ;
rdfs:range xsd:double .
nfo:channels a rdf:Property ; nfo:channels a rdf:Property ;
rdfs:label "channels" ; rdfs:label "channels" ;
rdfs:comment "Number of channels. This property is to be used directly if no detailed information is necessary. Otherwise use more detailed subproperties." ; rdfs:comment "Number of channels. This property is to be used directly if no detailed information is necessary. Otherwise use more detailed subproperties." ;
...@@ -287,7 +280,6 @@ nfo:sideChannels a rdf:Property ; ...@@ -287,7 +280,6 @@ nfo:sideChannels a rdf:Property ;
nfo:frameRate a rdf:Property ; nfo:frameRate a rdf:Property ;
rdfs:label "frameRate" ; rdfs:label "frameRate" ;
rdfs:comment "Amount of video frames per second." ; rdfs:comment "Amount of video frames per second." ;
rdfs:subPropertyOf nfo:rate ;
nrl:maxCardinality 1 ; nrl:maxCardinality 1 ;
rdfs:domain nfo:Video ; rdfs:domain nfo:Video ;
rdfs:range xsd:double . rdfs:range xsd:double .
...@@ -667,7 +659,6 @@ nfo:isPasswordProtected a rdf:Property ; ...@@ -667,7 +659,6 @@ nfo:isPasswordProtected a rdf:Property ;
nfo:sampleRate a rdf:Property ; nfo:sampleRate a rdf:Property ;
rdfs:label "sampleRate" ; rdfs:label "sampleRate" ;
rdfs:comment "The amount of audio samples per second." ; rdfs:comment "The amount of audio samples per second." ;
rdfs:subPropertyOf nfo:rate ;
nrl:maxCardinality 1 ; nrl:maxCardinality 1 ;
rdfs:domain nfo:Audio ; rdfs:domain nfo:Audio ;
rdfs:range xsd:double . rdfs:range xsd:double .
...@@ -690,7 +681,6 @@ nfo:containsBookmark a rdf:Property ; ...@@ -690,7 +681,6 @@ nfo:containsBookmark a rdf:Property ;
nfo:averageBitrate a rdf:Property ; nfo:averageBitrate a rdf:Property ;
rdfs:label "averageBitrate" ; rdfs:label "averageBitrate" ;
rdfs:comment "The average overall bitrate of a media container. (i.e. the size of the piece of media in bits, divided by it's duration expressed in seconds)." ; rdfs:comment "The average overall bitrate of a media container. (i.e. the size of the piece of media in bits, divided by it's duration expressed in seconds)." ;
rdfs:subPropertyOf nfo:rate ;
nrl:maxCardinality 1 ; nrl:maxCardinality 1 ;
rdfs:domain nfo:Media ; rdfs:domain nfo:Media ;
rdfs:range xsd:double . rdfs:range xsd:double .
......
...@@ -64,13 +64,6 @@ nmo:PermanentChannel a rdfs:Class ; ...@@ -64,13 +64,6 @@ nmo:PermanentChannel a rdfs:Class ;
nmo:TransientChannel a rdfs:Class ; nmo:TransientChannel a rdfs:Class ;
rdfs:subClassOf nmo:CommunicationChannel . rdfs:subClassOf nmo:CommunicationChannel .
nmo:FeedChannel a rdfs:Class ;
rdfs:subClassOf nmo:CommunicationChannel .
nmo:FeedMessage a rdfs:Class ;
tracker:notify true ;
rdfs:subClassOf nmo:Message .
nmo:VOIPCall a rdfs:Class ; nmo:VOIPCall a rdfs:Class ;
rdfs:subClassOf nmo:Message . rdfs:subClassOf nmo:Message .
...@@ -234,17 +227,6 @@ nmo:duration a rdf:Property ; ...@@ -234,17 +227,6 @@ nmo:duration a rdf:Property ;
rdfs:domain nmo:VOIPCall ; rdfs:domain nmo:VOIPCall ;
rdfs:range xsd:integer . rdfs:range xsd:integer .
nmo:feedChannelTitle a rdf:Property ;
nrl:maxCardinality 1 ;
rdfs:domain nmo:FeedChannel ;
rdfs:range xsd:string .
# FIXME Extension to nepomuk (string... we dont want a resource)
nmo:image a rdf:Property ;
nrl:maxCardinality 1 ;
rdfs:domain nmo:FeedChannel ;
rdfs:range xsd:string .
# FIXME Extension to nepomuk # FIXME Extension to nepomuk
nmo:accountName a rdf:Property ; nmo:accountName a rdf:Property ;
nrl:maxCardinality 1 ; nrl:maxCardinality 1 ;
...@@ -279,7 +261,7 @@ nmo:folderName a rdf:Property ; ...@@ -279,7 +261,7 @@ nmo:folderName a rdf:Property ;
# FIXME Extension to nepomuk # FIXME Extension to nepomuk
nmo:status a rdf:Property ; nmo:status a rdf:Property ;
nrl:maxCardinality 1 ; nrl:maxCardinality 1 ;
rdfs:domain nmo:Email , nmo:MailFolder , nmo:Mailbox ; rdfs:domain nmo:Email ;
rdfs:range xsd:string . rdfs:range xsd:string .
# FIXME Extension to nepomuk # FIXME Extension to nepomuk
......
@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 .