- From: Pierre-Antoine Champin <pierre-antoine@w3.org>
- Date: Fri, 16 Feb 2024 18:48:27 +0100
- To: Franconi Enrico <franconi@inf.unibz.it>
- Cc: RDF-star Working Group <public-rdf-star-wg@w3.org>
- Message-ID: <4a7d7e76-492f-49f4-89f7-71fa4a73a98a@w3.org>
On 16/02/2024 18:37, Franconi Enrico wrote:
> I am advocating (in my last email) just the opposite approach:
>
> - *disallow* triple terms, e.g.:
>
> (triple-term (iri "ex:s") (iri "ex:p") (iri "ex:o))
>
> - and *disallow* rdf:nameOf triples, e.g.:
>
> (triple
> (iri "ex:e")
> (iri "rdf:nameOf")
> (triple-term (iri "ex:s") (iri "ex:p") (iri "ex:o))
)
>
> - *keep only* triple occurrences terms, e.g.:
> (triple
> (triple-occurence (iri "ex:e") (iri "ex:s") (iri "ex:p") (iri
> "ex:o))
> (iri "ex:a”)
> (iri "ex:b”)
> )
>
> Just like in CG, there is simple encoding (in the shape of option 2)
> in which simple entailment based on matching works.
Even if we disallow triple terms and keep only term occurrences, the
entailment between the first 2 graphs in my email holds, despite the
fact there is no subgraph of one that is an instance of the other --
i.e. no pattern matching between them.
Besides simple entailment, this means that SPARQL results will be tricky
to define. What should
SELECT ?x { ?x :a :b }
return for this graph ?
x = (triple-occurrence (iri "ex:e") (iri "ex:s") (iri "ex:p") (iri
"ex:o")) -- as suggested by the 1st graph?
Or x = (iri "ex:e"), as suggested by the 2nd graph?
Or both??
> —e.
>
>
>> On 16 Feb 2024, at 18:17, Pierre-Antoine Champin
>> <pierre-antoine@w3.org> wrote:
>>
>> Thanks Enrico for this proposal.
>>
>> I strongly suggest that we get rid of the orange part, with an
>> argument similiar to what Andy brought up during the Semantics TF
>> call today -- and pushing Andy's argument forward.
>>
>> The orange part make "triple occurrences" part of the abstract
>> syntax. Regardless of the name, I think it is a bad idea.
>>
>> In the following, I'll use a lisp-like representation of the
>> *abstract* syntax, hopefully self-explanatory.
>>
>> (graph
>> (triple
>> (triple-occurence (iri "ex:e") (iri "ex:s") (iri "ex:p") (iri "ex:o))
>> (iri "ex:a")
>> (iri "ex:b")
>> )
>> (triple
>> (iri "ex:e")
>> (iri "ex:c")
>> (iri "ex:d")
>> )
>> )
>>
>> According to your semantics, it would be semantically equivalent to
>> the following graph
>>
>> (graph
>> (triple
>> (iri "ex:e")
>> (iri "ex:a")
>> (iri "ex:b")
>> )
>> (triple
>> (triple-occurence (iri "ex:e") (iri "ex:s") (iri "ex:p") (iri "ex:o))
>> (iri "ex:c")
>> (iri "ex:d")
>> )
>> )
>>
>> which would also be equivalent to
>>
>> (graph
>> (triple
>> (iri "ex:e")
>> (iri "ex:a")
>> (iri "ex:b")
>> )
>> (triple
>> (iri "ex:e")
>> (iri "ex:c")
>> (iri "ex:d")
>> )
>> (triple
>> (iri "ex:e")
>> (iri "rdf:nameOf")
>> (triple-term (iri "ex:e") (iri "ex:s") (iri "ex:p") (iri "ex:o))
>> )
>> )
>>
>> We are talking about *simple entailment* here, not some sophisticated
>> semantic extension.
>> This breaks a very important feature of the simple entailment in RDF
>> 1.1, namely: it can be computed by doing simple pattern matching of
>> graphs: https://www.w3.org/TR/rdf11-semantics/#dfn-interpolation
>>
>> Clearly, there is no simple pattern matching method that can detect
>> that the 3 graphs above entail each other.
>>
>> pa
>>
>>
>> On 16/02/2024 15:58, Franconi Enrico wrote:
>>> RDF‐star semantics: option 3
>>> <https://github.com/w3c/rdf-star-wg/wiki/RDF%E2%80%90star-semantics:-option-3>
>>> github.com
>>> <https://github.com/w3c/rdf-star-wg/wiki/RDF%E2%80%90star-semantics:-option-3>
>>> <apple-touch-icon-180x180-a80b8e11abe2.png>
>>> <https://github.com/w3c/rdf-star-wg/wiki/RDF%E2%80%90star-semantics:-option-3>
>>>
>>>
>>> <https://github.com/w3c/rdf-star-wg/wiki/RDF%E2%80%90star-semantics:-option-3>
>>>
>> <OpenPGP_0x9D1EDAEEEF98D438.asc>
>
Attachments
- application/pgp-keys attachment: OpenPGP public key
Received on Friday, 16 February 2024 17:48:31 UTC