- From: Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu>
- Date: Mon, 16 Nov 2020 11:20:58 +0100
- To: "public-rdf-star@w3.org" <public-rdf-star@w3.org>
- Message-ID: <cc7bb4bf-1235-8ab8-f331-4f1a34242196@ercim.eu>
Hi all,
following the discussions about referential opacity [1,2], let me share
the results of some experiments that I have done. I created a small
python script [3] which:
* feeds a small RDF* in the triple store, and then
* checks the result of a few ASK queries on that graph.
I ran it with GraphDB, Stardog, Corese and Fuseki (all with OWL RL
inference enabled). The findings are the following.
* All 4 implementations treat IRIs inside embedded triple as
referentially opaque, i.e. << :s :p :o1 >> and << :s :p :o2 >> are
considered different, even if :o1 owl:sameAs :o2. (NB: Stardog
issues an error on that test, but that's a bug that I discussed
privately with Pavel, and he confirmed that the intended behaviour
is the same as the others).
* 3 of the 4 implementations treat literals inside embedded triples as
referentially opaque, i.e. << :s :p "42"^^xsd:integer >> and << :s
:p "042"^^xsd:integer >> are considered different.
* The handling of bnodes is more heterogeneous; the 1st test replaces
an IRI by a bnode, the 2nd test replaces a bnode by another bnode. I
suspect the heterogeneity is related to the bug mentioned above in
Stardog, and a known issue in Jena [4].
Here are the detailed results (note that the tests are about referential
*transparency* (the ASK query will return False if the terms are
referentially opaque).
GraphDB
supports owl:sameAs: True
RDF* mode: SA
ref. transp. IRI: False
ref. transp. lit.: False
ref. transp. bnode: True
ref. transp. bnode2: True
Stardog
supports owl:sameAs: True
RDF* mode: PG
ref. transp. IRI: (ERROR)
ref. transp. lit.: False
ref. transp. bnode: False
ref. transp. bnode2: True
Corese
supports owl:sameAs: True
RDF* mode: PG
ref. transp. IRI: False
ref. transp. lit.: True
ref. transp. bnode: True
ref. transp. bnode2: True
Fuseki
supports owl:sameAs: True
RDF* mode: SA
ref. transp. IRI: False
ref. transp. lit.: False
ref. transp. bnode: False
ref. transp. bnode2: False
best
[1] https://github.com/w3c/rdf-star/issues/22
[2] https://w3c.github.io/rdf-star/Minutes/2020-11-13.html#item03
<https://w3c.github.io/rdf-star/Minutes/2020-11-13.html#item03>
[3] https://gist.github.com/pchampin/a53f53cb23591776cf33c012cc32c090
[4] https://issues.apache.org/jira/browse/JENA-1952
<https://issues.apache.org/jira/browse/JENA-1952>
Attachments
- application/pgp-keys attachment: OpenPGP_0x9D1EDAEEEF98D438.asc
Received on Monday, 16 November 2020 10:21:10 UTC