RDF-star Semantics TF

12 April 2024


AndyS, enrico, fsasaki, gkellogg, niklasl, pchampin, pfps, souri, TallTed, tl
AndyS, enrico, gkellogg, pchampin

Meeting minutes

continuing discussion on how to constructively blend Amazon's concerns into the current structure of the RDF 1.2 proposal

many-to-many vs many-to-one reifiers-to-triple_terms

<enrico> enrico: a solution is to have general well-formedness for many-to-many, and then various best practices: for LPGs, annotations, provenance, n-ary relations, events and situations, etc

souri: suggests an "LPG profile"

souri: (full) RDF 1.2 should not be limited by LPG

souri: not everyone is interested in that restriction.

<tl> I understood that souri: (full) RDF 1.2 should NOT be limited by LPG

pchampin: about undirected edges and the need for many-to-many
… there are other ways to model this e.g. subproperty, symmetric properties

enrico: LPG undirected edges need many-to-many: << :w1 | :liz :married :richard >> :location :las-vegas . << :w1 | :richard :married :liz >> :date 1966 .

fsasaki: best practice for LPG encoding to give best interoperability - not part of SemTF
… maybe main meeting and with LPG people


niklasl: my angle is to understand the problem with many-to-many (M2M) from an LPG POV.
… if an edge in LPG is an instance of a relationship, (unclear to me) - no notion of denotes.
… are we going overboard here? Entailment forces M2M
… does M2M to confuse more than it helps? I don't think so.

tl: sematics of multi-edge reification - is a foreach semantics or it applies to the collection.

<Souri> Here is a source of confusion for me: I think rdf:reifies is multi-valued, but not set-valued. This is different than a named graph, which is an association of a resource with a set of triples.

enrico: what is confusing here if others can use one reifier for multiple triples

pchampin: I am neutral here.
… I think that the confusing is how to explain (not the semantics) the rationale for the design - the intended meaning
… e:g: rdf:subject is different to rdf:object
… not clear we have the same understanding of rdf:reifies
… "intended meaning" is not captured by formal semantics
… rdf:reifies -- what is the "intended meaning"?
… don't know what the graphic is for the multi-triple case.

souri: hard to cast LPG in RDF language
… I'm asking about multi valued rdf:reifies - multi-valued or container-valued?

<tl> if a person has hobbies tennis,swimming and skiing, those are three distinct hobbies, but they are also all all sports related hobbies. the distinction between multi-value and set doesn't make much sense to me. it depends on teh contents

<fsasaki> Citation from Rinke Hoeskstra, Elsevier, from LinkedIn: "Compatibility is essential, not just for querying across the graphs, but also for graph production pipelines where the wrangling of data happens in RDF and the serving happens in a PG projection. "

enrico: the meaning of rdf:reifies will be in the best practices document.
… let's wait for this document
… several profiles for LPGs which will take sometime to develop

pfps: re: the neptune input. many-to-many looks like many-to-one - SPARQL Update is affected, nothing else.
… not seeing users are hurt by M2M.

<pfps> or even affected by many-to-many

pchampin: M2M needs to represent the reification
… "reificiation" is an abstract concept making it hard to understand and M2M adds to that

AndyS: to pfps's remark that M2M looks like M2O, it is not as simple with SPARQL;
… querying means closing the world.

niklasl: I expect the interpretation of an edge in LDP to be the relationship.

niklasl: re: users of LPG -- the interpretation of the edge as nodes and edges.

Souri: is rdf:reifies multi-valued, or not.
… Is is multi-valued or set-valued?
… If you have the same reifier for multiple triples, we may want to add something that affects multiple triples.
… Once you've done that, you can't say thing about an individual triple now; you'd need to create a new reifier to connect only to one triple to say things about that.
… The ability to have multi-valued rdf:reifies gives the user to say things about multiple triple terms together with one annotation or set of annotations, while staying inside a single RDF named graph.
… That ability is not there today; you can create multiple graphs, but they're in different scopes; you're not able to take sub-groups of triples and annotate them.
… The ability to allow multi-valued rdf:reifies provides for different modeling opportunities.

pchampin: Responding to Souri, your question about set- vs multi-valued is important.
… My position is that the open world assumption, it's clearly multi-valued.
… If the meaning is that it can reify multiple triples, then there could be other triples being reified I'm not aware of.
… If it's a set of triples, the set cannot be known, because some rdf:reifies statements may exist that I'm not aware of.
… A set is open ended (multi-valued).
… That makes many-to-many confusing.
… As for LPG edges, they don't have a formal definition so you can't talk about denotation.
… That was my argument about not having a single predicate for expressing reification, and types could have some advantages.
… That is what makes mapping fron RDF to LPG difficult.

<niklasl> +1 to that

pchampin: We should keep rdf:reifies high-level and under-specified.

tl: +1 to that.
… Does Souri mean forEach semantics for multi-valued?

Souri: If you say jon playsSport cricket and jon playsSport football, it can be multi-valued.

tl: By forEach, I mean if you can use it to say that an annotation applies to each such triple, or the set of those triples.
… You might give a date and want it to apply to each edge individually.
… There is a continuum between the two extremes.
… In general, I think we can leave it open. If you come from LPG you probably think it's for each edge.
… forEach was part of RDF in 1999, but didn't make it into 1.0.
… That suggests it's not actually a problem.

Souri: We have things that are sets of triples, but not sets of triple terms.
… The connection between a reifier connects to individual triple terms, not a set of triple terms.
… A set of triples does not really exist.
… We could have a set of triple terms sharing a single reifier.
… Suppose I say that sports cannot be put in a set, you can't talk about cricket, soccer, etc.
… But, in RDF, a set of triples is fundamental, as it defines a graph.
… But, triple terms are different than triples.
… If it's multi-valued, it cannot connect to a set of triples, which is what would be normal in RDF.
… We need to show a need for both views.

tl: The reason triple term is abstract, and occurrences are different topics.

Souri: In RDF we don't use a set of URIs. Can we talk about a set of URIs.
… We can talk about how to express a Bag, but a Graph is a set of triples. We don't talk about a set of triple terms.

tl: We say John has several hobbies and we can talk about the set of those hobbies.

pchampin: gkellogg pointed out the Bag collection in RDF 1.0, as those have an open-world assumption.
… The problem is, because of OWA, you can never know it's complete. That's why lists were created, as they're closed.
… If a list has been tampered with, you can tell.
… Seq was similar, but not closed.
… Also, lists have an order; if I had to describe a set, I probably would use a list, but say that order was insignificant.

<pchampin> :graph :hasTriples (<< s p o >> <<s' p' o' >>).

<pchampin> :graph :hasTriples (<<( s p o )>> <<(s' p' o' )>>).

<niklasl> +1 for that example

AndyS: The other thing about lists is they have to be bnodes to preserve merging.

Souri: Remember we restrict RDF triple terms such that they can only be the object of rdf:reifies.

<AndyS> Containers have other issues: too many triples - or rather too obviously a triples structure. They are nice(ish) in RDF/XML. Turtle had list syntax from day one.

Souri: We would be going against that restriction if we introduce lists.
… If you could say rdf:reifies (<<|...|>>, <<|..|>>) we could use this for different modeling purposes.

pchampin: Maybe we should use a different predicate.

tl: If we have :e1 reifies ..., we could be explicit about what annotations refer to.

Souri: Maybe rdf:refiiesSet as a predicate.

Minutes manually created (not a transcript), formatted by scribe.perl version 221 (Fri Jul 21 14:01:30 2023 UTC).


Succeeded: s/?scribe?/ad-hoc/

Succeeded: s/scribe: ad-hoc//

Succeeded: s/souri: (full) RDF 1.2 should be limited by LPG/souri: (full) RDF 1.2 should not be limited by LPG/

Succeeded: s/?chair?/ad-hoc/

Succeeded: s/refiies/reifies/

Succeeded: s/container valued/container-valued/

Succeeded: s/ask fsasaki//

Succeeded: i/regrets+ ora/present+ pchampin

Succeeded: s/jon plays sport cricket and footbal/jon playsSport cricket and jon playsSport football/

All speakers: AndyS, enrico, fsasaki, niklasl, pchampin, pfps, souri, tl

Active on IRC: AndyS, enrico, fsasaki, gkellogg, niklasl, pchampin, pfps, Souri, TallTed, tl