annotation_service/commit
optimize rdf_get_annotation_target(-,+)
author | Jacco van Ossenbruggen |
---|---|
Mon Jun 30 12:08:19 2014 +0200 | |
committer | Jacco van Ossenbruggen |
Mon Jun 30 12:08:19 2014 +0200 | |
commit | 06323f9a17d3c0b7ea8260dca1c8c81569532e23 |
tree | 46320c0b581a16c7a4b9aadaaf88a1a87ba10fa0 |
parent | 2e1646f8b12da92446b4c11f6861652eb61b4010 |
Diff style: patch stat
diff --git a/lib/oa_annotation.pl b/lib/oa_annotation.pl index aab1189..3eb6852 100644 --- a/lib/oa_annotation.pl +++ b/lib/oa_annotation.pl @@ -232,15 +232,24 @@ make_selector_node(Fragment, Shape, Graph, Node) :- rdf_get_annotation(Annotation, Props) :- get_annotation_properties(Annotation, _Graph, Props). -%% rdf_get_annotation_target(+Annotation, ?TargetUri) is det. +%% rdf_get_annotation_target(+Annotation, -TargetUri) is semidet. +%% rdf_get_annotation_target(-Annotation, +TargetUri) is nondet. % % Get Target uri, abstracting away OA selector stuff rdf_get_annotation_target(Annotation, TargetUri) :- + ground(Annotation), !, rdf_has(Annotation, oa:hasTarget, TargetNode), ( rdfs_individual_of(TargetNode, oa:'SpecificResource') -> rdf_has(TargetNode, oa:hasSource, TargetUri) ; TargetNode = TargetUri ). +rdf_get_annotation_target(Annotation, TargetUri) :- + ground(TargetUri), + rdf_has(TargetNode, oa:hasSource, TargetUri), + rdf_has(Annotation, oa:hasTarget, TargetNode). +rdf_get_annotation_target(Annotation, TargetUri) :- + ground(TargetUri), + rdf_has(Annotation, oa:hasTarget, TargetUri). rdf_get_annotation_by_tfa(Target, Field, Annotator, Graph, [annotation(Annotation)|Props]) :- rdf_has_graph(Annotation, oa:hasTarget, Target, Graph),