A RDF store is basically a four column database so and implementation can automatically construct the necessary indexes to be able to Service any simple scan i.e. Basic graph pattern. Efficient answering of queries can be done by having a sufficiently smart optimiser and using precomputed statistics about the data to perform the index scans and joins in the most efficient order.
This is very different from the relational databases which have to deal with arbitrarily structured tables and which typically only index on the primary and foreign keys of tables by default. Therefore in the relational world it is common to define your own custom indexes based on how your application accesses the data e.g. A persons name is unlikely to be a primary key but is often used to search the database. In the RDF world it may still be useful to create secondary indexes as others have noted for certain kinds of specialised search that cannot be officially expressed in SPARQL. On 11/04/2017 18:30, "Laura Morales" <[email protected]> wrote: But is Jena (or any RDF store for what matters) expected to perform well even if I don't explicitly add any index? > You 'can' create text-indexes for selected properties of your data for > text search with a much better performance: > > https://jena.apache.org/documentation/query/text-query.html
