Changeset 40:03e0f7574224 in AnnotationManagerN4J for src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java
Legend:
- Unmodified
- Added
- Removed
-
src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java
r36 r40 528 528 */ 529 529 String targetBaseUri = annot.getTargetBaseUri(); 530 Node targetNode = null; 530 531 if (targetBaseUri != null) { 531 Node target = getOrCreateTargetNode(targetBaseUri);532 getOrCreateRelation(annotNode, RelationTypes.ANNOTATES, target );532 targetNode = getOrCreateTargetNode(targetBaseUri, NodeTypes.TARGET); 533 getOrCreateRelation(annotNode, RelationTypes.ANNOTATES, targetNode); 533 534 } 534 535 … … 541 542 annotNode.setProperty("targetFragment", targetFragment); 542 543 annotNode.setProperty("fragmentType", fragmentType.name()); 544 } 545 546 /* 547 * the annotation resource 548 */ 549 String resourceUri = annot.getResourceUri(); 550 if (resourceUri != null) { 551 Node resource = getOrCreateTargetNode(resourceUri, NodeTypes.RESOURCE); 552 getOrCreateRelation(annotNode, RelationTypes.ANNOTATES, resource); 553 getOrCreateRelation(targetNode, RelationTypes.PART_OF, resource); 543 554 } 544 555 … … 712 723 */ 713 724 protected Relationship getOrCreateRelation(Node start, RelationshipType type, Node end) { 725 if (start == null || end == null) return null; 714 726 if (start.hasRelationship()) { 715 727 // there are relations … … 754 766 } 755 767 756 protected Node getOrCreateTargetNode(String uri ) {757 Index<Node> idx = getNodeIndex( NodeTypes.TARGET);768 protected Node getOrCreateTargetNode(String uri, NodeTypes type) { 769 Index<Node> idx = getNodeIndex(type); 758 770 IndexHits<Node> targets = idx.get("uri", uri); 759 771 Node target = targets.getSingle(); … … 763 775 try { 764 776 target = graphDb.createNode(); 765 target.setProperty("TYPE", NodeTypes.TARGET.name());777 target.setProperty("TYPE", type.name()); 766 778 target.setProperty("uri", uri); 767 779 idx.add(target, "uri", uri);
Note: See TracChangeset
for help on using the changeset viewer.