You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Andy Seaborne <an...@apache.org> on 2021/05/09 09:16:32 UTC

Datasets and RDFS

This is a preview of work in the code base for Jena 4.1.0.

Give it (from development builds) and go and let me know how you get on.


This is a backwards chaining, fixed, RDFS engine that can be applied to 
a dataset. The same RDFS schema is applied to each graph in the dataset 
(including the union graph).

It supports the data inferences rdfs:subClassOf, rdfs:subPropertyOf, 
rdfs:range and rdfs:domain without axioms and without the schema visible 
in the data (unless app copies it in, even then conclusions from the 
schema are not included).

It is tested against this rules set for the Jena RDFS rules engine:

https://github.com/apache/jena/blob/main/jena-arq/testing/RDFS/rdfs-min.rules

by running those rules and removing 
subClassOf/subPropertyOf/range/domain/ triples.

The engine expands "find" calls. It has no data-related in-memory state 
and so should scale with the data and changes in the data are 
immediately effective. It processes the schema, building internal 
datastructures such as the subclass and subproperty hierarchy, but does 
not process data at start-up.

Configuration by assembler:

     ## RDFS
     :rdfsDataset rdf:type ja:DatasetRDFS ;
         ja:rdfsSchema <file:vocabulary.ttl>;
         ja:dataset :baseDataset;
         .

     ## Base data.
     :baseDataset rdf:type tdb2:DatasetTDB2 ;
         tdb2:location ...


This is not a replacement for the Jena RDFS Reasoner support which 
covers full RDFS inference.

Further documentation:
https://jena.apache.org/documentation/rdfs/


RDF-star: this engine works on asserted triples. It won't expand 
embedded ("quoted") triples.

     Andy