Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can generalized RDF triples easier show "the completeness of the RDFS entailment rules", and what does that even mean?

Tags:

rdf

rdfs

triples

The W3C Recommendation RDF 1.1 Concepts and Abstract Syntax defines what a generalized RDF triple is (i.e., a non-standard triple where each of subject/predicate/object can be a IRI/bnode/literal).

About its possible use, it gives this example:

It is sometimes convenient to loosen the requirements on RDF triples. For example, the completeness of the RDFS entailment rules is easier to show with a generalization of RDF triples.

What does "completeness of the RDFS entailment rules" mean? (Searching for "complete" or "entail" in the W3C Recommendation RDF Schema 1.1 doesn’t give any results.)

And in which way is this easier to show with generalized RDF triples than with normative RDF triples?

like image 547
unor Avatar asked Mar 07 '16 01:03

unor


1 Answers

These notions are explained and defined in detail in the RDF Semantics, specifically in the appendix about entailment rules.

Completeness, in this context, refers to completeness of doing entailment checking by computation of the deductive closure via entailment rules.

Suppose we have two RDF graphs (S and E), and S logically entails E, then the closure is complete if it can always derive E from S. In the appendix I mentioned above, it is shown that this is not always the case for RDF-entailment and RDFS-entailment: some triples are logically entailed which can not actually be derived by the entailment-checking strategy. It is also shown that if the notion of "generalized RDF" is added to the mix, the strategy is complete.

In other words, the reason the process is not complete is simply that some things which are true can not be derived, due to the syntactical restrictions on triples (literals can't be subjects, and blank nodes can't be predicates), which cause some of the entailment patterns to not apply, even though logically they should apply.

An example. Suppose we have this graph:

:p rdfs:subPropertyOf _:b .
_:b rdfs:domain :C .
:a :p :x .

Due to the semantics of rdfs:subPropertyOf and rdfs:domain, this graph logically entails (under RDFS semantics):

:a rdf:type :C .

However, this triple will not be entailed by applying the entailment rules as defined in section 9.2.1 - the reason being that it requires derivation (via rule rdfs7) of the intermediate result :a _:b :x, but the blank node _:b is not allowed in this position in 'normal' RDF.

Coming back to your original question, I find the phrasing "the completeness [...] is easier to show with a generalization" somewhat odd as arguably the entailment rules aren't complete, unless you allow for generalization.

like image 87
Jeen Broekstra Avatar answered Oct 01 '22 03:10

Jeen Broekstra