- From: Andy Seaborne <andy@apache.org>
- Date: Tue, 2 Apr 2024 20:50:29 +0100
- To: public-rdf-star-wg@w3.org
- Message-ID: <ffcbc190-29dd-40db-a536-3f5edd29a812@apache.org>
We can also have different properties rdf:reifies for the one-to-one case and rdf:reifSomeName for one-to-many. There is a difference in that the first is closed, while the second is open. Andy On 29/03/2024 12:02, Lassila, Ora wrote: > > Technically, the restrictions on cardinality that RDF does have all > fall within the “well-formedness” idea (in addition to the > rdf:first/rdf:rest case, instances of rdf:Statement should only one > have rdf:subject, rdf:predicate, and rdf:object each). We could handle > rdf:reifies the same way. > > Ora > > *From: *Gregg Kellogg <gregg@greggkellogg.net> > *Date: *Thursday, March 28, 2024 at 4:07 PM > *To: *Kurt Cagle <kurt.cagle@gmail.com> > *Cc: *Thomas Lörtsch <tl@rat.io>, Souripriya Das > <SOURIPRIYA.DAS@oracle.com>, RDF-star WG <public-rdf-star-wg@w3.org> > *Subject: *RE: [EXTERNAL] rdf:reifies many-to-many vs. many-to-one > *Resent-From: *<public-rdf-star-wg@w3.org> > *Resent-Date: *Thursday, March 28, 2024 at 4:06 PM > > *CAUTION*: This email originated from outside of the organization. Do > not click links or open attachments unless you can confirm the sender > and know the content is safe. > > While the primary use-case for reifications may be 1-1, I think it > would be short sighted to try to limit this in the data model. Our > descriptions should focus on the 1-1 use case (unless we decide to > promote 1-many for some use cases). No place else in RDF has > cardinality restrictions, although it may not be considered to be > well-formed (similar to rdf:first/rest). > > My suspicion has been that if you provide a way for people to use > features such as 1-many reifications, they will use it. We noted on > the call about how a multi-statement reification has some similarities > with named graphs, but the semantics are different and we should lean > on that. > > (Perhaps Kurt may be helpful in helping to frame this in a future > What’s New in RDF 1.2 document, but contributions to RDF Concepts > would also be welcome when the time is ripe). > > Gregg Kellogg > gregg@greggkellogg.net > > > > On Mar 28, 2024, at 9:12 AM, Kurt Cagle <kurt.cagle@gmail.com> wrote: > > > How do the following RDF datasets appear to a reader? > > DS-1 (requires many-to-many)=> > > :e rdf:reifies <<( :s rdf:type :Married )>>, <<( :s rdf:type > :Single )>> . > > :e :accTo :marriageRegistrar . > > DS-2=> > > :e1 rdf:reifies <<( :s rdf:type :Married )>> . > > :e2 rdf:reifies <<( :s rdf:type :Single )>> . > > :e1 :accTo :marriageRegistrar . > > :e2 :accTo :marriageRegistrar . > > > > Would the following be a reasonable assessment, keeping the > (naive) reader in mind? > > - DS-1 is more concise, but could be confusing. > > - DS-2 is simpler and less confusing. > > This implies that DS-1 is a hypergraph. I'm for that personally. > This has been an objection I've had with RDF for some time, but it > potentially necessitates a bigger change in RDF. > > > *Kurt Cagle* > > Editor in Chief > > The Cagle Report > > kurt.cagle@gmail.com <mailto:kurt.cagle@gmail.com> > > 443-837-8725 > > On Thu, Mar 28, 2024 at 7:02 AM Thomas Lörtsch <tl@rat.io> wrote: > > > > > On 28. Mar 2024, at 13:00, Souripriya Das > <SOURIPRIYA.DAS@oracle.com> wrote: > > > > Wondering if staying with many-to-one for rdf:reifies will > keep things simpler for the reader. Consider the following > example. > > > > Assuming that the following should hold in a domain: > > :Single owl:disjointWith :Married . > > > > How do the following RDF datasets appear to a reader? > > DS-1 (requires many-to-many)=> > > :e rdf:reifies <<( :s rdf:type :Married )>>, <<( :s > rdf:type :Single )>> . > > :e :accTo :marriageRegistrar . > > DS-2=> > > :e1 rdf:reifies <<( :s rdf:type :Married )>> . > > :e2 rdf:reifies <<( :s rdf:type :Single )>> . > > :e1 :accTo :marriageRegistrar . > > :e2 :accTo :marriageRegistrar . > > > > Would the following be a reasonable assessment, keeping the > (naive) reader in mind? > > - DS-1 is more concise, but could be confusing. > > - DS-2 is simpler and less confusing. > > To me DS-1 feels immediatly familiar whereas DS-2 feels > verbose. To me the verbosity of DS-2 is confusing, not the > simple list of triple terms in DS-1. > > > Some thoughts: > > Grouping reifications by their attribute can probably be > considered a very basic use case, a need that will inevitably > arise. > > Up to now grouping is realized with named graphs, but there is > strong opposition towards basing the annotation mechanism on > named graphs. Ergo we should make sure that what we design > doesn’t work only on single triple terms but also on sets of them. > > That should be done in a way that users don’t need to know > upfront if an annotation targets a reification refering to > only a single or triple term or a multiple thereof. (That > should be easy with SPARQL-star, but is impossible when single > triple annotations are encoded as triple term reifications but > multiples thereof are encoded as named graphs). > > The annotation syntax, e.g. '<< :e1 | :s :p :o >>', should be > extended to allow multiple triples as well, e.g. '<< :e2 | :s > :p :o. :x :y :z . >>'. Otherwise annotating multiple triple > terms always has to resort to the more verbose N-triples > syntax with explicit rdf:reifies statements. > > Such a solution would make sematically sound grouping > available to RDF proper. The guidance w.r.t. named graphs > would be to only use them for application specific purposes, > outside the realm of data sharing and integration. This would > mean that we bite the bullet that named graphs can not be > saved for anything else than out-of-band activities. Note that > this is not my position, but it is a position that would allow > us to move forward. > > Keeping named graphs as a (semantically unsound) grouping > device and designing triple term annotations as a one-trick > pony to enable LPG-style modelling in RDF is not a very > elegant and coherent design, and that lack of elegance and > coherence will lead to a lot of questions, frustrations, need > for explanations - exactly the thing that Ora fears. > > Note also that another need will inevitably appear as well: > the desire to state AND annotate a set of statements in one > go, leading to the need for another syntactic device. > > > Please note as well that the Nested Named Graphs proposal [0] > has all those issues and needs covered. However, it stumbled > into a roadblock that so far we weren’t able to overcome: > SPARQL is not really made for querying quads and annotations > too easily can get lost in the course of a query. That > requires a lot more effort than we can currently master. > > > Best, > Thomas > > > [0] https://github.com/rat10/nng > > > > Thanks, > > Souri. > >
Received on Tuesday, 2 April 2024 19:50:36 UTC