The function of an entailment module is to provide an implementation of rdf/3 that extends basic triple-lookup using the entailment rules of the semantic web sub language of RDF.
This entailment module does the part of RDFS that can be implemented efficiently using backward chaining. Notably it does not do type-reasoning on the basis of domains/ranges of properties. It does:
- Use the property hierarchy
- Define the serql special relations
- Handle rdfs:subClassOf as transitive
- Handle rdfs:subPropertyOf as transitive
- Handle rdf:type using subProperties and rdfs:subClassOf