W3C

– DRAFT –
Data Shapes Working Group teleconference

02 June 2025

Attendees

Present
ajnelson-nist, AndyS, bergos, caribou, David, elianaP, HolgerK, TallTed
Regrets
-
Chair
elianaP
Scribe
AndyS, simonstey

Meeting minutes

elianaP: Some attendance in this slot
… two points in the agenda

bergos: RDF 1.2
… with and without associated asserted triple for a triple term
… wanting to make people aware of this
… I need some input

<elianaP> w3c/data-shapes#379

tallted: RDF 1.2. introduces triple term <<(:s :p :o )>>
… It is not a triple in the graph (i.e. it is not a member of the set of triples)
… e.g. "joe said <<( :s :p :o )>>"

ajnelson-nist: Is there a property for an asserted triple?
… I can see a UC for is for either in the base graph or inferred?

ack ajnelson-nist

<TallTed> A "fact", being a triple in the graph, is asserted. A "triple term", not being a triple in the graph, is not asserted.

simonstey: we need to clarify how SHACL deals with triple term where the triple is not asserted
… how to validate the triple term

bergos: a triple term in the object position as an RDF term.
… we can have a description of a triple in a another graph e.g. "I disagree with"
… or a change log for deletion of a triple.
… should we deal with triples not asserted
… we have reifiers _:r rdf:reifies <<(:s :p :o)>> .
… doo we need target for triple terms? with or without further restrictions?

<TallTed> note that reifiers (identifiers of reified triples) are not necessarily blank nodes; they can be URI/IRI/URL (whatever is the current catchall)

bergos: ignoring everything not asserted will not work.

elianaP: uses case for looking inside triple term

bergos: question is how to do this.
… use a node expression?
… new target?

AndyS: Need to address Alex's point about inference - that's separate from triple terms
… How you treat inferences isn't particular to triple terms. Whether triples asserted by inference or other means is different mechanism
… Triple terms mostly appear as objects of RDF reification statements
… The subject gives you a resource to talk about this use of the triple term; Sometimes called an "occurrence" - you can make comments about it
… Can reuse same triple term with different RDF reification IRIs for different comments
… Allows talking about different times you've seen this triple term without mixing them up
… For finding them, RDF reification provides navigation method
… bergos touched on working backwards from triple term to access internal structure
… Triple terms create nesting concept - triples as terms within graph; Non-asserted triple terms might need recursive target application
… Need nesting operation like target that works within constraints; Example: find triple terms, then constrain paths to those with specific subjects

<TallTed> Note that "RDF*" and "RDF-star" are old names for preliminary drafts of what will ship as "RDF 1.2". Best not to use the old names, to avoid future confusion.

nick: should support somethin in SHACL core as it is part of RDF 1.2

ajnelson-nist: is property shape adequate for the task?
… what about a "triple term part"?

AndyS: Statement: SHACL should handle RDF triple terms in core without node expressions, Triple terms are part of RDF language now - we should cover basic handling, Need special convenience functions like Andy suggested, Core should handle: follow path -> hit triple pattern -> access subject/predicate/object, Should work whether triple terms are
… asserted or not

SUBJECT(<<(: s :p :o)>>) --> :s

nick: in triples, step "get subject" then keep pathing.
… "in" and "out" operator
… are there UC for this from RDF 1.2 WG?
… how settled is the design from RDF 1.2?

TallTed: not set in stone but in (baked) clay
… WG extended for 2 years
… deal with errata, triple terms, focus (1) easier to talk about a triple without asserting it; and (2) syntax for talking about the triple and simultaneously asserting it
… reduce the user burden in expected common pattern
… classical reification seem as clunky and hard to use.

bergos: homwwork needed. Path in, and also how to validate.

https://www.w3.org/TR/sparql12-query/#func-triple-terms

<ajnelson-nist> I think that's a reasonable example, simonstey.

bergos: moving forward
… I can make some proposals
… need feedback and discussion
… on #379

<mgberg> https://www.w3.org/TR/rdf12-concepts/#dfn-classicize

mgberg: RDF 1.2 transformation to non-triple term form ("classicise", "unstar")
… RDF 1.2 triple terms in an RDF 1.1 graph

ajnelson-nist: sounds like a SHACL profile

ajnelson-nist: RDF 1.2 data with a RDF 1.1 triple store

<TallTed> s|SUBJECT(<<(: s :p :o)>>) --> :s|`SUBJECT(<<(: s :p :o)>>) --> :s`|

<TallTed> s/SUBJECT(<<(: s :p :o)>>) --> :s/... SUBJECT(<<(: s :p :o)>>) --> :s/

Minutes manually created (not a transcript), formatted by scribe.perl version 244 (Thu Feb 27 01:23:09 2025 UTC).

Diagnostics

Succeeded: s/wantign/wanting/

Succeeded: s/.. d/... do/

Succeeded: s/scribe: simonstey//

Succeeded: s/treiple not asserted and (2) syntax for talk about the triple and assert/a triple without asserting it; and (2) syntax for talking about the triple and simultaneously asserting/

Succeeded: s/begos:/bergos:

Succeeded: s/scribe: __TBD__//

Succeeded: s/ackme//

Succeeded: s/ajnelson-nist Is/ajnelson-nist: Is/

Succeeded: s/asserted or not/... asserted or not/

Failed: s|SUBJECT(<<(: s :p :o)>>) --> :s|`SUBJECT(<<(: s :p :o)>>) --> :s`|

Failed: s/SUBJECT(<<(: s :p :o)>>) --> :s/... SUBJECT(<<(: s :p :o)>>) --> :s/

Maybe present: mgberg, nick, simonstey, SUBJECT(<<(

All speakers: ajnelson-nist, AndyS, bergos, elianaP, mgberg, nick, simonstey, SUBJECT(<<(, tallted

Active on IRC: ajnelson-nist, AndyS, bergos, caribou, David, elianaP, HolgerK, mgberg, simonstey, TallTed