Hi Al,

thanks for pointing this out, this is clearly a bug. For the sake of
documentation I have created an issue at

https://issues.apache.org/jira/browse/MARMOTTA-401


I have also created a patch in the latest development branch that should
fix the issue. Can you please check with a new snapshot from GIT if it now
works for you?

Greetings,

Sebastian


2013/12/10 Alan Melville <[email protected]>

> Hello all,
>
> I have encountered a situation where by the same cache key is generated for
> different triple statements. The current key generation is based on hash
> codes ( see IntArray.createSPOCKey(s, p, o, c)), which unfortunately is not
> guaranteed to be unique across different node types.
>
> In my particular example I have a KiWiLiteral node with a URI string value.
> I also have another KiWiUriResource node with the same value for its URI
> (messy I know :( ).
>
> <rdf:Description rdf:about="http://vocabulary.curriculum.edu.au/access/10
> ">
>         <rdf:type rdf:resource="
> http://www.w3.org/2004/02/skos/core#Concept"/>
>         <skos:prefLabel xml:lang="en">Visual independence</skos:prefLabel>
>         <skos:topConceptOf
> rdf:resource="*http://vocabulary.curriculum.edu.au/access
> <http://vocabulary.curriculum.edu.au/access>*"/>
>         <skos:topConceptOf>*http://vocabulary.curriculum.edu.au/access
> <http://vocabulary.curriculum.edu.au/access>*</skos:topConceptOf>
>
>
> KiWiLiteral.hashCode() is solely based on its label/content and
> KiWiUriResource.hashCode() is solely based on its URI hence to two
> different nodes generate the same hashCode, which in its self is fine, but
> the IntArray.createSPOCKey(s, p, o, c) generates the same key and thus the
> KiWiValueFactory.tripleRegistry may return the wrong KiWiTriple (see
> KiWiValueFactory.createStatement(s, p, o, c, con)).
>
>
> Proposed solution:
>
> 1) Update the hashCode in the KiWiNode types to be more unique?
> 2) Adjust the IntArray.createSPOCKey implementation?
> 3) other?
>
> Happy to raise a Jira ticket if the dev community feels this needs
> attention.
>
> Kind regards
> Al
>

Reply via email to