Hi Gustavo, that's a historic difference between pure Sesame and Marmotta.
In the early days of KiWi there was not allowed the null context, but there a default context where triples go when no context is specified. Therefore the semantic os null on query is a wildcard (i.e., in context). >From the proposed solutions I'd prefer the first one. But maybe Sebastian Schaffert may have a different point of view. Cheers, On Tue, May 30, 2017 at 7:40 AM, Gustavo Mora <[email protected]> wrote: > In the test [1], the default context of Kiwi is set to null, which implies > that triples inserted into the data base will have a null context too. > However, there is a new test in Sesame 2.8.11 that tests duplicated triples > and it is failing with null contexts. The problem is that Kiwi uses the > following SQL to determine whether a triple is already stored or not. > > SELECT ID .... WHERE subject=# AND predicate=# AND object=# AND > context=null ... > > This SQL always returns an empty result set, because the condition > 'context = null' is not valid and should be replaced with 'context is > null'. This causes that duplicated triples can be stored in Kiwi. > > So there are two solutions: > > 1) To keep allowing null context and modify SQL query. > 2) Modify the test to work with a non-null context? > > Cheers, > Gustavo. > > [1] > https://github.com/gmora1223/marmotta/blob/MARMOTTA-659/ > libraries/kiwi/kiwi-triplestore/src/test/java/org/ > apache/marmotta/kiwi/test/sesame/repository/KiWiRepositoryConnectionTest. > java >
