Re: LPG many-to-many

On Aug 23, 2024, at 1:06 AM, Thomas Lörtsch <tl@rat.io> wrote:
> 
> I guess that problem could just as well occur in examples 1 and 2, right?

Yes, but in your examples 1 and 2 the annotations are ones that don’t change meaning (AFAICT) if they are duplicated. Saying that Carol is the source of each of the three triples has the same intuitive meaning as having just one assertion saying that (by way of a reifier which reifies all three together).

> They just happen to not include annotations. I know too little of LPG modelling to have any sound intuitions, but I sense a lot more problems lurking under the surface. E. g. how do LPGs handle reflexive relations like <Alice marriedTo Bob> and <Bob marriedTo Alice>? Would they count that as two marriages? Or do they not handle that at all? 

LPGs do not “handle reflexive relations.” I think this is just like many RDF systems that do not support reflexive reasoning – <Alice marriedTo Bob> and <Bob marriedTo Alice> would be treated as two triples/edges. Nothing more. This is why in the past I tried to advocate for the many-to-one reification approach where the reifier is merely a handle on the triple, not something denoting an instance in the user’s domain – interop would be aided by saying a reifier acts as a stand-in for a single triple, while it is confounded by saying the reifier has its own domain-specific type (like a marriage) and denotation.

> I'd really like to have more examples from real life practice and experience. My impression is that the understanding of this problem space is rather superficial and not ripe for standardization, maybe not even a Note. I'd certainly appreciate if someone drafted a Note about RDF-LPG interop best practices, with examples and discussions. At the very least it could help guide our further steps w. r. t. profiles, syntactic restrictions, notes, etc. 

I’m not sure I found much reception to saying this on yesterday’s call, but I feel the same way about reifiers that can be arbitrarily typed and reify more than one triple. I see interesting use cases discussed in the group, but we as a community don’t have a lot of experience on using these patterns in data modeling, querying, or implementing systems. I don’t really know where that leaves us, but I’m frequently feeling like we’re out over our skis on this design and it makes me nervous.

thanks,
greg

Received on Friday, 23 August 2024 23:48:32 UTC