Changeset 28:f4ed2ed33e5b in AnnotationManagerN4J
- Timestamp:
- Sep 25, 2012, 7:32:56 AM (12 years ago)
- Branch:
- default
- Location:
- src/main/java/de/mpiwg/itgroup/annotations
- Files:
-
- 4 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/main/java/de/mpiwg/itgroup/annotations/NS.java
r18 r28 3 3 public class NS { 4 4 public static final String MPIWG_PERSONS_URL = "http://entities.mpiwg-berlin.mpg.de/persons/"; 5 public static final String MPIWG_TAGS_URL = "http://entities.mpiwg-berlin.mpg.de/tags/"; 5 6 public static final String MPIWG_GROUPS_URL = "http://entities.mpiwg-berlin.mpg.de/groups/"; 6 7 public static final String OAC_NS = "http://www.openannotation.org/ns/"; -
src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java
r24 r28 25 25 import de.mpiwg.itgroup.annotations.Group; 26 26 import de.mpiwg.itgroup.annotations.Person; 27 import de.mpiwg.itgroup.annotations.Tag; 27 28 28 29 /** … … 74 75 } 75 76 77 /** 78 * @param tagUri 79 * @return 80 */ 81 public Node getTagNodeByUri(String tagUri) { 82 if (tagUri == null) return null; 83 Node person = getNodeIndex(NodeTypes.TAG).get("uri", tagUri).getSingle(); 84 return person; 85 } 86 76 87 public List<Actor> getActors(String key, String query, NodeTypes type) { 77 88 ArrayList<Actor> actors = new ArrayList<Actor>(); … … 111 122 return groups; 112 123 } 113 114 /** 124 125 126 /** 127 * Returns List of Tags. 128 * Key has to be indexed. 129 * 130 * @param key 131 * @param query 132 * @return 133 */ 134 public List<Tag> getTags(String key, String query) { 135 ArrayList<Tag> tags = new ArrayList<Tag>(); 136 Index<Node> idx = getNodeIndex(NodeTypes.TAG); 137 if (key == null) { 138 key = "uri"; 139 query = "*"; 140 } 141 IndexHits<Node> groupNodes = idx.query(key, query); 142 for (Node groupNode : groupNodes) { 143 Tag tag = createTagFromNode(groupNode); 144 tags.add(tag); 145 } 146 return tags; 147 } 148 149 150 /** 115 151 * Returns List of Groups the person is member of. 116 152 * … … 315 351 return null; 316 352 } 353 354 public Tag createTagFromNode(Node tagNode) { 355 String name = (String) tagNode.getProperty("name", null); 356 String uri = (String) tagNode.getProperty("uri", null); 357 String id = (String) tagNode.getProperty("id", null); 358 359 return new Tag(id, uri, name); 360 361 } 362 317 363 318 364 /** … … 430 476 for (String tag : newTags) { 431 477 // create new tag 432 Node tagNode = getOrCreateTagNode( tag);478 Node tagNode = getOrCreateTagNode(new Tag(null,null,tag)); 433 479 getOrCreateRelation(annotNode, RelationTypes.HAS_TAG, tagNode); 434 480 } … … 651 697 } 652 698 653 protected Node getOrCreateTagNode( String tagname) {699 protected Node getOrCreateTagNode(Tag inTag) { 654 700 Index<Node> idx = getNodeIndex(NodeTypes.TAG); 701 String tagname = inTag.getName(); 655 702 IndexHits<Node> tags = idx.get("name", tagname); 656 703 Node tag = tags.getSingle(); … … 663 710 tag.setProperty("name", tagname); 664 711 idx.add(tag, "name", tagname); 712 713 tag.setProperty("id", inTag.getId()); 714 tag.setProperty("uri", inTag.getUri()); 715 idx.add(tag, "uri", inTag.getUri()); 716 665 717 tx.success(); 666 718 } finally { … … 766 818 } 767 819 820 public List<Annotation> getAnnotationsByTag(String tagUri) { 821 822 ArrayList<Annotation> ret = new ArrayList<Annotation>(); 823 Node tag = getTagNodeByUri(tagUri); 824 825 826 Iterable<Relationship> rels = tag.getRelationships(Direction.INCOMING,RelationTypes.HAS_TAG); 827 828 for (Relationship rel:rels){ 829 Node node = rel.getStartNode(); 830 ret.add(createAnnotationFromNode(node)); 831 832 } 833 return ret; 834 } 835 768 836 } -
src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorRestlet.java
r18 r28 42 42 router.attach("/search", AnnotatorSearch.class); 43 43 router.attach("/groups", AnnotatorGroups.class); 44 44 router.attach("/tags", AnnotatorTags.class); 45 router.attach("/tags/{id}", AnnotatorTags.class); 46 router.attach("/tags/{id}", AnnotatorTags.class); 47 router.attach("/tags/{id}/annotations", AnnotatorAnnotationsByTags.class); 45 48 router.attach("/", AnnotatorInfo.class); 46 49 // authenticator.setNext(router);
Note: See TracChangeset
for help on using the changeset viewer.