Skip to content
  • Carlos Garnacho's avatar
    libtracker-data: Add "triples" virtual table · ab3c6d7e
    Carlos Garnacho authored
    This eponymous virtual table is able to decompose the full database
    in all its composing triples. This may be used to implement queries
    with predicate variables in a generic way, and finally support the
    kind of queries where we gave up (e.g. "select * { ?s ?p ?o }").
    
    Internally it works by using the TrackerOntologies in order to
    split the query into a set of queries for individual
    properties/columns, some optimizations happen when specific matches
    are given, and the SQLite engine does take care of the ones we don't
    optimize, sorting, etc...
    
    This virtual table will also be useful in the future when implementing
    CONSTRUCT/DESCRIBE commands.
    ab3c6d7e