From f2f3916be19a916c0f998ce4a442003597bfc628 Mon Sep 17 00:00:00 2001
From: Dominik Tomaszuk A ground RDF graph is one that contains no blank nodes. Suppose that M is a functional mapping from a set of blank
nodes to some set of literals, blank nodes and IRIs. Any graph obtained
- from a graph G by replacing some or all of the blank nodes N in G by M(N) is
- an instance of G. Any graph is an instance of itself,
- an instance of an instance of G is an instance of G,
- and if H is an instance of G then every triple in H is an instance of at least one triple
- in G.
+ from a graph G by replacing some or all of the blank nodes N in G by M(N) is
+ an instance of G. Any graph is an instance of itself,
+ an instance of an instance of G is an instance of G,
+ and if H is an instance of G then every triple in H is an instance of at least one triple
+ in G.
An instance with respect to a vocabulary
V is an instance in which all the
@@ -494,7 +494,7 @@ Notation and Terminology
Definition of a Simple Interpretation
from its set-theoretic extension.
A similar technique is used in the ISO/IEC Common Logic standard [[?ISO24707]].
The referent of a ground RDF graph in a simple interpretation I is then given by the following rules, +
The referent of a ground RDF graph in a simple interpretation I is then given by the following rules, where the interpretation is also treated as a function from expressions (names, triples and graphs) to elements of the universe and truth values:
If IL(E) is undefined for some literal E then E has no semantic value, +
If IL(E) is undefined for some literal E then E has no semantic value, so any triple containing it will be false, so any graph containing that triple will also be false.
@@ -537,7 +537,7 @@Suppose I is a simple interpretation and A is a mapping from a set of blank nodes +
Suppose I is a simple interpretation and A is a mapping from a set of blank nodes to the universe IR of I. Define the mapping [I+A] to be I on names, and A on blank nodes on the set: [I+A](x)=I(x) when x is a name @@ -564,8 +564,8 @@
The semantics for blank nodes are stated in terms of the truth of a graph. However, when two (or more) graphs share a blank node, their meaning is not fully captured by treating them in isolation. For example, consider the overlapping graphs
- and a simple interpretation I over the universe {Alice, Bob, Monica, Ruth} with:
- I(ex:Alice
)=Alice, I(ex:Bob
)=Bob, IEXT(I(ex:hasChild
))={<Alice,Monica>,<Bob,Ruth> }
+
and a simple interpretation I over the universe {Alice, Bob, Monica, Ruth} with:
+ I(ex:Alice
)=Alice, I(ex:Bob
)=Bob, IEXT(I(ex:hasChild
))={<Alice,Monica>,<Bob,Ruth> }
Each of the inner graphs is true under this interpretation, but the two of them together is not, @@ -598,8 +598,8 @@
The following interpolation lemma
-G simply entails a graph E if and only if a subgraph of G is an instance of E.
+G simply entails a graph E if and only if a subgraph of G is an instance of E.
completely characterizes simple entailment in syntactic terms. To detect whether one RDF graph simply entails another, check that there is some instance of the entailed graph which is a subset of the first graph. @@ -679,8 +679,8 @@
Interpolation has a number of direct consequences, for example:
@@ -698,22 +698,22 @@
If - E is a lean graph and E' is a proper instance of E, then E does + E is a lean graph and E' is a proper instance of E, then E does not simply entail E'.
- If S is a subgraph of S' and S simply entails E, then S' simply entails E. + If S is a subgraph of S' and S simply entails E, then S' simply entails E.
- If S entails a finite graph E, then some finite subset S' of S entails E. + If S entails a finite graph E, then some finite subset S' of S entails E.
The property just above is called compactness - RDF is compact. As RDF graphs can be infinite, this is sometimes important.
-If E contains an IRI which does not occur anywhere in S, - then S does not simply entail E. +
If E contains an IRI which does not occur anywhere in S, + then S does not simply entail E.
@@ -726,19 +726,19 @@Suppose G is a graph containing blank nodes and sk is a skolemization mapping - from the blank nodes in G to the skolem IRIs which are substituted for them, - so that sk(G) is a skolemization of G. +
Suppose G is a graph containing blank nodes and sk is a skolemization mapping + from the blank nodes in G to the skolem IRIs which are substituted for them, + so that sk(G) is a skolemization of G. Then the semantic relationship between them can be summarized as follows.
-sk(G) simply entails G (since sk(G) is an instance of G.)
-G does not simply entail sk(G) (since sk(G) contains IRIs not in G.)
-For any graph H, if sk(G) simply entails H then there is a graph H' such that G entails H' and H=sk(H') .
-For any graph H which does not contain any of the "new" IRIs introduced into sk(G), - sk(G) simply entails H if and only if G simply entails H. +
sk(G) simply entails G (since sk(G) is an instance of G.)
+G does not simply entail sk(G) (since sk(G) contains IRIs not in G.)
+For any graph H, if sk(G) simply entails H then there is a graph H' such that G entails H' and H=sk(H').
+For any graph H which does not contain any of the "new" IRIs introduced into sk(G), + sk(G) simply entails H if and only if G simply entails H.
The second property means that a graph is not logically equivalent to its skolemization. - Nevertheless, they are in a strong sense almost interchangeable, as shown the next two properties. The third property means that even when conclusions are drawn from the skolemized graph which do contain the new vocabulary, these will exactly mirror what could have been derived from the original graph with the original blank nodes in place. The replacement of blank nodes by IRIs does not effectively alter what can be validly derived from the graph, other than by giving new names to what were formerly anonymous entities. The fourth property, which is a consequence of the third, clearly shows that in some sense a skolemization of G can "stand in for" G as far as entailments are concerned. Using sk(G) instead of G will not affect any entailments which do not involve the new skolem vocabulary. + Nevertheless, they are in a strong sense almost interchangeable, as shown the next two properties. The third property means that even when conclusions are drawn from the skolemized graph which do contain the new vocabulary, these will exactly mirror what could have been derived from the original graph with the original blank nodes in place. The replacement of blank nodes by IRIs does not effectively alter what can be validly derived from the graph, other than by giving new names to what were formerly anonymous entities. The fourth property, which is a consequence of the third, clearly shows that in some sense a skolemization of G can "stand in for" G as far as entailments are concerned. Using sk(G) instead of G will not affect any entailments which do not involve the new skolem vocabulary.
A graph is (simply) D-satisfiable or satisfiable recognizing D when it has the value true - in some D-interpretation, and a graph S (simply) D-entails or - entails recognizing D a graph G when every D-interpretation which - satisfies S also D-satisfies G. + in some D-interpretation, and a graph S (simply) D-entails or + entails recognizing D a graph G when every D-interpretation which + satisfies S also D-satisfies G.
Unlike the case with simple interpretations, it is possible for a graph to have no satisfying D-interpretations @@ -898,9 +898,9 @@
In all of this language, 'D' is being used as a parameter to represent some set of datatype IRIs, and different D sets will yield different notions of satisfiability and entailment. The more datatypes are recognized, the stronger is the entailment, - so that if D ⊂ E and S E-entails G then S must D-entail G. + so that if D ⊂ E and S E-entails G then S must D-entail G. Simple entailment is { }-entailment, i.e. D-entailment when D is the empty set, - so if S D-entails G then S simply entails G. + so if S D-entails G then S simply entails G.
S RDF entails E recognizing D +
S RDF entails E recognizing D
when every RDF interpretation recognizing D which satisfies
- S also satisfies E. When D is {rdf:langString
, xsd:string
}
- then we simply say S RDF entails E.
- E is RDF unsatisfiable (recognizing D)
+ S also satisfies E. When D is {rdf:langString
, xsd:string
}
+ then we simply say S RDF entails E.
+ E is RDF unsatisfiable (recognizing D)
when it has no satisfying RDF interpretation (recognizing D).
The properties of simple entailment described earlier do not all apply to RDF entailment. @@ -1014,8 +1014,8 @@
In the 2004 RDF 1.0 semantics, LV was defined as part of a simple interpretation structure, and the definition given here was a constraint.
-Since I is an RDF interpretation, the first condition implies that IP
- = ICEXT(I(rdf:Property
)).
+
Since I is an RDF interpretation, the first condition implies that IP
+ = ICEXT(I(rdf:Property
)).
The semantic conditions on RDF interpretations, together with the RDFS conditions on ICEXT, mean that every recognized datatype @@ -1305,11 +1305,11 @@
S RDFS entails E recognizing D when every RDFS interpretation recognizing D - which satisfies S also satisfies E. +
S RDFS entails E recognizing D when every RDFS interpretation recognizing D + which satisfies S also satisfies E.
Since every RDFS interpretation is an RDF interpretation, - if S RDFS entails E then S also RDF entails E; + if S RDFS entails E then S also RDF entails E; but RDFS entailment is stronger than RDF entailment. Even the empty graph has a large number of RDFS entailments which are not RDF entailments, for example all triples of the form @@ -1326,8 +1326,8 @@
The RDF and RDFS entailment patterns listed in the above tables can be viewed as left-to-right rules which add the entailed conclusion to a graph. - These rule sets can be used to check RDF (or RDFS) entailment between graphs S and E, + These rule sets can be used to check RDF (or RDFS) entailment between graphs S and E, by the following sequence of operations:
rdf:_1, rdf:_2, ...
rdf:_1, rdf:_2, ...
aaa
used in E, add aaa rdf:type rdfs:Resource
to S.This process is clearly correct, in that if it gives a positive result then indeed S does RDF (RDFS) entail E. - It is not, however, complete: there are cases of S entailing E which are not detectable by this process. Examples include: +
This process is clearly correct, in that if it gives a positive result then indeed S does RDF (RDFS) entail E. + It is not, however, complete: there are cases of S entailing E which are not detectable by this process. Examples include:
- | if S contains | -then S RDF entails, recognizing D | +if S contains | +then S RDF entails, recognizing D |
---|---|---|---|---|
GrdfD1 | @@ -1556,11 +1556,11 @@