W3C

– DRAFT –
RDF-star WG biweekly meeting

29 August 2024

Attendees

Present
Adrian, AndyS, Dominik_T, eBremer, enrico, fsasaki, gkellogg, gtw, niklasl, olaf, ora, pfps, rubenswo_, rubensworks, Souri, TallTed, tl, william_vw
Regrets
-
Chair
ora
Scribe
gkellogg

Meeting minutes

Approval of minutes from the last two meetings: 1 , 2

ora: Approval of minutes

<ora> PROPOSAL: Approve last two weeks' minutes

<enrico> +1

<ora> +1

<niklasl> +1

<eBremer> +1

<AndyS> +1

<tl> +1

<william_vw> +1

<gkellogg> +1

<Adrian> +1

<gtw> +1

<TallTed> +1

<rubenswo_> +1

<olaf> +1

<Dominik_T> +1

<pfps> +1

<fsasaki> +1

RESOLUTION: Approve last two weeks' minutes

Proposed resultion by Semantics TF 3

enrico: There was a proposal to simplify the well-formed fragment so that it is not needed.
… Whenever there is a triple who's object is a triple term the semantics say that the predicate is of type rdf:ReificationProperty.
… This makes the system flexible, as in Turtle there is a short-cut to introduce a reifier with a triple term without mentioning the predicate, so there will be an rdf:reifies predicate coming from that expansion.

<enrico> https://github.com/w3c/rdf-star-wg/wiki/RDF-star-%22alternative-baseline%22

enrico: I fixed the semantics baseline to deal with thils.
… The new version of the baseline gets rid of the well-formed semantics.

ora: What does this buy us. And, what are the downsides of this?

enrico: It means we don't need a well-formed syntax; you can write whatever you want.
… It also introduces the notion that triple terms only make sense in the object position.
… It maintains the "do whatever you want" philosophy of RDF, although it will have some meaning.

ora: If I use something which is not a property, I get nonsense.

enrico: You get a warning, as among the entailed triples you get something that does not sound correct.e
… This is typical with reasoning. You might derive something from your knowledge that is wrong, which means you need to go back and fix it.
… The entailment is interesting when you ask why something is an inferrence of rdf:ReificationProperty.
… The idea is that people will just use the short-cut, so it will always make sense.

ora: Should we add something saying that implementations are free to warn the user.

enrico: It's an entailment, so you assume that users mean what they say.

ora: This is in line with our earlier thinking; if you do something that's not okay you get something out which is not okay.

<enrico> Any IRI used as the predicate of a triple whose object is a triple term denotes an instance of the denotation of rdf:ReificationProperty.

enrico: This is what we voted on last Friday.

william_vw: Is rdf:ReificationProperty a sub-property of rdf:Property?

enrico: Yes. The modeling parts are discussed at the end.

<pfps> Remember that subclass and subproperty in RDF need to be stated - they never arise because of subset relationships

william_vw: I was talking with Doerte and she made the point that you can always infer that any object of rdf:ReificationProperty, as it is a sub-property of rdf:Property, you can infer that a property :x is used in a triple with a triple term.

enrico: We may have something to fix.
… In principle, this should not happen.

ora: Do you want to fix this before we vote on it?

enrico: I'll let you know.

pchampin: I may be misunderstanding, but I don't think there is an issue ...
… My understand that rdf:ReificationProperty is a sub-class of rdf:Property. Not a sub-property of anything.
… There may be a question if every reification property is a sub-property of rdf:refies, but not necessarily.
… That doesn't man that the presense of a property used with a triple term would entail some other property.

enrico: In RDF simple entailment, we use classes and instances of classes. This does not say anything about sub-properties.

<niklasl> +1 rdf:ReificationProperty rdfs:subClassOf rdf:Property .

william_vw: But, it's not the case that everything needs to be a sub-property of rdf:Property?

enrico: :s :p <<(...))>>> does not imply :p a sub-property of rdf:refies.

william_vw: I thought that everything in the property position can be inferred to be a sub-class of rdf:Property.

<pchampin> I think that William confuses rdf:Propety with owl:topObjectProperty / owl:DataProperty

niklasl: OWL has some other things, but RDF is simpler.

<Souri> Would this be allowed in a graph? ==> :x :firstName "John" . :y :firstName <<( :s :p :o )>> . (I hope not.)

gtw: What is the value of having this rdf:ReificationProperty?
… The sematantics seem to say it is entailed, but what do we get from that?

<tl> https://www.w3.org/TR/2014/REC-rdf-schema-20140225/#ch_property

enrico: You don't get anything, but it suggests that such a property is a rdf:ReificationProperty.

gtw: Why do it then?
… If it doesn't mean anything.

enrico: All of these entailments don't mean anything, but they help with understanding the model.
… It helps you to debug your graph.

<TallTed> Do we have an explicit draft proposal, of the thing that we might be voting on? That might help this discussion...

enrico: rdfs:Resource is also pointless.

gtw: We're not discussing changing those things, but I don't see the value of adding this if we think it's pointless.

<AndyS> rdf-semantics -- """rdfD2 xxx aaa yyy . aaa rdf:type rdf:Property ."""

enrico: It does not enrich your graph semantically, but allows you to see the entailments.

gtw: It's not saying that everything in the domain is a triple term.

enrico: It's like entailment, if you compute some entailments, that are also pointless, as they are of necessity already true.
… This allows you to increase your trust in the graph. If you see something clearly false, you have something to fix.
… Entailment is pointless, because it is already true. But, when you see it you learn something about your data.

ora: This matches my experience. It's helpful when building tooling.

tl: I understood this as a guide. You can define properties with more specific capabilities, but this is really just documentation

william_vw: I think Souri had some reservations that I asked to be clarified.

<Zakim> Souri, you wanted to ask Would this be allowed in a graph? ==> :x :firstName "John" . :y :firstName <<( :s :p :o )>> . (I hope not.)

william_vw: It would be more difficult to implement, and would lead to users messing up their data.

Souri: The original idea was to be minimal; we get a triple term who's only value is to define a reifier to talk about the triple term.
… When you see rdf:reifies, expect a triple term. That worked well from a minimalist point of view.
… when we introduce rdf:ReificationProperty, we shouldn't allow things that aren't aligned with the intention of ReificationProperty.
… Are we going to allow this, or not?
… I don't want to allow mixed use of Triple Terms.
… I see :firstName :John, and later <<(...)>>, it introduces a problem.
… If we allow any property to used, then by virtue of RDF Entailment, this causes a conflict.
… I'm not sure we need to bring in the rdf:ReificationProperty, we only need rdf:reifies.
… I'm not sure what we're getting out of it other than to find inconsistencies.

enrico: It would be more complex to impose such a restriction.
… Triple Terms can't appear elsewhere, so you need to defined a well-formed syntax.
… It's not obvious that having an enforced syntax is simpler than using the entailments to flag misuse.

tl: I think it's necessary to define an extension point for triple terms and rdf:reifies. If the group doesn't support asserts/states, then I would be in favor of the rdf:ReificationProperty.
… I am for prohibiting triple terms in the subject position, but not for other hard restrictions.

pchampin: Souri's concerns reminds me of another discrepancy: that with literals.
… Some implementations recognize xsd:integer and will reject literals that are invalid.
… But, the abstract data model allows them to be stated.
… The same can occur with rdf:ReificationProperty.
… We already use this type of flexibility unconsciously; the reasoning holds here too.
… By not insisting on well-formedness this allows some implementations to be more strict.

ora: Not quite ready to vote on now.

Souri: My phylosophy is that if you give people too much freedom, they will mess up.
… People will try to do things that don't make sense.
… Unless there is a substantial benefit, it may be better to not allow it to be stated.
… If we have rdf:reifies, we can do anything with the reifier, including to give it a type.
… The rdf:reifies hook gives us the ability ...

<Zakim> gtw, you wanted to mention that RDF 1.0-style reification will make any restriction on rdf:reificationProperty difficult due to rdf:object

fsasaki: I agree with Souri

gtw: In RDF 1.0 reification, it would be hard to do these sorts of restrictions.
… I don't see the value in rdf:ReificationProperty.
… It would be unfortunate if we got to the point where we said it was okay to violate such restrictions.

<TallTed> Please, please, can the agenda (and mailing list) include explicit text of proposal(s) on which we aim to vote? A link to a complete page of meeting minutes doesn't help advance prep much if at all.

ora: People should think about this.

Proposal for next week's discussion

ora: Anything else to discuss next week?

tl: I'd like to discuss rdf:states/rdf:asserts.

<AndyS> Is there anything we need to do for TPAC?

ora: Another good discussion for next week; what do we want to accomplish at TPAC?

enrico: Another thing related to rdf:ReificationProperty is the unrestricted nature of RDF, and if triple terms should be restricted from being used in the subject position.

<tl> s/rdf:asserted/rdf:asserts

ora: We can continue with today's discussion and get into some of these other issues.
… I don't think we need to vote on these, as they are clear discussion topics.

niklasl: I think the detail about naming the range of rdf:reifies is baked into the discussion.

Review of pull requests, available at 4

ora: There are several editorial things.
… It would be nice if we could see how long things have been open.

gkellogg: plan to merge w3c/rdf-turtle#62 after the meeting.

<gb> Pull Request 62 Add processor state, term constructor, and triple constructors. Change reifiedTriple to reifingTriple. (by gkellogg) [spec:editorial]

rubensworks: w3c/sparql-protocol#28 , w3c/sparql-update#40 , and w3c/sparql-service-description#27 are all the same and has good agreement.
… There are several about migrating from quoted triples to triple terms/reifiers which have good reviews.
… I think they can all be merged.
… Including Andy's update to the SPARQL grammar.

ora: No objections heard. General agreement that all open PRs can be merged.

AndyS: I think it's important to get the grammar in.

gkellogg: I think w3c/rdf-tests#135 needs to be merged.

<gb> Pull Request 135 Updates Turtle tests to use triple term syntax and reifications (by gkellogg) [enhancement] [Turtle]

AndyS: It's a bit more complex. It depends on what the expectations are.

gkellogg: I'd rather merge sooner rather than later.

AndyS: I wanted to point out that people may not have implementations ready to do good validation.

ora: I agree, lets merge.

Issue Triage, available at 5

ora: we're almost out of time, but I urge people to examine open issues to see what they may want to work on.
… We can pick up some of these items in due course, maybe at TPAC.

ktk: I think we want to spend some time together to go through the lists.

Any Other Business (AOB), time permitting

ktk: we have a couple of new members, although they're not on the call.

pchampin: University of Oxford joined with Ian Horrocks.

ora: Oxford Semantics was just acquired by Samsung.

Julian: I'm a PhD student at Universidad Politécnica de Madrid. I have already worked with RDF-star.

ora: Welcome!

<TallTed> yes, Samsung is W3C member -- https://www.w3.org/membership/list/?initial=s&ecosystem=network-communications

TallTed: It would be helpful if we could have explicit proposals for what we're voting on, not pointers to discussions.

<gkellogg_> s|<tl> s/rdf:asserted/rdf:asserts||

Summary of resolutions

  1. Approve last two weeks' minutes
Minutes manually created (not a transcript), formatted by scribe.perl version 229 (Thu Jul 25 08:38:54 2024 UTC).

Diagnostics

Succeeded: s/that issue/there is an issue/

Succeeded: s/rdf:Resource/rdfs:Resource

Succeeded: s/with other capabilities/with more specific capabilities

Succeeded: s/rdf:stated/rdf:states

Failed: s/rdf:asserted/rdf:asserts

Succeeded: s|4|https://github.com/w3c/sparql-protocol/pull/28

Succeeded: s|5|https://github.com/w3c/sparql-update/pull/40

Succeeded: s|and 6|and https://github.com/w3c/sparql-service-description/pull/27

Succeeded: s/Horricks/Horrocks

Succeeded: s|https://github.com/w3c/sparql-protocol/pull/28,|https://github.com/w3c/sparql-protocol/pull/28 ,

Succeeded: s|https://github.com/w3c/sparql-update/pull/40,|https://github.com/w3c/sparql-update/pull/40 ,

Succeeded: s|rubensworks: It's|rubensworks:

Succeeded: s|[introductory comments]|I'm a PhD student at Universidad Politécnica de Madrid. I have already worked with RDF-star.

Succeeded: s/why something is an interest/why something is an inferrence/

Succeeded 10 times: s/ ReificationProperty/ rdf: ReificationProperty/g

Succeeded 1 times: s/ReificationPropery/rdf:ReificationProperty/g

Succeeded 10 times: s/rdf: ReificationProperty/rdf:ReificationProperty/g

Succeeded: s| rdf:states/asserted| rdf:states/rdf:asserts|

Failed: s|<tl> s/rdf:asserted/rdf:asserts||

Maybe present: Julian, ktk, pchampin

All speakers: AndyS, enrico, fsasaki, gkellogg, gtw, Julian, ktk, niklasl, ora, pchampin, rubensworks, Souri, TallTed, tl, william_vw

Active on IRC: Adrian, AndyS, Dominik_T, eBremer, enrico, fsasaki, gkellogg, gkellogg_, gtw, niklasl, olaf, ora, pchampin, pfps, rubenswo_, rubensworks, Souri, TallTed, tl, william_vw