Re: drop referentially opaque semantics in embedded triples

[This is a revision of a previous message that had a bad example.]

An excellent description of the problems with referential opacity in embedded 
triples.   I agree wholeheartedly.  I particularly like the detailed 
investigation into the use cases.

I also note that referential opacity works poorly for the annotation syntax 
(PG mode).  With referential opacity

:berlin :population 3644826 {| :determination-method :statistical-updating |}

does not entail

:berlin :population 03644826 {| :determination-method :statistical-updating |}

which I take to be completely unexpected.

(I purposefully picked an example that did not need any external identity 

With this observation I would put use cases 3.1, 3.3, 3.4, 3.5, 3.6, 3,8, 3.9, 
3.13, and 3.15 definitely in the referential transparency camp.


PS:  On a technical note, with the new semantics switching between various 
versions of transparent and opaque is simply a matter of changing the triples 
added when eliminating an embedded triple (described in Section 6.1).

Received on Friday, 7 May 2021 15:21:10 UTC