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
>

Reply via email to