W3C

RDF-star Working Group Weekly Meeting

21 December 2023

Attendees

Present
AndyS, enrico, gkellogg, gtw, ktk, niklasl, pfps, Souri, TallTed, tl, Tpt
Regrets
AZ, fsasaki, olaf, Ora
Chair
ktk
Scribe
gkellogg, pchampin

Meeting minutes

Revisiting Use-Cases

<ktk> https://github.com/w3c/rdf-ucr/wiki/Summary

pfps: I put in a pointer for the status of the use cases.
… In summary, there is an outlier the group may not pick up about graphs. The others are agnostic about transparency, and many talk about occurrences.

AndyS: Which ones work on triple terms? (vs occurrences?)

pfps: Those which require talking about the triples per-se.
… The Labeled PG and the Wikidata use cases have multiple subject/predicate/object. They also want occurrences.
… Provenance and annotations all require occurrences.
… I don't know of any that require talking about the actual triple term.

pfps: the prov use cases require some abstraction from the original triple; they suffer from a problem similar to the seminal example.
… It could be the term or an occurrence, which may be a matter of taste.
… Prov UC don't need occurrences.

AndyS: So they can have different groups of triples to annotate the object.

pfps: It's often a bad idea to have two separate predicates that need to be used together to make a whole.

AndyS: Those with a notion of time (shop hours)

pfps: If you use something like start time and end time you need a stand-off triple.

AndyS: They also need a particular meaning of the triple.
… You can't have a triple which globally asserts open times.

pfps: Wikidata has a similar problem, as many triples have temporal qualifiers.
… If you want to know what's true right now, you need to understand the temporal qualifiers.
… That doesn't affect the formal meaning of RDF, though. A graph is a set of triples, and you can say that that set induces a set of possible worlds.
… Relating a possible world to the actual world is a separate matter.
… An asserted triple is true in our world throughout time and space, but there are other ways of mapping these possible worlds to the way we feel our world works.

AndyS: If you have a graph with some temporal assertion, and you assert more triples ...

pfps: Everything is monotonic. The graph says the way the world "could" be.
… So the triple was true in some world at some time.
… Adding qualifiers adds more information. Sounds monotonic, but formally, it's not.
… In CS, we do this all the time. It happens with arguments and results of formal functions, on one side it's monotonic, and on the other anti-monotonic.
… Purists argue against this, but somehow we keep on.

niklasl: Mostly agreeing with the assessment on the UCs.
… Some of the prov examples (from biology) uses a possible stand-off predicate. If you're careful and have only one such annotation, it can work. The others commit the seminal problem.
… The prov vocabulary uses past-tense to make it more clear that something has once been true.
… E.g. "was derived from".

<Zakim> Tpt, you wanted to talk about wikidata rank and asserted triples

Tpt: Wikidata has a system built in to know if a triple should be asserted or not. Each occurrence can have a rank; the main triple is asserted only if the rank is sufficient.
… Only the latest U.S. President will have a full rank, and previous would have a lower rank.

pfps: The Liz Taylor/Dick Burton example has all relationships with the same rank.

Discussion of Andy's post [1] and Souri's slides

https://lists.w3.org/Archives/Public/public-rdf-star-wg/2023Dec/0033.html

AndyS: It starts out with a couple of objectives: exploring what edges are and taking the RDF model that triples are unique in a graph and how RDF merge works.
… It has occurrences used as edges, which gives you the grouping to keep information together.
… We've had some proposals about not keeping triples unique, but it's pretty fundamental.
… It also extends the notion that a triple on its own is abstract, but when put in a graph you're somehow using it.
… So qualification can be different for the same triple in different graphs.

<niklasl> +1 to these objectives

Souri's proposal https://lists.w3.org/Archives/Public/public-rdf-star-wg/2023Dec/att-0045/RDFn_Slides_Dec_14_2023.pdf

Souri: When we have an occurrence today we can either have them asserted or unasserted.
… (from slides), the example is of two occurrences of the Trump presidency.
… The second one didn't happen, but can be claimed.
… According the Trump, he won in 2020. Should we aim to be able to make such statements.

AndyS: In my email, I was trying to split that out, to separate whether a triple is asserted or not. They come together in the annotation syntax.
… In the annotation syntax, the triple is asserted.

pchampin: My reading is that the triples are asserted, not the occurrrences.

AndyS: Occurrences are resources; I'm not sure what it means to assert that.

Souri: We can get an ID for an occurrence; I could use that to make statement such that it is true.

AndyS: I'm not sure what the difference between having an occurrence and making a statemenet about it, how that is different that putting the triple in the graph.

AndyS: I think the capability is there, but it's done a different way.

Souri: I have more slides to show how RDFn and RDF-star are quite close; it's a matter of what the user sees where we have a slight difference.
… I'd like to see if we can give the user alternatives to use either style.

pchampin: In souri's example, the annotated triple said "Trump won election".

Souri: It was a presidential election that trump said he won.

pchampin: Is it the concept of an election or a specific election?
… Depending on the meaning, I could agree with its being asserted, or not.
… Triples are asserted, not occurrences. When we assert a triple we endorse some fact about the world.
… We talk about occurrences as if it's one uniform type of thing, but this is not the case. Sometimes we want to talk about multiple things.

<niklasl> +1 for occurrences being what the users need them to be

pchampin: It's true that Trump one some election, and the fact that he didn't win in 2020 does not make the triple false.

Souri: You'd like to have an event "Election 2020" and assert about that, rather than the abstract "election".

pchampin: There are cases where it's okay to present such a triple, but we need to be careful.
… There could be different cases.

Souri: It's similar to talking about who one the world cup. What if "Trump won election" was not an asserted triple.
… There could be something about 2016 and about 2020 and we could talk about them separately.

<Zakim> pchampin, you wanted to answer to Souri with another question

Souri: I want to say something about the truthfulness about each individual edge.
… I might talk about other fictional or true events. (Brazil wins world cup).
… We talk about the assertion of a triple but not an occurrence. Is this a common occurence?
… We should provide some way to do this easily and formally.

tl: We talked about different meanings. Is it asserted/endorsed or not?
… We separate the triple from its assertion as the type exists only once in the data.
… We have a gap to bridge; you have an annotation on a triple you don't want to endorse and something else may be asserted that changes your intention.
… That's why I proposed having different properties to distinguish between the uses.
… Maybe "quote" or "opaque". Endorsed or not, asserted or not.
… There's a gap between the abstract triple and different assertions.

<Souri> +1 to providing a way to describe the type of occurrence

niklasl: I understand that tl is describing and I think that is closer to the RDFn proposal than Andy's proposal.
… They are all pretty close to each other; the main difference is that you might have a graph including another graph ...

tl: Not quite

niklasl: AndyS proposal is more "classic" RDF, as a triple is asserted if its in the graph. With assertions ...

tl: The annotation syntax works only for asserted triples.
… The short-hand syntax should be easy.

niklasl: I'm trying to get at the problem with the unasserted triple, how do you want that to work? Is there something that can be tweaked?

<pchampin> tl, in the latest proposal by Andy, the chevron syntax is also a shortcut, which is entirely symmetric to the annotation syntax, without the assertion

tl: I made a proposal for that with a predicate that determines if it is asserted or not through entailment.

niklasl: You could say that an occurrence is asserted and this is sort of what rank does in Wikidata.
… I accept how things work with Andy's proposal. If an occurrence is said to be asserted, I assert it.

<pchampin> +1 to niklasl: occurrences are RDF resources; you can say whatever you want about them, using additional vocabularies, and leave this to the application level

niklasl: Perhaps the annotation syntax adds such an assertion.

pfps: Mostly on RDFn, but my issue is that we have a number of "proto-proposals" and I can't really distinguish between the quality of each (mostly RDFn)
… I'd like to break that down, and I can't really tell if they're the same or not.

enrico: The discussion so far makes me think that types should not exist.
… If we consider "John" being a "Person", I assert John, but I don't assert Person.
… What does it mean that two people marry. When, Where, Now or in the past.
… The problem of RDF is that we ...
… A triple I want to annotate is not something which is true.
… Its an n-ary relation I want to assert something about.
… If you leave out the additional attributes, it's meaningless, its just a type.
… Types are a way to refer to things. They're not something themselves.
… You need an objective function. Only one type but multiple triples.
… This makes the RDF job harder as you need different types of things.
… Types should not be explicit elements in the abstract syntax, and don't have a semantics per-se.
… You may want to say something about the class Person.
… At that point, it becomes a resource about which I can make further assertions.
… Andy's thing is fine, but in the abstract syntax you have occurrences that have types. The meaning is not the syntactic triple itself.
… It may be that the triple type is equivalent to another.
… My perception is that types should not be there.

Souri: I have a couple of slides that I might present that could clarify things.

<Souri> An RDFn graph is a set of <s, p, o, n> tuples, where n is the "triple-name" component. Some of the tuples represent triples and rest of the tuples represent occurrences.

AndyS: I'm not quite clear about the use of the word "type" if it's an rdfs:Class. I don't think a triple term is the same kind of type.
… The type is rdf:Triple, it's not the type the triple is representing.
… I didn't put types in as rdfs:Classes, and I don't really know what the answer is. I'm not sure the type/token distinction applies.
… With any of the ideas where properties have side-effects, are the proposals saying this works in N-Triples? Up until now, N-Triples has been a direct form.
… If some triples have side-effects, we've made a large change.
… Right now Turtle can incorporate N-Triples.

tl: To Andy's last point: good question, I don't know what the solution is.
… With entailment, I guess it would not be a problem.

<ktk> ack +1

<Zakim> +1, you wanted to comment on not having "side-effects" (of course, optional entailment can do more...)

tl: To Enrico, I like what you are saying. Reminds me of Pat Hayes' email to the RDF 1.1 WG, that niklasl mentioned.
… On the other hand, when we talk about types in RDF, we are really talking about deduplication, early optimization.
… We are not just talking about the type, we are talking about similarity between occurrences.
… I understand that the definitions are in line with what is usually done in logic, but it creates difficulties in understanding.

niklasl: When we say "type of triple", I think of "pattern of triple".
… I'm thinking about Andy's proposal, how it can work with triples only in the object position.
… Also thinking about using a literal in the object position to describe the triple.
… I'm not sure where to put my energy now.
… I like that Andy's position does not require us to put triple terms in triple terms, mitigating the complexity.
… Similarity with Notation3 -- I think about it a lot, even if it is out of scope for this group.

[Souri presents slides]

Souri: I wanted to explore the relation between RDFn and RDF-star
… In RDFn, the triple itself is named in the rdft: namespace, with a suffix computed from (s, p, o)
… Occurrences are named with custom identifiers.
… (next slide)
… [describes Andy's proposal using the same figure]
… As niklasl said earlier, I'm concerned about the ability to embed triple terms in triple terms
… That's where I'm coming from: some people don't like the quoted triples.

tl: I don't like the possibility of generating a name from s, p, o .
… Rather use a fresh blank node at each occurrence.
… Talking about the meta-level (the type) should be explicit.

Souri: the generation of the name is to provide the unicity of the triple.
… (something about preventing occurrence names to be used as predicates)
… the generated rdft: identifier allows the parser to determine that we are talking about the triple. Let's talk offline.

niklasl: I would like Andy's proposal to be the same as what you are proposing, but I'm not sure.
… In your proposal, can triples and occurrences both be asserted?

Souri: I'm storing whether the triple is asserted or not.
… The occurrence is only referring to the triple.
… Like AndyS said, it is useful to come back to N-Triples.
… (shows example of RDFn-N-Triples in slide)

niklasl: AndyS, is it correct that your proposal does not require triple terms in triple terms?

AndyS: that would still be possible

Souri: isn't it a requirement that you are able to also talk about the triple itself?

AndyS: what I wrote was: we would not allow the shortcut syntax of occurrences inside triple terms.
… In N-Triples anyway, the shortcut syntax does not exist and is replaced with the rdf:occurrenceOf triple.

Souri: In N-Triples for RDF-star, we can only use rdf:occurrenceOf followed by a triple term that may contain the name of another triple.

AndyS: we can't rule out that someone takes RDF 1.2 to make assertions about assertions.

Souri: what I wanted to say was that those things are very close to each other.

<pfps> I again dispute this a version of RDF based on multi-graphs is very different from one based on regular graphs.

Souri: As long as we have an N-Triples serialization to associate a name to a triple...

pchampin: I see convergence between Souri's proposal and AndyS's proposal.
… To pfps: do you consider AndyS's proposal sufficiently described?

pfps: AndyS's proposal is not too bad, because there is not too much in it. It reuses things described before.
… One problem with the RDFn is that I don't know what the names of triples are. Are they a new thing? Can they by IRIs? Lirerals?

Souri: very quicky: they are special IRIs.

pfps: you have to tell me what a "specia IRI" is.

<TallTed> an EBNF of RDFn would likely answer all our questions ... but certainly would be very formal.

Souri: just like 'rdf:' IRIs

pfps: ok, so special IRIs are IRIs in a particular namespace. Are they forbidden for use elsewhere?
… All this need to be written down in a document, so that we can look at it.

gkellogg: in my interpretation of Souri's slide: the difference between a triple type and an occurrence is determined by their name
… this is very unlike RDF. Names in RDF have no meaning.
… In AndyS' proposal, triple types do not have name, hence the need for recursion.
… AndyS's proposal leverages what we have already worked on.

niklasl: if you interpret occurrences from a LPG point of view, they are edges.

<ktk> thanks gkellogg

<ktk> and happy holidays

<AndyS> <<:s :p :o >> :p1 :z ; :p2 "abc" .

niklasl: I see an opportunity in the fact that the same name can be declared as occurrence of several triples.
… May be not ready to represent graphs right now, but a good opportunity.

enrico: we still needs at least a hint about the semantics for this proposal.
… Once we start working on this we may realize some proplems.
… The triple occurrence is some kind of shortcut for the triple term.
… Why not the other way around?
… Allowing triple terms in any position would be too extreme. But restricting them in the object position of some predicate is weird.

AndyS: if we have only occurrences, we need a way to know what are its the subject, predicate, object

pchampin: to Enrico: my proposal to restrict triple terms to only some predicates was only a *profile*, not a core constraint
… about the complexity of triple terms: if they are to be extended later to graph terms, then the complexity should not be considered an issue

tl: we need graph terms in this version of RDF, otherwise somebody else will do it.
… Some triples stores may have not much use for triple terms. They may implement the shortcut syntax using reification.
… The shortcut syntax should be in the core and mapped to standard reification, with additional mappings to triple terms and graph terms.
… The RDF 1.1 worked hard on named graphs and came up with a description of the problems. I think we can solve them.
… If no one answers to my counter-arguments on the mailing list, there is nothing more to do.

niklasl: I'm equaly concerned with the complexity of graph terms than with that of triple terms.
… I have been advocating for blank named graphs, different.
… (something about named graphs)
… I like the idea of typing annotations with rdf:Assertion .
… I like the idea of restricting the recursiveness.
… I'm less concerned about the recursiveness in the object position.
… To be discussed in the semantics TF.

AndyS: if there is a TF discussion, there needs to be feedback to the group.

pchampin: my take away is that:

<Souri> Merry Christmas and Happy New Year to everyone!

pchampin: we are generally agreeing on the concrete syntax proposed by AndyS, focusing on occurrences

<tl> what is the difference between a nested triple term and graph term?

<niklasl> Thank you all!

pchampin: we need to decide how, in the abstract syntax, to relate occurrences to what they are ocuurences of
… could be via triple terms, via standard reification
… but some of us would prefer if it didn't involve recursive structure
… (triple terms could be restricted to only contain "atomic" terms)

Minutes manually created (not a transcript), formatted by scribe.perl version 222 (Sat Jul 22 21:57:07 2023 UTC).

Diagnostics

Succeeded: s/objecet/object/

Succeeded: s/outlyer/outlier/

Succeeded: s|Wiki use cases have multiple subject/predicat/object|Wikidata use cases have multiple subject/predicate/object|

Succeeded: s/know whats true right now/know what's true right now/

Succeeded: s/sourie's/Souri's/

Succeeded: s/Souri/AndyS/

Succeeded: s/profuke/profile*, not a core constraint

Succeeded: s/blank/blank named/

No scribenick or scribe found. Guessed: gkellogg

Maybe present: pchampin

All speakers: AndyS, enrico, gkellogg, niklasl, pchampin, pfps, Souri, tl, Tpt

Active on IRC: AndyS, enrico, gkellogg, gtw, ktk, niklasl, pchampin, pfps, Souri, TallTed, tl, Tpt