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

Reply via email to