[this page is currently a parking lot for ideas around the use of RDF with the RIF; see the RDF compatibility page for the definition of RDF compatibility in the basic logic dialect]
This is a work-in-progress page for the architectural issues related to interoperability between RDF and RIF.
This page proposes ways to use RIF to exchange rules about RDF data. It is highly related to the section on Data Sets.
RIF distinguishes between two usage patterns of RDF in RIF:
- using RDF graphs and RDFS ontologies as background knowledge for RIF rules
- exchanging N3-like rules, which car rules with generalized RDF triples (i.e. RDF triples with variables) in the heads and bodies
We currently only address the first point
Using RDF(S) as background knowledge
RDF graphs and RDFS ontologies may be used as background knowledge for RIF rules. This means that the RIF rules apply to the data in RDF graphs, as well as additional information which may be inferred from the RDFS ontologies. Furthermore, the RDFS ontologies apply to conclusions drawn from RIF rules.
An RIF rule set refers to an RDF graph as a data set which has the RDF data model. Furthermore, this data set has a particular entailment regime associated with it (e.g. simple, RDF, RDFS). [This entailment regime could be an extension point for other languages such as OWL; it would be worthwhile to investigate the relationship with the notion of "entailment regime" in SPARQL.]
The reference to the RDF graph is part of the metadata of the RIF rule set.
- JB: For the issue of data set identification, we can use the named graph facility which was described in SPARQL, and have some kind of default behavior for unnamed graphs, again following SPARQL; however, the exact relationship with SPARQL requires further investigation. Related to the notion of named graphs, is the notion of scoping. I believe a notion of scoped inference was foreseen in the charter of RIF.
The following is an extension of the metadata vocabulary proposed in Data Sets:
rif:RDFDataModel rdf:subClassOf rif:DataModel . rif:rdfEntailmentRegime a rdf:Property ; rdfs:domain rif:RuleSet ; rdfs:range rif:RDFEntailmentRegime . rif:simpleEntailment a rif:RDFEntailmentRegime . rif:rdfEntailment a rif:RDFEntailmentRegime . rif:rdfsEntailment a rif:RDFEntailmentRegime .
- JB: we might want to check about the URIs used for the entailment regimes with other W3C working groups.