Skip to content
  • Carlos Garnacho's avatar
    libtracker-data: Use "tracker_triples" table in variable predicate queries · 5d186707
    Carlos Garnacho authored
    There were some special cases that were handled individually:
    - select * { <s> ?p ?o } was handled through querying the rdf:types of <s>,
      and performing an UNION of all related tables. This doesn't play along
      with parameterized variables where the subject might be a variable assigned
      later through the TrackerSparqlStatement.
    - select * { ?s ?p <o> } used similar tricks (querying <o> this time). It had
      all those drawbacks, plus it only worked for properties with rdfs:Resource
      range.
    - select * { ?s ?p ?o . ?p rdfs:domain <dom> } was handled specially.
    - select * { ?s ?p ?o } is unsupported
    - select * { <s> ?p <o> } was silently unhandled
    
    All those combinations are transparently handled with the tracker_triples
    virtual table now.
    5d186707