Skip to content

Semantics: proposal by Peter Patel‐Schneider for transparent semantics

Peter F. Patel-Schneider edited this page Sep 8, 2023 · 4 revisions

This semantics is fully transparent and stays fairly close in exposition to the RDF 1.1 semantics. The main difference here is that 3-tuples are members of the domain. This change 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.

The set of RDF triples is the smallest set of 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 > 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.
  4. A mapping IS from IRIs into (IR union IP).
  5. A partial mapping IL from literals into IR.

Given a (simple) interpretation I define I(E) as

  • if E is an IRI then I(E) = IS(E),
  • if E is a literal then I(E) = IL(E),
  • if E is a ground triple s p o. then I(s p o .) = <I(p), I(s), I(o)> if this is in IR, undefined otherwise.

Extend a (simple) interpretation I to a truth mapping for ground triples and ground graphs. For E a ground triple s p o . define I(E) = true if the 3-tuple <I(p), I(s), I(o)> is in IEXT, 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.

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
  • I(E) otherwise.

For E a triple s p o . define [I+A](E) = true if <[IS](p), [I*A](s),[I*A](o)> is in IEXT)) 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+A](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.

Note that the two definitions of I on RDF graphs coincide on ground RDF graphs.

The RDF graph G entails the RDF graph G' iff for all interpretations I if I(G) = true then I(G) = true.

Clone this wiki locally