- From: Gregg Kellogg <gregg@greggkellogg.net>
- Date: Tue, 23 Apr 2024 13:58:05 -0700
- To: Olaf Hartig <olaf.hartig@liu.se>
- Cc: "public-rdf-star-wg@w3.org" <public-rdf-star-wg@w3.org>
> On Apr 23, 2024, at 7:50 AM, Olaf Hartig <olaf.hartig@liu.se> wrote: > > Hi all, > > It occurs to me that the notion of well-formedness that the group > strives for has more facets than just the decision of whether > rdf:reifies is many-to-many or many-to-one, and I think it would be > useful for us to be able to discuss and to decide about these facets > independent of one another. Therefore, I have created the following > document in which I define different syntactic properties that an RDF > graph with triple terms may possess, where each of these properties > corresponds to one of the facets that I see. The important point is > that these properties are completely orthogonal, and we can decide > which of them we include as the properties required for well- > formedness. > > https://github.com/w3c/rdf-star-wg/blob/main/docs/constraints.md I think we can make a restriction in the abstract (and concrete) syntaxes, that a subject may not be a triple term; this is the current DRAFT definition in the various RDF syntaxes. The would seem to simplify the well-formedness restrictions. In Reifier Minimality, you say that some members believe in a restriction that (s, rdf:reifies, (s', p', o') ) requires that s not be the object of other triples. ("without any other triple that talks about s”). This is one I haven’t heard come up before, or I was not paying attention. If we want triples of the form :s :p << :id | :s’ :p’ :o’ >> we would then be allowing :s :p :id . :id rdf:reifies <<(:s’ :p’ :o’)>> ., which I think has been a primary use case. I think the potential restriction might be that there can only be one triple with the subject :s and object rdf:reifies (with object implicitly a triple term). If this is the case, then it needs to be discussed in the light of reasonable RDFS entailments, such as D-entailments. But even for somthing like rdfD1, what is the expected entailment for :s rdf:reifies <<(:s’ :p’ “123”^^xsd:integer)>>? If the following is not expected, what is? :s rdf:reifies <<(:s’ :p’ “123”^^xsd:integer)>>, <<(:s’ :p’ _:nnn)>>, <<(:_nnn rdf:type xsd:integer )>> . Alternatively a rule may create a new blank node to be the subject of those entailed triples: :s rdf:reifies <<(:s’ :p’ “123”^^xsd:integer)>> . _:b0 rdf:reifies <<(:s’ :p’ _:nnn)>> . _:b1 rdf:reifies <<(_:nnn rdf:type xsd:integer)>> . But, that doesn’t seem to useful or intuitive. Another possibility I thought we had rejected is that triple terms are opaque. I think that discussions about many-to-many don’t properly consider how entailments work. Gregg > Best, > Olaf >
Received on Tuesday, 23 April 2024 20:58:22 UTC