Feature: Control Of Inference
An implementation may offer inference either at run time or may hold precalculated inference results apart from the original data. In both cases, it will be relevant to specify what inferred triples will be considered in producing an evaluation of a query.
Virtuoso implements this by introducing a so-called inference context. Such a context specifies what subclasses, subproperties, IFP's and the like will be considered in evaluating a query. Either the whole query or a single triple pattern may be qualified with an inference context.
?x a yago:entity matches if ?x is a direct instance of yago:entity. ?x a yago:entity option (input:inference <yago>) matches if ?x is an instance of yago:entity or any subclass thereof, as specified in the inference context <yago>.
For a query wide declaration, the clause define input:inference <yago> may be added in the preface of the query, together with namespace prefixes.
Specifying what functionality including an inference context may imply is beyond the scope of the WG but specifying an interoperable syntax is useful. We propose using the pragma feature above for declaring this.
An implementation might be able to include a set of RIF rules, RDFS or OWL ontologies inside an inference context. Evaluating a query in such a context would evaluate it as if the entailed triples were present.
e.g. sample Query highlighting necessary syntax extensions, expected output, or modified/extended result format, endpoint self description mock-up syntax, etc.
List existing applications, if applicable (e.g. aggregates, we do not want a use case page for every implementation of aggregates, but all implementations listed per use case. Different syntax proposals can be listed as separate subsections in the Examples section)
Existing Specification / Documentation
List any existing text that attempts a formal definition of this extension. This could be a draft specification, API or syntax documentation, etc.
The proposed implementation is a partial case of a feature that will be upward-compatible with existing spec and implementations.
Links to postponed Issues
- Ivan Mikhailov / OpenLink
Non-trivial querying of B3S (Billion Triples Challenge data set) and any other big collection of data from different origin. As soon as data are of large scale and not perfectly clean, control of inference is critical.