new proposal

What if we use the following grammar to essentially go back to something similar to option 4 [1], but with the following rule: A reified triple is 1) opaque, if reifier (shown as the fourth component below) is a blank node, and 2) transparent, if reifier is an IRI?

# EXTENDED
graph                                         ::= (assertedTriple | opaqueReifiedTriple | transparentReifiedTriple)*

# NEW
opaqueReifiedTriple          ::= subject predicate object blankNode
transparentReifiedTriple  ::= subject predicate object IRI

# CURRENT
assertedTriple                       ::= subject predicate object
subject                                     ::= IRI | blankNode
predicate                                 ::= IRI
object                                        ::= IRI | blankNode | literal

This proposal will not support nesting of reifications like the one shown below. My sense is that this type of nesting, that allows reification of a reification and so on, is not needed in practice.
:r1 rdf:reifies  <<( :r2 rdf:reifies <<( :s :p :o )>> )>> .

[1] https://htmlpreview.github.io/?https://github.com/w3c/rdf-star-wg/blob/main/docs/seeking-consensus-2024-01.html

Received on Monday, 1 July 2024 08:03:24 UTC