Re: provenance of multiple triples all at once in RDF-star

Yes! And if we invert the relationship, as Andy has shown, to talk
about the occurrence, things really start to fall into place. We
talked about that at the end of the Semantics TF telecon (and looked
quickly at an example in IRC). That is, this:

    :occurrence rdf:occurrenceOf << :s1 :p1 :o1 >> .
    :occurrence rdf:occurrenceOf << :s2 :p2 :o2 >> .

... is a named occurrence of a graph! That is, a graph term in Notation 3:

    :occurrence rdf:occurrenceOf { :s1 :p1 :o1, :o2 } .

can, conversely, be represented in RDF-star by the triples above.

And having triple terms in the object position (which I can much more
readily accept), as Pat once phrased it [1], "only gives you power
over the token, not over the abstraction itself". Which I think is
paramount [2].

I think this (Andy's consolidation), with triple terms being
transparent and only in the object position (and unasserted of course,
as in "not in the graph"), is actually so close to what I called
"Option C" in [3] (an attempt to consolidate my perspective with RDFn)
that I'm becoming convinced by it.

Andy's Consolidation as (pseudo-)quads:
    _:claim1 rdfx:occurenceOf << <s> <p> <o> >> <graph1> .

"My option C" as quads (with a quirky syntax for "named scopes"):
    <s> <p> <o> <graph1>{_:claim1} .  # SCOPE(boundby=<graph1>, id=_:claim1)

Bound Named Graphs (would require assertable dataset semantics):
    <s> <p> <o> _:claim1 .
    _:claim1 rdfx:boundBy <graph1> .

RDFn as Quins (but assuming a named triple is unasserted, to avoid the
multiset problem):
    <s> <p> <o> <graph1> _:claim1 .

These are *almost* only typographically different. They all introduce
*something*, and I think they can be consolidated into this
"conditioned" RDF-star (talking about occurrences of triple terms;
these occurrences cannot be restricted to one triple, and that might
actually be a major feature).

As Andy and Thomas have also been talking about, perhaps
rdf:occurrenceOf isn't the best name. Alternatives suggested:
rdfx:useOf, rdfx:meaning, rdfx:asserts, rdfx:claims. Let's add
rdfx:states and rdfx:entails to the suggestions, and even plain old
rdf:value, and see what works with the use cases.

(I believe that these "occurrences" or "qualifications", like with
named graphs (the resources whose names we pair with graphs), should
in principle be any kind of resource. But this time around, the
pairing is explicit, and the "values" are triple terms, unasserted.)

We might even define the relationship to plain old reification, along
the lines of this:

    _:claim1 rdfx:states << <s> <p> <o1> >> .

under some entailment extension entailing:

    _:claim1 a rdf:Statement ;
        rdf:subject <s>;
        rdf:predicate <p> ;
        rdf:object <o1> .

Assuming a restriction like:

    rdf:Statement rdfs:subClassOf [ a owl:Restriction ; owl:onProperty
rdfx:states ; owl:cardinality 1 ] .

(And perhaps even recommend "well-formed" reifications to be
conversely upgraded to "qualified triple terms" in RDF 1.2.)

With all this it's becoming clear how the relationships between
reification, named graphs and triple terms can be defined.

Cheers,
Niklas

[1]: https://lists.w3.org/Archives/Public/public-rdf-wg/2011Feb/0060.html
[2]: https://lists.w3.org/Archives/Public/public-rdf-star-wg/2023Dec/0010.html
[3]: https://lists.w3.org/Archives/Public/public-rdf-star-wg/2023Nov/0061.html


On Sat, Dec 16, 2023 at 1:02 AM Peter F. Patel-Schneider
<pfpschneider@gmail.com> wrote:
>
> The comment below by Olaf caused me to realize that RDF-star already allows
> consolidation of provenance, as follows:
>
> << s p o >> prov:provenance :p1 .
> << s2 p2 o2 >> prov:provenance :p1 .
> :p1 prov:source :nyt ;
>      prov:date "2023" ;
>      prov:strength 1.0 .   # It's the New York Times, after all!
>
> No need to have any sort of multi-triple construct.
>
> peter
>
>
> On 12/14/23 18:41, Olaf Hartig wrote:
> [...]
> >
> > What should happen if someone writes the following two lines?
> >
> >    :occurrenceName rdf:occurrenceOf << :s1 :p1 :o1 >> .
> >    :occurrenceName rdf:occurrenceOf << :s2 :p2 :o2 >> .
> >
> > Should the abstract syntax contain a constraint by which such a multi-use of :occurrenceName is defined to be invalid? Or should this be treated as an inconsistency under whatever entailment regime that is concerned with such rdf:occurrenceOf statements?
> >
> > Thanks,
> > Olaf
>
>
>   [...]
>

Received on Saturday, 16 December 2023 06:26:54 UTC