-
Notifications
You must be signed in to change notification settings - Fork 8
RDF star "liberal baseline"
graph ::= triple*
triple ::= tripleStructure
tripleStructure ::= subject predicate object
subject ::= NoLiteralTerm
predicate ::= iri
object ::= term
NoLiteralTerm ::= NoLiteralAtomicTerm | tripleTerm
NoLiteralAtomicTerm ::= iri | BlankNode
tripleTerm ::= tripleStructure
term ::= NoLiteralTerm | literal
- RDF 1.1 syntax is the above without the tripleTerm category and its dependents.
- A term is denoted by
r
, a triple byt
, and a graph byg
. - Given a triple structure
s
, we denote the subject, predicate, object ofs
ass.s
,s.p
,s.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 partial injective mapping
RE
fromIR x IP x IR
intoIR
, called the interpretation 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
A simple 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 simple semantics is the above without the parts within ⏩...⏪ marks.
⏩ RDF interpretations add the following new IRI with the namespace prefix rdf: rdf:reifies
. ⏪️
⏩ The rdfD2 RDF entailment pattern is replaced by the following entailment pattern, so to have a sound and complete set of metamodelling RDF entailment patterns: ⏪
if the triple structure appears in S | then S RDF entails | |
---|---|---|
rdfD2-ts | sss aaa ooo | aaa rdf:type rdf:Property . |
- RDF 1.1 RDF semantics is the above without the parts within ⏩...⏪ marks.
⏩ RDFS Interpretations add the following new IRI with the namespace prefix rdfs: rdfs:Proposition
. ⏪️
RDFS semantics restricts the function [I+A](.)
with the following additional metamodelling condition:
⏩
<r, [I+A](rdfs:Proposition)> ∈ IEXT([I+A](rdf:type))
if ∃ x,y,z . RE(x,z,y)=r
or
if ∃ x . <x,r> ∈ IEXT([I+A](rdf:reifies))
⏪️
⏩ The rdfs4a and rdfs4b RDFS entailment patterns are replaced by the following entailment patterns: ⏪
if the triple structure appears in S | then S RDFS entails | |
---|---|---|
rdfs4a-ts | sss aaa ooo | sss rdf:type rdfs:Resource . |
rdfs4b-ts | sss aaa ooo | ooo rdf:type rdfs:Resource . |
⏩ Additional metamodelling RDFS entailment patterns, so to have a sound and complete set of metamodelling RDFS entailment patterns: ⏪
if the triple structure appears in S | then S RDFS entails | |
---|---|---|
rdfs14 | sss aaa <<(xxx yyy zzz)>> | <<(xxx yyy zzz)>> rdf:type rdfs:Proposition . |
rdfs15 | <<(xxx yyy zzz)>> aaa ooo | <<(xxx yyy zzz)>> rdf:type rdfs:Proposition . |
⏩ Additional RDFS axiomatic triple: ⏪</br/>
rdfs:reifies rdf:range rdfs:Proposition .
- RDF 1.1 RDFS semantics is the above without the parts within ⏩...⏪ marks.
- The above entailment pattern are valid only for generalised RDFS; for RDFS, we have to use a restricted set of sound and incomplete entailment patterns.
The RDF-concepts and RDF-primer documents should be conveying the right message 😊, namely reification is sanctioned only if it makes use of the property rdf:reifies
or any of its subproperties; the subject of rdf:reifies
is called a reifier and the object is called a proposition.
A triple term is represented in Turtle as follows:
<<( s p o )>>
The following temporary shortcut for a term (a triple term reifier) is added to Turtle, which can be used in arbitrary subject or object position:
<< s p o ~ e >>
which expands in Turtle, following the best practice, as follows:
<< s p o ~ e >> p1 o1 . ==> e rdf:reifies <<( s p o )>> . e p1 o1 .
s1 p1 << s p o ~ e >> . ==> e rdf:reifies <<( s p o )>> . s1 p1 e .
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