From f2f3916be19a916c0f998ce4a442003597bfc628 Mon Sep 17 00:00:00 2001 From: Dominik Tomaszuk Date: Fri, 1 Nov 2024 14:39:13 +0100 Subject: [PATCH] Update index.html em elements --- spec/index.html | 208 ++++++++++++++++++++++++------------------------ 1 file changed, 104 insertions(+), 104 deletions(-) diff --git a/spec/index.html b/spec/index.html index 1e03008..9cb390b 100644 --- a/spec/index.html +++ b/spec/index.html @@ -330,11 +330,11 @@

Notation and Terminology

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 @@

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:

@@ -515,7 +515,7 @@
Semantic Conditions for Ground Graphs

-

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 @@

Blank nodes

without using an IRI to identify any particular thing. This is not the same as assuming that the blank node indicates an 'unknown' IRI.

-

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 @@

Semantic Condition for Blank Nodes

Shared blank nodes (Informative)

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

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 @@

Simple Entailment

when a simple interpretation exists which satisfies it, otherwise (simply) unsatisfiable, and that a graph G simply entails - a graph E when every interpretation which satisfies G also satisfies E. - If two graphs E and F each entail the other then they are logically equivalent. + a graph E when every interpretation which satisfies G also satisfies E. + If two graphs E and F each entail the other then they are logically equivalent. If there are no (simple) interpretations that satisfy a graph then that graph is inconsistent.

@@ -670,7 +670,7 @@

Properties of simple entailment (Informative)

For example, a graph containing an ill-typed literal is D-unsatisfiable.

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 @@

Properties of simple entailment (Informative)

since one can encode the NP-hard subgraph problem (detecting whether one mathematical graph is a subgraph of another) as detecting simple entailment between RDF graphs. This construction (due to Jeremy Carroll) uses graphs all of whose nodes are blank nodes. - The complexity of checking simple entailment is reduced by having fewer blank nodes in the conclusion E. - When E is a ground graph, it is simply a matter of checking the subset relationship on sets of triples. + The complexity of checking simple entailment is reduced by having fewer blank nodes in the conclusion E. + When E is a ground graph, it is simply a matter of checking the subset relationship on sets of triples.

Interpolation has a number of direct consequences, for example:

@@ -698,22 +698,22 @@

Properties of simple entailment (Informative)

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 @@

Skolemization (Informative)

See Section 3.5 of [[!RDF12-CONCEPTS]] for a fuller discussion.

-

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.

@@ -878,9 +878,9 @@
Semantic Conditions for Literals

Datatype entailment

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 @@

Datatype entailment

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.

Patterns of datatype entailment (Informative)

@@ -995,11 +995,11 @@
RDF Axioms

RDF entailment

-

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 @@

Patterns of RDF entailment (Informative)

- if S contains - then S RDF entails, recognizing D + if S contains + then S RDF entails, recognizing D rdfD1 @@ -1041,7 +1041,7 @@

Patterns of RDF entailment (Informative)

any S - then S RDF entails, recognizing D + then S RDF entails, recognizing D rdfD1a @@ -1055,8 +1055,8 @@

Patterns of RDF entailment (Informative)

- if S contains - then S RDF entails, recognizing D + if S contains + then S RDF entails, recognizing D rdfD2 @@ -1229,8 +1229,8 @@
RDFS Axiomatic Triples

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 @@

A note on rdfs:Literal (Informative)

RDFS entailment

-

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 @@

Patterns of RDFS entailment (Informative)

- If S contains: - then S RDFS entails recognizing D: + If S contains: + then S RDFS entails recognizing D: rdfs1 @@ -1470,18 +1470,18 @@

Entailment rules (Informative)

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:

    -
  1. Add to S all the RDF (or RDF and RDFS) axiomatic triples except those containing the container membership property IRIs rdf:_1, rdf:_2, ...
  2. +
  3. Add to S all the RDF (or RDF and RDFS) axiomatic triples except those containing the container membership property IRIs rdf:_1, rdf:_2, ...
  4. For every container membership property IRI which occurs in E, add the RDF (or RDF and RDFS) axiomatic triples which contain that IRI.
  5. For every IRI aaa used in E, add aaa rdf:type rdfs:Resource to S.
  6. Apply the RDF (or RDF and RDFS) inference patterns as rules, adding each conclusion to the graph, to exhaustion; that is, until they generate no new triples.
  7. -
  8. Determine if E has an instance which is a subset of the set, i.e., whether the enlarged set simply entails E.
  9. +
  10. Determine if E has an instance which is a subset of the set, i.e., whether the enlarged set simply entails E.
-

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:

@@ -1529,8 +1529,8 @@

Entailment rules (Informative)

- - + + @@ -1556,11 +1556,11 @@

Entailment rules (Informative)

Where the entailment patterns have been applied to generalized RDF syntax but yield a final conclusion which is legal RDF.

With the generalized syntax, these rules are complete for both RDF and RDFS entailment. Stated exactly:

-

Let S and E be RDF graphs. Define the generalized RDF (RDFS) closure of S towards E +

Let S and E be RDF graphs. Define the generalized RDF (RDFS) closure of S towards E to be the set obtained by the following procedure.

    -
  1. Add to S all the RDF (and RDFS) axiomatic triples which do not contain any container membership property IRI.
  2. +
  3. Add to S all the RDF (and RDFS) axiomatic triples which do not contain any container membership property IRI.
  4. For each container membership property IRI which occurs in E, add the RDF (and RDFS) axiomatic triples which contain that IRI.
  5. If no triples were added in step 2, add the RDF (and RDFS) axiomatic triples which contain rdf:_1.
  6. For every IRI or literal aaa used in E, add aaa rdf:type rdfs:Resource to S.
  7. @@ -1569,11 +1569,11 @@

    Entailment rules (Informative)

Then we have the completeness result:

-

If S is RDF (RDFS) consistent, then S RDF entails (RDFS entails) E just - when the generalized RDF (RDFS) closure of S towards E simply entails E. +

If S is RDF (RDFS) consistent, then S RDF entails (RDFS entails) E just + when the generalized RDF (RDFS) closure of S towards E simply entails E.

The closures are finite. The generation process is decidable and of polynomial complexity. - Detecting simple entailment is NP-complete in general, but of low polynomial order when E contains no blank nodes. + Detecting simple entailment is NP-complete in general, but of low polynomial order when E contains no blank nodes.

Every RDF(S) closure, even starting with the empty graph, will contain all RDF(S) tautologies which can be expressed using the vocabulary of the original graph @@ -1604,12 +1604,12 @@

Finite interpretations

whose universes are at most as big as the number of names and blank nodes in the graphs. More formally, we can define a pre-interpretation over a vocabulary V to be a structure I similar to a simple interpretation but with a mapping only from V to its universe IR. - Then when determining whether G entails E, consider only pre-interpretations over the finite vocabulary - of names actually used in G union E. The universe of such a pre-interpretation can be restricted to the cardinality N+B+1, where N is the size of the vocabulary and B is the number of blank nodes in the graphs. Any such pre-interpretation may be extended to simple interpretations, all of which will give the same truth values for any triples in G or E. Satisfiability, entailment and so on can then be defined with respect to these finite pre-interpretations, and shown to be identical to the ideas defined in the body of the specification. + Then when determining whether G entails E, consider only pre-interpretations over the finite vocabulary + of names actually used in G union E. The universe of such a pre-interpretation can be restricted to the cardinality N+B+1, where N is the size of the vocabulary and B is the number of blank nodes in the graphs. Any such pre-interpretation may be extended to simple interpretations, all of which will give the same truth values for any triples in G or E. Satisfiability, entailment and so on can then be defined with respect to these finite pre-interpretations, and shown to be identical to the ideas defined in the body of the specification.

When considering D-entailment, pre-interpretations may be kept finite - by weakening the semantic conditions for literals so that IR needs to contain literal values - only for literals which actually occur in G or E, and the size of the universe restricted to (N+B)×(D+1), + by weakening the semantic conditions for literals so that IR needs to contain literal values + only for literals which actually occur in G or E, and the size of the universe restricted to (N+B)×(D+1), where D is the number of recognized datatypes. (A tighter bound is possible.) For RDF entailment, only the finite part of the RDF vocabulary which includes those container membership properties @@ -1634,65 +1634,65 @@

Proofs of some results (Informative)

The empty graph is true in all simple interpretations, so is entailed by any graph. - If G contains a triple <a b c>, then any simple interpretation I with IEXT(I(b))={ } makes G false; - so the empty graph does not entail G. QED. + If G contains a triple <a b c>, then any simple interpretation I with IEXT(I(b))={ } makes G false; + so the empty graph does not entail G. QED.

A graph simply entails all its subgraphs.

-

If I satisfies G then it satisfies every triple in G, hence every triple in any subset of G. QED.

+

If I satisfies G then it satisfies every triple in G, hence every triple in any subset of G. QED.

A graph is simply entailed by any of its instances.

-

Suppose H is an instance of G with the instantiation mapping M, and that I satisfies H. - For blank nodes n in G which are not in H define A(n)=I(M(n)); then I+A satisfies G, so I satisfies G. QED. +

Suppose H is an instance of G with the instantiation mapping M, and that I satisfies H. + For blank nodes n in G which are not in H define A(n)=I(M(n)); then I+A satisfies G, so I satisfies G. QED.

Every graph is simply satisfiable.

-

Consider the simple interpretation with universe {x}, IEXT(x)= <x,x > and I(aaa)=x for any IRI aaa. This interpretation satisfies every RDF graph. QED.

+

Consider the simple interpretation with universe {x}, IEXT(x)= <x,x > and I(aaa)=x for any IRI aaa. This interpretation satisfies every RDF graph. QED.

- G simply entails a graph E if and only if a subgraph of G is an instance of E. -

-

If a subgraph E' of G is an instance of E then G entails E' which entails E, - so G entails E. Now suppose G entails E, and consider the - Herbrand interpretation I of G defined as follows. - IR contains the names and blank nodes which occur in the graph, with I(n)=n - for each name n; n is in IP and <a, b> in IEXT(n) just when the triple <a n b> is in the graph. - (For IRIs which do not occur in the graph, assign them values in IR at random.) - I satisfies every triple <s p o> in E; that is, - for some mapping A from the blank nodes of E to the vocabulary of G, - the triple <[I+A](s) I(p) [I+A](o)> occurs in G. But this is an instance of <s p o> - under the instance mapping A; so an instance of E is a subgraph of G. QED. -

-

if E is lean and E' is a proper instance of E, then E does not simply entail E'.

-

Suppose E entails E', then a subgraph of E is an instance of E', which is a proper instance of E; - so a subgraph of E is a proper instance of E, so E is not lean. QED. -

-

If E contains an IRI which does not occur in S, then S does not simply entail E.

-

IF S entails E then a subgraph of S is an instance of E, - so every IRI in E must occur in that subgraph, - so must occur in S. QED. -

-

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'). + G simply entails a graph E if and only if a subgraph of G is an instance of E. +

+

If a subgraph E' of G is an instance of E then G entails E' which entails E, + so G entails E. Now suppose G entails E, and consider the + Herbrand interpretation I of G defined as follows. + IR contains the names and blank nodes which occur in the graph, with I(n)=n + for each name n; n is in IP and <a, b> in IEXT(n) just when the triple <a n b> is in the graph. + (For IRIs which do not occur in the graph, assign them values in IR at random.) + I satisfies every triple <s p o> in E; that is, + for some mapping A from the blank nodes of E to the vocabulary of G, + the triple <[I+A](s) I(p) [I+A](o)> occurs in G. But this is an instance of <s p o> + under the instance mapping A; so an instance of E is a subgraph of G. QED. +

+

if E is lean and E' is a proper instance of E, then E does not simply entail E'.

+

Suppose E entails E', then a subgraph of E is an instance of E', which is a proper instance of E; + so a subgraph of E is a proper instance of E, so E is not lean. QED. +

+

If E contains an IRI which does not occur in S, then S does not simply entail E.

+

IF S entails E then a subgraph of S is an instance of E, + so every IRI in E must occur in that subgraph, + so must occur in S. QED. +

+

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').

The skolemization mapping sk substitutes a unique new IRI for each blank node, so it is 1:1, so has an inverse. Define ks to be the inverse mapping which replaces each skolem IRI by the blank node it replaced. - Since sk(G) entails H, a subgraph of sk(G) is an instance of H, + Since sk(G) entails H, a subgraph of sk(G) is an instance of H, say A(H) for some instance mapping A on the blank nodes in H. - Then ks(A(H)) is a subgraph of G; and ks(A(H))=A(ks(H)) since + Then ks(A(H)) is a subgraph of G; and ks(A(H))=A(ks(H)) since the domains of A and ks are disjoint. - So ks(H) has an instance which is a subgraph of G, - so is entailed by G; and H=sk(ks(H)). QED. + So ks(H) has an instance which is a subgraph of G, + so is entailed by G; and H=sk(ks(H)). QED.

-

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. +

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.

-

Using the terminology in the previous proof: if H does not contain any skolem IRIs, then H=ks(H). - So if sk(G) entails H then G entails ks(H)=H; and if G entails H then sk(G) entails G entails H, so sk(G) entails H. QED. +

Using the terminology in the previous proof: if H does not contain any skolem IRIs, then H=ks(H). + So if sk(G) entails H then G entails ks(H)=H; and if G entails H then sk(G) entails G entails H, so sk(G) entails H. QED.

if S containsthen S RDF entails, recognizing Dif S containsthen S RDF entails, recognizing D
GrdfD1