- 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