[Sem] alternative semantics

A couple of weeks ago I spent some time coming up with alternative semantics 
for quoted triples, borrowing freely from the RDF 1.1 semantics, the community 
group semantics, and semantics proposals from Enrico, Antoine, and 
Pierre-Antoine.  I've done some fixes in the last couple of weeks and added a 
few examples of entailment and non-entailments and it is now time to inflict 
the various semantics on the group.


The first alternative semantics (pfps1) stays close in exposition to the RDF 
1.1 semantics.  It has some similarities to Enrico's opaque semantics but has 
transparency for blank nodes (but different from the CG semantics).  The basic 
idea in this semantics is to map quoted triples to 3-tuples of resources where 
each element of the tuple carries the meaning of the corresponding component 
of the triple.  Instead of using explicit mappings from IRIs and literals to 
strings this semantics adds unspecified mappings that allow syntactic meaning 
and semantic meaning to diverge and thereby provide opacity.

The set of RDF triples is the smallest set of 3-tuples S P O where
S is a IRI, a blank node, or an RDF triple;
P is an IRI; and
O is an IRI, a blank node, a literal, or an RDF triple.
An RDF graph G is a set of RDF triples.

A simple interpretation I = < IR, IP, IEXT, IS, IL, ISQ, ILQ, IT > consists of
1. A non-empty set IR of resources, called the domain or universe of I.
2. A set IP, called the set of properties of I.
3. A mapping IEXT from IP into the powerset of IR x IR, i.e., the set of sets 
of pairs < x, y > with x and y in IR,
    such that IEXT(IS(owl:sameAs)) is the identity mapping over IR.
4. A mapping IS from IRIs into (IR union IP).
5. A partial mapping IL from literals into IR.
6. A mapping ISQ from IRIs into IR.  This is the opaque (or syntactic) mapping 
for IRIs.
7. A mapping ILQ from literals into IR.   This is the opaque (or syntactic) 
mapping for literals.
8. A mapping IT from (IR union IP) x IP x (IR union IP) into IR.   This 
provides meaning for quoted triples.

Given a (simple) interpretation I define IQ(E) (quoted interpretation) as
if E is an IRI then IQ(E) = ISQ(E),
if E is a literal then IQ(E) = ILQ(E),
if E is a triple s p o . then IQ(E) = IT(IQ(s), IQ(p), IQ(o)).

Given a (simple) interpretation I define IA(E) (asserted interpretation) as
if E is an IRI then IA(E) = IS(E),
if E is a literal then IA(E) = IL(E),
if E is a triple s p o. then IA(E) = IT(IQ(s), IQ(p), IQ(o)).

In a (simple) interpretation I extend I to a truth mapping for ground triples 
and ground graphs.
For E a ground triple s p o. define I(E) = true if IS(p) is in IP and the pair 
<IA(s),IA(o)> is in IEXT(IS(p)) otherwise I(E) = false.
For E a ground RDF graph define I(E) = false if I(E') = false for some triple 
E' in E, otherwise I(E) = true.

Adding blank nodes:
Given an interpretation I let A be a mapping from a set of blank nodes to IR.
Define [I*A](E) to be A(E) on blank nodes,
        <[I*A](S), [I*A](P), [I*A](O)> on triples of the form S P O. ,
        and IA(E) otherwise.
For E a triple s p o. define [I+A](E) = true if IS(p) is in IP and the pair 
<[I*A](s),[I*A](o)> is in IEXT(IS(p)) otherwise [I+A](E) = false.
For E an RDF graph define [I+A](E) = false if [I+A](E') = false for some 
triple E' in E, otherwise I(E) = true.
For E an RDF graph define I(E) = true if [I+A](E) = true for some mapping A 
from the set of blank nodes in E to IR,
otherwise I(E) = false.

To make literals transparent (+L) just add the condition
ILQ(E) = IL(E)
To make IRIs transparent (+I) just add the condition
ISQ(E) = IS(E)


The second alternative semantics (pfps2) supports a partition of properties 
that determine whether their subject and object are interpreted syntactically 
or semantically.

The set of RDF triples is as above.

A simple interpretation I = < IR, IP, IEXT, IS, IL, ISQ, ILQ, IT > is as 
above, with a disjoint partition of IP into IPS and IPQ and two extra 
conditions (so that RDF graphs can force properties into IPS or IPQ):
9. IPS = { x : < x, IS(rdf:SemanticProperty) > in IEXT(IS(rdf:type)) }
10. IPQ = { x : < x, IS(rdf:SyntacticProperty) > in IEXT(IS(rdf:type)) }

Define IQ and ISQ and above

Given a (simple) interpretation I define ISS(E) as
if E is an IRI then ISS(E) = IS(E),
if E is a literal then ISS(E) = IL(E),
if E is a triple s p o. then ISS(E) = IT(ISS(s), ISS(p), ISS(o)).

In a (simple) interpretation I extend I to a truth mapping for ground triples 
and ground graphs.
For E a ground triple s p o. define I(E) as
   I(E) = true if I(p) in IPS and <ISS(s),ISS(o)> is in IEXT(IS(p))
   I(E) = true if I(p) in IPQ and <ISQ(s),ISQ(o)> is in IEXT(IS(p))
   I(E) = false otherwise.
For E an RDF graph define I(E) = false if I(E') = false for some triple E' in 
E, otherwise I(E) =true.

Handle blank nodes as above.



The third alternative semantics (pfps3) is a variation on the first 
alternative semantics where 3-tuples are members of the domain.  This makes 
the connection between quoted triples and facts more explicit.  To further 
this connection, IEXT is modified from a map to a set of 3-tuples.   This 
semantics is not the same as the first but the difference should not be 
visible in RDF or RDFS.

The set of RDF triples is as above.

A simple interpretation I = < IR, IP, IEXT, IS, IL, ISQ, ILQ > consists of
1. A non-empty set IR of resources, called the domain or universe of I.
2. A set IP, called the set of properties of I.
3. A set IEXT, a subset of IP x IR x IR,
    such that the restriction of the first element to IS(owl:sameAs) is the 
identity mapping over IR.
4. A mapping IS from IRIs into (IR union IP).
5. A partial mapping IL from literals into IR.
6. A mapping ISQ from IRIs into IR.  This is the opaque (or syntactic) mapping 
for IRIs.
7. A mapping ILQ from literals into IR.   This is the opaque (or syntactic) 
mapping for literals.

Given a (simple) interpretation I define IQ(E) as
if E is an IRI then IQ(E) = ISQ(E),
if E is a literal then IQ(E) = ILQ(E),
if E is a triple s p o. then IQ(s p o) = <IQ(s), IQ(p), IQ(o)> if this is in 
IR, undefined otherwise.

Given a (simple) interpretation I define IA(E) as
if E is an IRI then IA(E) = IS(E),
if E is a literal then IA(E) = IL(E),
if E is a triple s p o. then IA(s p o) = IQ(E)

In a (simple) interpretation I extend I to a truth mapping for ground triples 
and ground graphs.
For E a ground triple s p o. define I(E) = true if IS(p) is in IP and the 
3-tuple <IA(s), IA(p), IA(o)> is in IEXT otherwise I(E) = false.
For E an RDF graph define I(E) = false if I(E') = false for some triple E' in 
E, otherwise I(E) = true.

Adding blank nodes is the same as in the first alternative.

To make literals transparent (+L) just add the condition
ILQ(E) = IL(E)
To make IRIs transparent (+I) just add the condition
ISQ(E) = IS(E)



Examples of entailment and non-entailment (at least as far as I can tell):

:lois :believes << :clark :wears :glasses >> .
entails in all the above semantics
:lois :believes << _:x :wears :glasses >> .

:lois :believes << _:y :wears :glasses >> .
entails in all the above semantics
:lois :believes << _:x :wears :glasses >> .

:lois :believes << :clark :heightinfeet "6"^^xsd:int >> .
:believes rdf:type rdf:SemanticProperty .
entails in +L semantics or in pfps2 only
:lois :believes << :superman :heightinfeet "6"^^xsd:integer >> .

:clark owl:sameAs :superman
:lois :believes << :clark :heightinfeet "6"^^xsd:int >> .
entails in +I semantics only
:lois :believes << :superman :heightinfeet "6"^^xsd:int >> .

_:x owl:sameAs :clark .
:lois :believes << _:x :wears :glasses >> .
entails in all +I semantics only
:lois :believes << :clark :wears :glasses >> .

_:x owl:sameAs _:y .
:lois :believes << _:x :wears :glasses >> .
:lois :believes << _:y :heightinfeet "6"^^xsd:int >> .
entails in all the above semantics
:lois :believes << _:z :wears :glasses >> .
:lois :believes << _:z :heightinfeet "6"^^xsd:int >> .



A fully opaque semantics (pfps4) would add to pfps1
9. A mapping IBQ from blank nodes into IR.
if E is a blank node then IQ(E) = IBQ(E)
and make the change
Define [I+A] to be A on blank nodes in asserted triples, < [I+A]S, [I+A]P, 
[I+A]O > on triples, and I otherwise.
but I don't think that there is then a semantic extension to transparent blank 
nodes.

In this semantics

:lois :believes << :clark :wears :glasses >> .
does not entail
:lois :believes << _:x :wears :glasses >> .

:lois :believes << _:y :wears :glasses >> .
does not entail
:lois :believes << _:x :wears :glasses >> .

Received on Friday, 12 May 2023 16:36:47 UTC