Linked data depends on simple access patterns in which a GET of a resource will return a (machine readable) representation of that resource as RDF. In our next release, we plan to add several features to support linked data applications, including:
- VoID support [2].
- Several new DESCRIBE algorithms
- A linked data cache to accelerate DESCRIBE queries
As part of our commitment to linked data, we have added support for several DESCRIBE algorithms in the development branch. This feature will be available in 1.2.3 (was 1.2.2). Those algorithms include:
- ForwardOneStep – The DESCRIBE is just the attributes and forward links.
- SymmetricOneStep – The DESCRIBE is the attributes, the forward links, and the reverse links. This is the historical behavior for bigdata.
- CBD – The DESCRIBE is the Concise Bounded Description as defined by [1]
- SCBD – The DESCRIBE is the Symmetric Concise Bounded Description, as defined by [1].
The default behavior is SymmetricOneStep, which is what bigdata has always implemented. You can now override this default when the KB is configured. For example, the following property will make Symmetric Concise Bounded Description the default DESCRIBE algorithm for a KB:
com.bigdata.rdf.sail.describeMode=SCBD
You can also specify the DESCRIBE algorithm as a query hint:
DESCRIBE <http://example.com/aReallyGreatBook> { hint:Query hint:describeMode "SCBD" }
The advantage of Symmetric Concise Bounded Description over the SymmetricOneStep is that blank nodes are always expanded to include their representation. This is an important advantage in a Linked Data world because you can not query a blank node using SPARQL.
We’ll post again once we have the DESCRIBE cache running. This will be a tremendous performance boost for linked data applications. The cache will maintain descriptions so you only pay the cost for the DESCRIBE query once, and it is integrated with the change log listener so cache entries are invalidated automatically as the data set is updated.
A LinkedData wiki page has been added to document the emerging linked data features.
[1] Concise Bounded Description
[2] Describing Linked Datasets with the VoID Vocabulary