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
AC_DEFINE(HAVE_ENCA, 1, [Enca language detection aid])
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_SUBST(VALAC)
......@@ -626,11 +595,11 @@ AC_CHECK_HEADERS([sys/inotify.h])
# SQLite check
####################################################################
SQLITE_REQUIRED=3.5
# .11 for sqlite_backup API
SQLITE_REQUIRED=3.6.11
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_LIBS)
......@@ -1420,6 +1389,7 @@ AC_CONFIG_FILES([
Makefile
po/Makefile.in
python/deskbar-handler/Makefile
python/gtk-sparql/Makefile
python/Makefile
src/libinotify/Makefile
src/libstemmer/Makefile
......@@ -1431,7 +1401,6 @@ AC_CONFIG_FILES([
src/libtracker-miner/Makefile
src/libtracker-miner/test/Makefile
src/Makefile
src/rasqal/Makefile
src/tracker-applet/Makefile
src/tracker-applet/tracker-applet.desktop.in
src/tracker-store/Makefile
......@@ -1450,10 +1419,22 @@ AC_CONFIG_FILES([
tests/common/Makefile
tests/libtracker-common/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/Makefile
tests/tracker-miner-fs/Makefile
tests/tracker-extract/Makefile
tests/tracker-store/Makefile
utils/Makefile
utils/tracker-fts/Makefile
utils/services/Makefile
......
[D-BUS Service]
Name=org.freedesktop.Tracker.Extract
Name=org.freedesktop.Tracker1.Extract
Exec=@libexecdir@/tracker-extract
[D-BUS Service]
Name=org.freedesktop.Tracker.Miner.Files
Name=org.freedesktop.Tracker1.Miner.Files
Exec=@libexecdir@/tracker-miner-fs
[D-BUS Service]
Name=org.freedesktop.Tracker
Name=org.freedesktop.Tracker1
Exec=@libexecdir@/tracker-store
<?xml version="1.0" encoding="UTF-8"?>
<node name="/">
<interface name="org.freedesktop.Tracker.Backup">
<interface name="org.freedesktop.Tracker1.Backup">
<method name="Save">
<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 name="Restore">
<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>
</interface>
</node>
......@@ -3,14 +3,14 @@
<!--
<busconfig>
<policy context="default">
<deny send_interface="org.freedesktop.Tracker.Indexer"/>
<allow send_destination="org.freedesktop.Tracker"/>
<deny send_interface="org.freedesktop.Tracker1.Indexer"/>
<allow send_destination="org.freedesktop.Tracker1"/>
</policy>
</busconfig>
-->
<node name="/">
<interface name="org.freedesktop.Tracker.Extract">
<interface name="org.freedesktop.Tracker1.Extract">
<method name="GetPid">
<annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="i" name="value" direction="out" />
......@@ -22,12 +22,9 @@
<arg type="s" name="sparql" direction="out" />
</method>
<signal name="ProcessAlbumArt">
<arg type="ay" name="buffer"/>
<arg type="s" name="mime"/>
<arg type="s" name="artist"/>
<arg type="s" name="album"/>
<signal name="QueueThumbnail">
<arg type="s" name="filename"/>
<arg type="s" name="mime"/>
</signal>
</interface>
</node>
<?xml version="1.0" encoding="UTF-8"?>
<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"/>
<method name="GetName">
<annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<node name="/">
<interface name="org.freedesktop.Tracker.Resources.Class">
<interface name="org.freedesktop.Tracker1.Resources.Class">
<!-- Signal for changed subjects -->
<signal name="SubjectsChanged">
<arg type="as" name="subject" />
<arg type="as" name="predicate" />
</signal>
<!-- Signal for added subjects -->
......
<?xml version="1.0" encoding="UTF-8"?>
<node name="/org/freedesktop/Tracker">
<interface name="org.freedesktop.Tracker.Resources">
<node name="/org/freedesktop/Tracker1">
<interface name="org.freedesktop.Tracker1.Resources">
<!-- Insert single statement -->
<method name="Insert">
......
......@@ -17,7 +17,7 @@
-->
<node name="/">
<interface name="org.freedesktop.Tracker.Statistics">
<interface name="org.freedesktop.Tracker1.Statistics">
<!-- Get statistics for services that have been indexed. Output is
in string array format: [service, no of entities]
......
......@@ -89,5 +89,5 @@ tracker:transient a rdf:Property ;
tracker:modified a rdf:Property ;
nrl:maxCardinality 1 ;
rdfs:domain rdfs:Resource ;
rdfs:range xsd:dateTime .
rdfs:range xsd:integer .
......@@ -53,7 +53,6 @@ dc:contributor a rdf:Property ;
dc:date a rdf:Property ;
rdfs:label "Date" ;
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:range xsd:dateTime .
......@@ -81,7 +80,6 @@ dc:identifier a rdf:Property ;
dc:source a rdf:Property ;
rdfs:label "Source" ;
rdfs:comment "A related resource from which the described resource is derived." ;
nrl:maxCardinality 1 ;
rdfs:domain rdfs:Resource ;
rdfs:range xsd:string .
......
......@@ -104,7 +104,6 @@ nie:disclaimer a rdf:Property ;
nie:dataSource a rdf:Property ;
rdfs:subPropertyOf dc:source ;
nrl:maxCardinality 1 ;
rdfs:domain nie:DataObject ;
rdfs:range nie:DataSource .
......@@ -191,7 +190,7 @@ nie:identifier a rdf:Property ;
rdfs:range xsd:string .
nie:keyword a rdf:Property ;
nrl:maxCardinality 1 ;
tracker:fulltextIndexed true ;
rdfs:domain nie:InformationElement ;
rdfs:range xsd:string .
......@@ -206,7 +205,6 @@ nie:hasPart a rdf:Property ;
rdfs:range nie:DataObject .
nie:isPartOf a rdf:Property ;
nrl:maxCardinality 1 ;
rdfs:domain nie:DataObject ;
rdfs:range nie:InformationElement .
......@@ -223,7 +221,6 @@ nie:characterSet a rdf:Property ;
rdfs:range xsd:string .
nie:isLogicalPartOf a rdf:Property ;
nrl:maxCardinality 1 ;
rdfs:domain nie:InformationElement ;
rdfs:range nie:InformationElement .
......
......@@ -19,7 +19,8 @@ nao:prefLabel a rdf:Property ;
nao:hasTag a rdf:Property ;
rdfs:domain rdfs:Resource ;
rdfs:range rdfs:Resource .
rdfs:range rdfs:Resource ;
tracker:indexed true .
nao:identifier a rdf:Property ;
nrl:maxCardinality 1 ;
......
......@@ -24,6 +24,7 @@ nco:Affiliation a rdfs:Class ;
nco:Contact a rdfs:Class ;
rdfs:label "Contact" ;
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 .
nco:ContactGroup a rdfs:Class ;
......@@ -50,6 +51,7 @@ nco:EmailAddress a rdfs:Class ;
nco:IMAccount a rdfs:Class ;
rdfs:label "IMAccount" ;
rdfs:comment "An account in an Instant Messaging system." ;
tracker:notify true ;
rdfs:subClassOf nco:ContactMedium .
nco:OrganizationContact a rdfs:Class ;
......@@ -60,6 +62,7 @@ nco:OrganizationContact a rdfs:Class ;
nco:PersonContact a rdfs:Class ;
rdfs:label "PersonContact" ;
rdfs:comment "A Contact that denotes a Person. A person can have multiple Affiliations." ;
tracker:notify true ;
rdfs:subClassOf nco:Contact .
nco:PhoneNumber a rdfs:Class ;
......
......@@ -262,13 +262,6 @@ nfo:count a rdf:Property ;
rdfs:domain nfo:Media ;
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 ;
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." ;
......@@ -287,7 +280,6 @@ nfo:sideChannels a rdf:Property ;
nfo:frameRate a rdf:Property ;
rdfs:label "frameRate" ;
rdfs:comment "Amount of video frames per second." ;
rdfs:subPropertyOf nfo:rate ;
nrl:maxCardinality 1 ;
rdfs:domain nfo:Video ;
rdfs:range xsd:double .
......@@ -667,7 +659,6 @@ nfo:isPasswordProtected a rdf:Property ;
nfo:sampleRate a rdf:Property ;
rdfs:label "sampleRate" ;
rdfs:comment "The amount of audio samples per second." ;
rdfs:subPropertyOf nfo:rate ;
nrl:maxCardinality 1 ;
rdfs:domain nfo:Audio ;
rdfs:range xsd:double .
......@@ -690,7 +681,6 @@ nfo:containsBookmark a rdf:Property ;
nfo:averageBitrate a rdf:Property ;
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:subPropertyOf nfo:rate ;
nrl:maxCardinality 1 ;
rdfs:domain nfo:Media ;
rdfs:range xsd:double .
......
......@@ -64,13 +64,6 @@ nmo:PermanentChannel a rdfs:Class ;
nmo:TransientChannel a rdfs:Class ;
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 ;
rdfs:subClassOf nmo:Message .
......@@ -234,17 +227,6 @@ nmo:duration a rdf:Property ;
rdfs:domain nmo:VOIPCall ;
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
nmo:accountName a rdf:Property ;
nrl:maxCardinality 1 ;
......@@ -279,7 +261,7 @@ nmo:folderName a rdf:Property ;
# FIXME Extension to nepomuk
nmo:status a rdf:Property ;
nrl:maxCardinality 1 ;
rdfs:domain nmo:Email , nmo:MailFolder , nmo:Mailbox ;
rdfs:domain nmo:Email ;
rdfs:range xsd:string .
# 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 .
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:dateTime a rdf:Property ;
rdfs:label "Time" ;
rdfs:comment "Date and time in UTC" ;
nrl:maxCardinality 1 ;
rdfs:domain scal:TimePoint ;
rdfs:range xsd:dateTime .
scal:TimeZone 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:range xsd:string .
#
# Access status
#
scal:AccessLevel a rdfs:Class ;
rdfs:label "Access level" ;
rdfs:comment "Access classification for a calendar item: public, private or confidential. Use the predefined instances in the ontology" .
scal:access-level-private a scal:AccessLevel .
scal:access-level-public a scal:AccessLevel .
scal:access-level-confidential a scal:AccessLevel .
scal:access a rdf:Property ;
rdfs:label "Access" ;
rdfs:comment "Access classification: public private..." ;
rdfs:domain scal:CalendarItem ;
rdfs:range scal:AccessLevel .
#
# Todo properties
#
scal:due a rdf:Property ;
rdfs:label "Due" ;
rdfs:comment "Due time for a task to be completed" ;
rdfs:domain scal:Todo ;
rdfs:range scal:TimePoint ;
nrl:maxCardinality 1 .
scal:completed a rdf:Property ;
rdfs:label "Completed" ;
rdfs:comment "Time when the task was completed" ;
rdfs:domain scal:Todo ;
rdfs:range scal:TimePoint ;
nrl:maxCardinality 1 .
scal:percentComplete a rdf:Property ;
rdfs:label "Percentage completed" ;
rdfs:comment "% of the task completed" ;
rdfs:domain scal:Todo ;
rdfs:range xsd:integer ;
nrl:maxCardinality 1 .
#
# 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:range 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:range scal:TimePoint .
scal:isAllDay 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:range xsd:boolean .
#
# General Calendar item properties
#
scal:priority a rdf:Property ;
rdfs:label "Priority" ;
rdfs:comment "Relative priority of th event" ;
nrl:maxCardinality 1 ;
rdfs:domain scal:CalendarItem ;
rdfs:range xsd:integer .
#
# 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 " ;