From 92f2a8db81e4108b9a352c67685ff8c0db570e41 Mon Sep 17 00:00:00 2001 From: Enrico Franconi Date: Thu, 2 Oct 2025 15:29:18 +0200 Subject: [PATCH 1/2] Fixes correctness of Appendix A (from issue #139) --- spec/index.html | 54 ++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/spec/index.html b/spec/index.html index f3ed374..2c1e666 100644 --- a/spec/index.html +++ b/spec/index.html @@ -1814,10 +1814,34 @@

Entailment rules

ex:a rdfs:subPropertyOf _:b .
_:b rdfs:domain ex:c .
ex:d ex:a ex:e .
- ex:d _:b ex:c .
by rdfs7
+ ex:d _:b ex:e . by rdfs7
ex:d rdf:type ex:c . by rdfs2

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

+ +

+ The entailment pattern for generalized RDF with [=symmetric RDF triples=], + considering that, according to the semantics, the denotation of triple terms should + be of type rdfs:Proposition, is the following: +

+ + + + + + + + + + + + + + +
RDFS-T entailment pattern.
if S containsthen S RDFS entails
Grdfs14xxx rdf:type rdfs:Resource .
+ yyy rdf:type rdf:Property .
+ zzz rdf:type rdfs:Resource .
+
<<(xxx yyy zzz)>> rdf:type rdfs:Proposition .

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

@@ -1828,8 +1852,8 @@

Entailment rules

  • Add to S all the RDF (and RDFS) axiomatic triples which do not contain any container membership property IRI.
  • For each container membership property IRI which occurs in E, add the RDF (and RDFS) axiomatic triples which contain that IRI.
  • If no triples were added in step 2, add the RDF (and RDFS) axiomatic triples which contain rdf:_1.
  • -
  • For every IRI or literal aaa used in E, add aaa rdf:type rdfs:Resource to S.
  • -
  • Apply the rules GrdfD1, rdfD1a, and rdfD2 (and the rules rdfs1 through rdfs13), +
  • For every IRI or literal or triple term aaa used in E, add aaa rdf:type rdfs:Resource to S.
  • +
  • Apply the rules GrdfD1, Grdfs14, rdfD1a, and rdfD2 (and the rules rdfs1 through rdfs13), with D={rdf:langString, rdf:dirLangString, xsd:string}, to the set in all possible ways, to exhaustion.
  • @@ -1855,30 +1879,6 @@

    Entailment rules

    As noted earlier, detecting datatype entailment for larger sets of datatype IRIs requires attention to idiosyncratic properties of the particular datatypes.

    -

    - The entailment pattern for generalized RDF with [=symmetric RDF triples=], - considering that, according to the semantics, the denotation of triple terms should - be of type rdfs:Proposition, is the following: -

    - - - - - - - - - - - - - - -
    RDFS-T entailment pattern.
    if S containsthen S RDFS entails
    Grdfs14xxx rdf:type rdfs:Resource .
    - yyy rdf:type rdf:Property .
    - zzz rdf:type rdfs:Resource .
    -
    <<(xxx yyy zzz)>> rdf:type rdfs:Proposition .
    - From 09f18ce66800bb8700cac79ba0620f0c607255d2 Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Wed, 8 Oct 2025 13:42:57 -0400 Subject: [PATCH 2/2] fix problems in entailment closure --- spec/index.html | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/spec/index.html b/spec/index.html index 2c1e666..f1f9f3d 100644 --- a/spec/index.html +++ b/spec/index.html @@ -1829,14 +1829,13 @@

    Entailment rules

    - if S contains + any S then S RDFS entails Grdfs14 - xxx rdf:type rdfs:Resource .
    - yyy rdf:type rdf:Property .
    - zzz rdf:type rdfs:Resource .
    + if S contains yyy rdf:type rdf:Property .
    + and xxx and yyy appear in E <<(xxx yyy zzz)>> rdf:type rdfs:Proposition . @@ -1852,8 +1851,8 @@

    Entailment rules

  • Add to S all the RDF (and RDFS) axiomatic triples which do not contain any container membership property IRI.
  • For each container membership property IRI which occurs in E, add the RDF (and RDFS) axiomatic triples which contain that IRI.
  • If no triples were added in step 2, add the RDF (and RDFS) axiomatic triples which contain rdf:_1.
  • -
  • For every IRI or literal or triple term aaa used in E, add aaa rdf:type rdfs:Resource to S.
  • -
  • Apply the rules GrdfD1, Grdfs14, rdfD1a, and rdfD2 (and the rules rdfs1 through rdfs13), +
  • Apply the rule GrdfD1 (and rdfs1 and rdfs4) but using E instead of S in the antecedent.
  • +
  • Apply the rules GrdfD1, rdfD1a, and rdfD2 (and the rules rdfs1 through rdfs13 and Grdfs14), with D={rdf:langString, rdf:dirLangString, xsd:string}, to the set in all possible ways, to exhaustion.
  • @@ -1867,9 +1866,9 @@

    Entailment rules

    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 + will contain all RDF(S) tautologies which can be expressed using the vocabulary of the entailing and entailed graphs plus the RDF and RDFS vocabularies. - In practice there is little utility in re-deriving these, + In practice there is little utility in re-deriving these and a subset of the rules can be used to establish most entailments of practical interest.

    If it is important to stay within legal RDF syntax, rule rdfD1 may be used instead of GrdfD1,