- From: Anthony Moretti <anthony.moretti@gmail.com>
- Date: Thu, 10 Feb 2022 23:33:44 +1030
- To: Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu>
- Cc: public-rdf-star@w3.org
- Message-ID: <CACusdfQFPfP1AhpdCcvh1sZ40F_ZoVtp_U7gbXBRwi8hUOMqwA@mail.gmail.com>
> > Here is a proposed alternative syntax : > > Referentially opaque statement: > > << S P O >> > > Referentially transparent statement: > > [ :transparentStatementOf << S P O >> ] > Thomas said that referentially opaque statements "silently swim against the flow of all other RDF around them", I think I agree with that, and another way to put it could be that they violate the Principle of least surprise <https://en.wikipedia.org/wiki/Principle_of_least_astonishment>. In my view, it's surprising when you first learn that quoted triples are referentially opaque, it's like a gotcha. Then, once you learn that, I think it'd also be surprising to learn that the above was the syntax for a referentially transparent statement. In my view it's like a double violation of that principle. So, to the question "would it be possible to support both referentially > transparent and referentially opaque statements", I would answer "yes, > using the current specification of RDF-star" -- and the appropriate > semantic extensions. > This is good to know though, thank you. Regards Anthony On Thu, Feb 10, 2022 at 10:13 PM Pierre-Antoine Champin < pierre-antoine.champin@ercim.eu> wrote: > > On 10/02/2022 09:45, Anthony Moretti wrote: > > I'm aware there are still semantics issues, but if they're potentially > resolvable would it be possible to support both referentially transparent > and referentially opaque statements by using a different syntax for each? > So, I guess, something like: > > Referentially transparent statement: > << S R O >> > > Referentially opaque statement: > <<" S R O ">> > > Here is a proposed alternative syntax : > > Referentially opaque statement: > > << S P O >> > > Referentially transparent statement: > > [ :transparentStatementOf << S P O >> ] > > You would need to define the semantics of :transparentStatementOf > accordingly. This could be done by > 1) making it an owl:InverseFunctionalProperty, so that > > X :transparentStatementOf << S P O >>. > Y :transparentStatementOf << S P O >>. > > entails that X and Y are one and the same thing. > > 2) making it a transparency-enabling property ( > https://www.w3.org/2021/12/rdf-star.html#selective-ref-transparency), so > that > > X :transparentStatementOf << S P O >>. > S owl:sameAs S'. > P owl:sameAs P'. > O owl:sameAs O'. > > entails > > X :transparentStatementOf << S' P' O' >>. > > So, to the question "would it be possible to support both referentially > transparent and referentially opaque statements", I would answer "yes, > using the current specification of RDF-star" -- and the appropriate > semantic extensions. > > > With one usage rule: > > Transparent statements can only be nested in transparent statements. > > The rule means that once the <<" ">> delimiters are used everything > inside, no matter how deeply nested, is also referentially opaque, which > keeps things composable. > > Just asking because I saw Thomas' email > <https://lists.w3.org/Archives/Public/public-rdf-star/2021May/0023.html> about > the topic. > > Regards > Anthony > >
Received on Thursday, 10 February 2022 13:09:40 UTC