Man Linux: Main Page and Category List

NAME

       tracker-sparql - Use SparQL to query the Tracker databases.

SYNOPSIS

       tracker-sparql [OPTION...] [-q QUERY] | [-f FILE]

DESCRIPTION

       tracker-sparql  allows  the caller to run an RDF query on the database.
       This can be done two ways. Either by providing a FILE with the query or
       by providing a string with the QUERY string.

       The FILE argument can be either a local path or a URI. It also does not
       have to be an absolute path.

OPTIONS

       -?, --help
              Show summary of options.

       -f, --file=FILE
              Use a FILE with SPARQL content to query or update.

       -q, --query=SPARQL
              Use a SPARQL string to query the database with.

       -u, --update
              This has to be used with --query.  This tells tracker-sparql  to
              use  the SPARQL update extensions so it knows it isn't a regular
              data lookup request. So if your query is intended to change data
              in the database, this option is needed.

       -c, --list-classes
              Returns  a  list of classes which describe the ontology used for
              storing data. These  classes  are  also  used  in  queries.  For
              example, http://www.w3.org/2000/01/rdf-schema#Resource is one of
              many classes which should be returned here.

       -x, --list-class-prefixes
              Returns a list of classes and their related  prefixes.  Prefixes
              are  used  to  make  querying a lot simpler and are much like an
              alias.     For      example,      http://www.w3.org/2000/01/rdf-
              schema#Resource  has  the prefix rdfs so queries can be cut down
              to:

              "SELECT ?u WHERE { ?u a rdfs:Resource }"

       -p, --list-properties=CLASS
              Returns a list of properties which pertain to a class.  You  can
              use  both  formats  here  for  the  class,  either the full name
              http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Video
              or the shortened prefix name nfo:Video.

              This gives the following result:

              $ tracker-sparql -p nfo:Video

              Properties: 2
                http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#frameRate
                http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#frameCount

              These properties nfo:frameRate and nfo:frameCount can be used in
              more complex queries (see --query).

       -n, --list-notifies=CLASS
              Returns a list of classes which are notified  over  D-Bus  about
              any  changes  that occur in the database. CLASS does not have to
              be supplied here. This  is  optional  and  filters  the  results
              according  to  any argument supplied. With no CLASS, all classes
              are listed.

       -s, --search=TERM
              Returns a list of classes and properties which  partially  match
              TERM  in  the  ontology.  This  is a case insensitive match, for
              example:

              $ tracker-sparql -s text

              Classes: 4
                http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#TextDocument
                http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#PlainTextDocument
                http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#PaginatedTextDocument
                http://www.tracker-project.org/temp/nmm#SynchronizedText

              Properties: 5
                http://www.tracker-
              project.org/ontologies/tracker#fulltextIndexed
                http://www.tracker-
              project.org/ontologies/tracker#fulltextNoLimit
                http://www.semanticdesktop.org/ontologies/2007/01/19/nie#plainTextContent
                http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#plainTextMessageContent
                http://www.tracker-project.org/temp/scal#textLocation

       -V, --version
              Print version.

EXAMPLES

       List all classes

               $ tracker-sparql -q "SELECT ?cl WHERE { ?cl a rdfs:Class }"

       List all properties for the Resources class (see --list-properties)

               $ tracker-sparql -q "SELECT ?prop WHERE {
                    ?prop a rdf:Property ;
                    rdfs:domain                <http://www.w3.org/2000/01/rdf-
              schema#Resource>
               }"

       List all class namespace prefixes

               $ tracker-sparql -q "SELECT ?prefix ?ns WHERE {
                    ?ns a tracker:Namespace ;
                    tracker:prefix ?prefix
               }"

       List all music files

                $  tracker-sparql  -q  "SELECT   ?song   WHERE   {   ?song   a
              nmm:MusicPiece }"

       List all music albums

               $ tracker-sparql -q "SELECT ?album ?title COUNT(?song)
                                   AS songs
                                   SUM(?length) AS totallength
                                   WHERE {
                    ?album a nmm:MusicAlbum ;
                    nie:title ?title .
                    ?song nmm:musicAlbum ?album ;
                    nfo:duration ?length
               } GROUP BY ?album"

       List all music from a particular artist

               $ tracker-sparql -q "SELECT ?song ?title WHERE {
                    ?song nmm:performer [ nmm:artistName 'Artist Name' ] ;
                    nie:title ?title
               }"

       Set the played count for a song

               $ tracker-sparql -u -q "DELETE {
                    <file:///home/user/Music/song.mp3> nie:usageCounter ?count
               } WHERE {
                    <file:///home/user/Music/song.mp3> nie:usageCounter ?count
               } INSERT {
                    <file:///home/user/Music/song.mp3> nie:usageCounter 42
               }"

       List all image files

                $  tracker-sparql -q "SELECT ?image WHERE { ?image a nfo:Image
              }"

       List all image files with a specific tag

               $ tracker-sparql -q "SELECT ?image WHERE {
                    ?image a nfo:Image ;
                    nao:hasTag [ nao:prefLabel 'tag' ]
               }"

       List all image files created on a specific month and order by date

               $ tracker-sparql -q "SELECT ?image ?date WHERE {
                    ?image a nfo:Image ;
                    nie:contentCreated ?date .
                    FILTER (?date >= '2008-07-01T00:00:00' &&
                            ?date <  '2008-08-01T00:00:00')
               } ORDER BY ?date"

SEE ALSO

       tracker-store(1), tracker-info(1).

       http://nepomuk.semanticdesktop.org/

       http://www.w3.org/TR/rdf-sparql-query/