Hi Reto, I do not understand your example. The "bNode" and "bNodeClone" are not the same. Even that your force them to return the same hashCode, they are in fact different BNode instances and therefore MUST NOT be treated as the same Resource in a Graph.
AFAIK Clerezza does not support "ids" for BNodes, but relies on "identity" (instance equality - bnode1 == bnode2). So based on that "bode" and "bNodeClone" created by the provided test case are NOT equals, but in fact different resources. What this means for the assertions in the provided test case is described in detail in the following statements. mGraph.add(new TripleImpl(bNode, uriRef1, uriRef2)); mGraph.add(new TripleImpl(bNodeClone, uriRef2, uriRef3)); bNode and bNodeClone are different resources NonLiteral bNodeBack = mGraph.filter(null, uriRef1, uriRef2).next().getSubject(); Assert.assertEquals("The bnode we get back is not equals to the one we added", bNode, bNodeBack); "bNodeBack" is equals to "bNode" NonLiteral bNodeBack2 = mGraph.filter(null, uriRef2, uriRef3).next().getSubject(); "bNodeBack2" is equals to "bNodeClone" Assert.assertEquals("The returnned bnodes are no longer equals", bNodeBack, bNodeBack2); but "bNodeBack" and "bNodeBack2" are not equals as "bNode" and "bNodeClone" are not. Assert.assertTrue("Not finding a triple when searching with equal bNode", mGraph.filter(bNodeBack, uriRef2, null).hasNext()); also this is expected to be empty, because there is no triple such as "bNode", "uriRef2", "*" BTW: if you you change bNodeClone to "bNodeClone = bnode" the test runs fine (as expected) This does not mean that there is no issues related to bNodes. It just means that the provided example does not show the problem. best Rupert On Fri, Jun 28, 2013 at 12:37 PM, Reto Bachmann-Gmür <r...@wymiwyg.com> wrote: > Hi Rupert, > > I've added a commented out failing test for > STANBOL-1130<https://issues.apache.org/jira/browse/STANBOL-1130> > . > > Cheers, > Reto > > > On Fri, Jun 28, 2013 at 12:23 PM, Rupert Westenthaler < > rupert.westentha...@gmail.com> wrote: > >> Hi Reto, >> >> I changed the comparator implementation of the IndexMGraph some weeks >> ago, because the old code was not working when different Resource >> implementations where mixed within the same graph. So this indicates >> indeed a bug. >> >> Can you add a failing unit test for this issue? >> >> best >> Rupert >> >> >> On Fri, Jun 28, 2013 at 12:07 PM, Reto Bachmann-Gmür <r...@apache.org> >> wrote: >> > Hello, >> > >> > Investigating why recipe-exmpansion in no longer working I found that it >> > seems to be an issue with the IndexedMGarph as things work when using >> > SimleMGraph instead. It used to work till a couple of week ago. >> > >> > Now it seems that a bnode is no longer identical to itself when occuring >> in >> > different triples. While I'm investigating further I though I ask if >> > someone else noticed problems like that. >> > >> > Cheers, >> > Reto >> >> >> >> -- >> | Rupert Westenthaler rupert.westentha...@gmail.com >> | Bodenlehenstraße 11 ++43-699-11108907 >> | A-5500 Bischofshofen >> -- | Rupert Westenthaler rupert.westentha...@gmail.com | Bodenlehenstraße 11 ++43-699-11108907 | A-5500 Bischofshofen