- From: Doerthe Arndt <doerthe.arndt@tu-dresden.de>
- Date: Wed, 13 Mar 2024 10:37:01 +0000
- To: Franconi Enrico <franconi@inf.unibz.it>
- CC: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>, "public-rdf-star-wg@w3.org" <public-rdf-star-wg@w3.org>
- Message-ID: <8C2A6F17-9A08-4A15-BA55-9D13ADBBF4C4@tu-dresden.de>
Dear Enrico,
Even though, I would personally prefer to use RDF-star without the macro (which I am free to do, I know :) ), I think it looks good. I have two comments:
1. Strictly speaking, in your grammar each triple of the form
identifier_i rdf:reifies tripleTerm
needs to be *directly* followed by a triple
(subject predicate identifier_i) or (identifier_i predicate object))
Is that on purpose? (I think that is a minor remark, I was just curious :) )
2. If we have the syntactic macro and no semantic conditions added, then RDF-reasoning will produce graphs which do not follow the macro, namely you’d derive
rdf:reifies a rdf:Predicate.
Do you see that as a problem?
Now, that I think about it, even simple entailment does:
:id rdf:reifies <(:a :b :c)>. :id :p :o.
simply entails
:id rdf:reifies _:x. :id rdf:reifies <(:a :b :c)>. :id :p :o.
What is your opinion on that? (I am not sure myself, the question is meant to be open)
Kind regards,
Dörthe
Am 13.03.2024 um 08:20 schrieb Franconi Enrico <franconi@inf.unibz.it>:
On 12 Mar 2024, at 23:09, Peter F. Patel-Schneider <pfpschneider@gmail.com> wrote:
This is ambiguous as the nor can be given a wide scope.
"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."
Better would be
"An RDF graph where the only triple terms are objects of triples with predicate rdf:reifies."
This is unambiguous, but more liberal as it allows objects of rdf:reifies triples to be anything. I don't think that the liberalization causes any problems.
Nope, you would allow, e.g., isolated “edge” triple.
If you want to define well-formedness by a syntactic restriction and not via the macro expansion, then my document gives the exact grammar at the end; there is no need of other definitions.
graph ::= (triple | (identifier_i rdf:reifies tripleTerm
(subject predicate identifier_i) | (identifier_i predicate object)))*
triple ::= subject predicate object
subject ::= iri | BlankNode
predicate ::= iri
object ::= iri | BlankNode | literal
tripleTerm ::= triple
identifier ::= iri | BlankNode
iri ::= any_iri_but_rdf:reifies
(Note: syntactic categories adorned with equal subscripts in the grammar above enforce a non-context-free equality condition on the respective tokens.)
I don’t see any purpose to have a well-formedness which is not capturing exactly the macro expansion, which is the only way we give meaning to reification.
—e.
Received on Wednesday, 13 March 2024 10:37:16 UTC