@Override public Node map(Relation relation) { return relation.follow(); } }
@Override public boolean select(Relation relation) { return relation.follow().equals(AbstractContextNode.this); } };
public void testDeleteContextNodesDeletesRelations() throws Exception { Graph graph27 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-27"); Relation r1 = graph27.setDeepContextNode(XDIAddress.create("=animesh")).setRelation(XDIAddress.create("#friend"), XDIAddress.create("=markus")); Relation r2 = graph27.setDeepContextNode(XDIAddress.create("=markus")).setRelation(XDIAddress.create("#friend"), XDIAddress.create("=animesh")); ContextNode markus = (ContextNode) r1.follow(); ContextNode animesh = (ContextNode) r2.follow(); markus.delete(); assertNotNull(graph27.getDeepContextNode(XDIAddress.create("=animesh"))); assertFalse(graph27.getDeepContextNode(XDIAddress.create("=animesh")).getRelations().hasNext()); assertFalse(graph27.getDeepContextNode(XDIAddress.create("=animesh")).getRelations(XDIAddress.create("#friend")).hasNext()); assertEquals(graph27.getDeepContextNode(XDIAddress.create("=animesh")).getRelationCount(), 0); assertFalse(graph27.getDeepContextNode(XDIAddress.create("=animesh")).getIncomingRelations().hasNext()); assertFalse(graph27.getDeepContextNode(XDIAddress.create("=animesh")).getIncomingRelations(XDIAddress.create("#friend")).hasNext()); assertFalse(animesh.getRelations().hasNext()); assertFalse(animesh.getRelations(XDIAddress.create("#friend")).hasNext()); assertEquals(animesh.getRelationCount(), 0); assertFalse(animesh.getIncomingRelations().hasNext()); assertFalse(animesh.getIncomingRelations(XDIAddress.create("#friend")).hasNext()); animesh.delete(); graph27.setStatement(XDIStatement.create("+a+b/$i/=x")); graph27.setStatement(XDIStatement.create("=x/$i/=y")); graph27.getRootContextNode().getContextNode(XDIArc.create("+a")).delete(); assertEquals(graph27.getRootContextNode().getAllRelationCount(), 1); assertTrue(graph27.getRootContextNode().getContextNode(XDIArc.create("=x")).getRelations().hasNext()); assertFalse(graph27.getRootContextNode().getContextNode(XDIArc.create("=x")).getIncomingRelations().hasNext()); graph27.getRootContextNode().getContextNode(XDIArc.create("=x")).delete(); assertEquals(graph27.getRootContextNode().getAllRelationCount(), 0); graph27.close(); }
assertNotNull(graph30.getRootContextNode().getDeepContextNode(XDIAddress.create("=a=b=c"))); assertNotNull(graph30.getRootContextNode().getDeepContextNode(XDIAddress.create("=a=b=c")).getRelation(XDIAddress.create("+d"))); assertEquals(graph30.getRootContextNode().getDeepContextNode(XDIAddress.create("=a=b=c")).getRelation(XDIAddress.create("+d")).follow(), innerRootContextNode); assertEquals(graph30.getRootContextNode().getAllContextNodeCount(), 4); assertEquals(graph30.getRootContextNode().getAllRelationCount(), 1); assertNotNull(graph30.getRootContextNode().getDeepContextNode(XDIAddress.create("=a=b=c"))); assertNotNull(graph30.getRootContextNode().getDeepContextNode(XDIAddress.create("=a=b=c")).getRelation(XDIAddress.create("+d"))); assertEquals(graph30.getRootContextNode().getDeepContextNode(XDIAddress.create("=a=b=c")).getRelation(XDIAddress.create("+d")).follow(), innerRootContextNode); assertEquals(graph30.getRootContextNode().getAllContextNodeCount(), 4); assertEquals(graph30.getRootContextNode().getAllRelationCount(), 1); assertNotNull(graph30.getRootContextNode().getDeepContextNode(XDIAddress.create("=a=b=c"))); assertNotNull(graph30.getRootContextNode().getDeepContextNode(XDIAddress.create("=a=b=c")).getRelation(XDIAddress.create("+d"))); assertEquals(graph30.getRootContextNode().getDeepContextNode(XDIAddress.create("=a=b=c")).getRelation(XDIAddress.create("+d")).follow(), innerRootContextNode); assertEquals(graph30.getRootContextNode().getAllContextNodeCount(), 4); assertEquals(graph30.getRootContextNode().getAllRelationCount(), 1);
assertTrue(root.getContextNodes().hasNext()); assertTrue(root.getRelations().hasNext()); assertNotNull(root.getRelations().next().follow()); assertNull(root.getLiteralNode()); assertEquals(root.getContextNodeCount(), 2); assertTrue(root.getAllLiteralNodes().hasNext()); root.getRelations().next().follow().delete(); root.getContextNodes().next().delete(); root.getContextNodes().next().delete();
assertEquals(root.getRelationCount(), 1); assertEquals(root.getRelationCount(XDIAddress.create("#rel")), 1); assertEquals(root.getRelation(XDIAddress.create("#rel"), XDIAddress.create("=markus")).follow(), markus); assertEquals(root.getRelation(XDIAddress.create("#rel")).follow(), markus); assertEquals(new IteratorCounter(root.getRelations(XDIAddress.create("#rel"))).count(), 1); assertEquals(new IteratorCounter(root.getRelations()).count(), 1);