yaz/commit
optmize reconciliation
author | Michiel Hildebrand |
---|---|
Wed Jul 6 17:49:47 2011 +0200 | |
committer | Michiel Hildebrand |
Wed Jul 6 17:49:47 2011 +0200 | |
commit | 1bd61aca378d9bf826b1fbc9a149618159443f31 |
tree | 11b794058a909493c9c98e8dfdc5f1f831e28cf9 |
parent | ad3a9f3c2b70fbb7c21b608dc2273bfeed6f8f9f |
Diff style: patch stat
diff --git a/api/reconcile.pl b/api/reconcile.pl index 00fd73d..a4b3ac1 100644 --- a/api/reconcile.pl +++ b/api/reconcile.pl @@ -132,8 +132,9 @@ reconcile_filter(Hits, Max, Type, Properties, Filtered) :- label_list(LabelList) :- rdf_equal(rdfs:label, Label), rdf_equal(skos:prefLabel, PrefLabel), - %rdf_equal(cornetto:synonym, Syn), + rdf_equal(cornetto:synonym, Syn), LabelList = [PrefLabel-0, + Syn-0, Label-1 ]. diff --git a/applications/yaz_fplayer.pl b/applications/yaz_fplayer.pl index 8bed8f7..ed6387b 100644 --- a/applications/yaz_fplayer.pl +++ b/applications/yaz_fplayer.pl @@ -32,7 +32,8 @@ subject(R) :- rdf(R, skos:inScheme, gtaa:'Onderwerpen'). subject(R) :- - rdfs_individual_of(R, cornetto:'Synset'). + rdf(R, skos:inScheme, 'http://purl.org/vocabularies/cornetto'), + \+ rdf(R, cornetto:domain, wn20i:'domain-geography'). location(R) :- rdf(R, skos:inScheme, gtaa:'GeografischeNamen'). person(R) :- @@ -72,34 +73,40 @@ http_yaz_fplayer(Request) :- video_annotations(Video, Annotations, Options), maplist(annotation_pair, Annotations, TagEntries0), merge_entries(TagEntries0, TagEntries), - concept_entries(TagEntries, subject, Subjects, Rest0), - concept_entries(Rest0, location, Locations, Rest), - concept_entries(Rest, person, Persons, _), + concept_entries(TagEntries, subject, Subjects, Rest0, [stem(true)]), + concept_entries(Rest0, location, Locations, Rest, []), + concept_entries(Rest, person, Persons, _, []), html_page(Video, Subjects, Locations, Persons, Options). annotation_pair(annotation(Value,_,_,[E0|_],_), Value-E1) :- E0 = i(URI, Time), E1 = entry(URI,Value,Time). -concept_entries(TagEntries, Goal, ConceptEntries, Rest) :- - concept_entries_(TagEntries, Goal, ConceptEntries0, Rest), +concept_entries(TagEntries, Goal, ConceptEntries, Rest, Options) :- + option(stem(Stem), Options, false), + concept_entries_(TagEntries, Goal, Stem, ConceptEntries0, Rest), merge_entries(ConceptEntries0, ConceptEntries1), maplist(concept_pair, ConceptEntries1, ConceptEntries). -concept_entries_([], _, [], []). -concept_entries_([Tag-Entries|Ts], Goal, [Concept-Entries|Cs], Rest) :- - tag_concept(Tag, Goal, Concept), +concept_entries_([], _, _, [], []). +concept_entries_([Tag-Entries|Ts], Goal, Stem, [Concept-Entries|Cs], Rest) :- + tag_concept(Tag, Goal, Stem, Concept), !, - concept_entries_(Ts, Goal, Cs, Rest). -concept_entries_([Tag-Entries|Ts], Goal, Cs, [Tag-Entries|Rest]) :- - concept_entries_(Ts, Goal, Cs, Rest). + concept_entries_(Ts, Goal, Stem, Cs, Rest). +concept_entries_([Tag-Entries|Ts], Goal, Stem, Cs, [Tag-Entries|Rest]) :- + concept_entries_(Ts, Goal, Stem, Cs, Rest). -tag_concept(Tag, Goal, Concept) :- - tag_value(Tag, Value), +tag_concept(Tag, Goal, Stem, Concept) :- + tag_value(Tag, Value0), + stem(Stem, Value0, Value), reconcile(Value, 3, Hits), member(hit(_,Concept,_,_), Hits), call(Goal, Concept). +stem(_, V, V). +stem(true, V, Stem) :- + snowball(dutch, V, Stem). + concept_pair(Concept-Es, annotation(uri(Concept,Label), 0, 0, Es)) :- rdf_display_label(Concept, Label).