-
Notifications
You must be signed in to change notification settings - Fork 8
RDF‐star semantics: option 3
graph ::= (triple)*
triple ::= subject predicate object
subject ::= iri | BlankNode | tripleTerm
predicate ::= iri
object ::= iri | BlankNode | literal | tripleTerm
tripleTerm ::= triple
iri ::= ... | rdf:reifies | ...
graph ::= ( triple | subject rdf:reifies tripleTerm |
tripleTerm rdf:reifies object )*
triple ::= subject predicate object
subject ::= iri | BlankNode
predicate ::= iri
object ::= iri | BlankNode | literal
tripleTerm ::= triple
iri ::= any iri but rdf:reifies
- RDF 1.1 syntax is the above without the tripleTerm category.
- A term is denoted by
r
, a triple byt
, and a graph byg
. - Given a triple
t
, we denote the subject, predicate, object oft
ast.s
,t.p
,t.o
, respectively.
An RDF simple interpretation I
is a structure <IR
, IP
, IS
, IL
, IEXT
, RE
> consisting of:
- A non-empty set
IR
of resources, called the domain or universe ofI
. - A set
IP
, called the set of properties ofI
. - A mapping
IS
from IRIs intoIR ⋃ IP
, called the interpretation of IRIs. - A partial mapping
IL
from literal intoIR
, called the interpretation of literals. - A mapping
IEXT
fromIP
into2
IR x IR
, called the extension of properties. - ⏩ A mapping
RE
fromIR x IP x IR
intoIR
, called the reification of triple terms. ⏪
A
is a mapping from BlankNode to IR
.
Given I
and A
, the function [I+A](.)
is defined over terms, triples, and graphs as follows.
-
[I+A](r) = IS(r)
ifr
is a iri -
[I+A](r) = IL(r)
ifr
is a literal - ⏩
[I+A](r) = RE([I+A](r.s), [I+A](r.p), [I+A](r.o))
ifr
is a tripleTerm ⏪️ -
[I+A](r) = A(r)
ifr
is a BlankNode
-
[I+A](t) = TRUE
if and only if<[I+A](t.s), [I+A](t.o)> ∈ IEXT([I+A](t.p))
-
[I+A](g) = TRUE
if and only if∀ t ∈ g . [I+A](t) = TRUE
An interpretation I
is a model of a graph g
if and only if ∃ A . [I+A](g) = TRUE
.
The set of all models of a graph g
is called models(g)
.
Simple entailment: g ⊨ g'
if and only if models(g) ⊆ models(g')
.
- RDF 1.1 semantics is the above without the parts within ⏩...⏪ marks, involving the tripleTerm category.
We introduce a macro for triple reification, which, as we will see, captures the use cases for reification, property graph edges, n-ary relations. The syntax is extended as follows.
(...)
subject ::= iri | BlankNode | tripleTerm | tripleReification
object ::= iri | BlankNode | literal | tripleTerm | tripleReification
tripleReification ::= identifier triple
identifier ::= iri | BlankNode
(...)
The macro for triple reification expands in the following way.
X1 X2 ( identifier triple ) .
➡️ identifier rdf:reifies triple .
X1 X2 identifier .
( identifier triple ) X3 X4 .
➡️ identifier rdf:reifies triple .
identifier X3 X4 .
An RDF graph which does not contain any triple term nor any rdf:reifies triple but for the ones coming from the expansion of the macro for triple reification is called reification well-formed.
Any graph conforming the upfront restricted abstract syntax is always reification well-formed (NOTE: we need a stronger version of the upfront restricted abstract syntax for this to hold).
(...)
Summary of the RDF-star WG wiki.
- Editor's guide
- Meeting minutes
- RDF terminology
- Scribes
- Use Cases collection
- RDF-star syntax and semantics:
- RDF-star "alternative baseline" (VOTED 2024.11.14 - frozen)
- RDF-star "liberal baseline" (current working version)
- RDF-star "minimal baseline" (VOTED 2024.07.18 - frozen - superseded by vote 2024.11.14 - deprecated)
- RDF-star "working baseline" (working version - deprecated)
- RDF‐star baseline examples
- RDF-star and LPGs
- Extending the baseline with "asserted" stuff
- systems and acronyms
- Task forces
- Text Direction considerations
- Text Direction Proposal
- Triple‐Edge-subgroup-proposals