Re: Referential transparency and opacity

>
> 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