W3C

– DRAFT –
RDF-star Semantics TF

12 April 2024

Attendees

Present
AndyS, enrico, fsasaki, gkellogg, niklasl, pchampin, pfps, souri, TallTed, tl
Regrets
ora
Chair
ad-hoc
Scribe
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?

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).

Diagnostics

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