amalgame/commit
seperate evaluation of generated and manual datasets
author | Jacco van Ossenbruggen |
---|---|
Tue Aug 5 17:51:43 2014 +0200 | |
committer | Jacco van Ossenbruggen |
Tue Aug 5 17:51:43 2014 +0200 | |
commit | 12a0dae86682f56049921d312c70b32657c255eb |
tree | 7f9c2490bbe1619e56f4dba4ac06c428282d60d2 |
parent | 4e2e88aa9867de1c74ad62ea42e772ecc101be6c |
Diff style: patch stat
diff --git a/applications/analyser.pl b/applications/analyser.pl index 5e83e16..0beee1f 100644 --- a/applications/analyser.pl +++ b/applications/analyser.pl @@ -104,7 +104,7 @@ yui_script(Strategy, Mapping) --> findall(M-C, js_module(M,C), Modules), pairs_keys(Modules, Includes), findall(K-V, js_path(K, V), Paths), - js_mappings_metadata(Strategy, JSMappings) + js_mappings_metadata(Strategy, JSMappings, []) }, yui3([json([modules(json(Modules))]) ], diff --git a/applications/evaluater.pl b/applications/evaluater.pl index c8e4f2e..80dd3db 100644 --- a/applications/evaluater.pl +++ b/applications/evaluater.pl @@ -1,6 +1,9 @@ :- module(ag_evaluater, []). +:- use_module(library(pairs)). +:- use_module(library(lists)). + :- use_module(library(semweb/rdfs)). :- use_module(library(http/http_dispatch)). :- use_module(library(http/http_parameters)). @@ -16,15 +19,16 @@ % From Amalgame: :- use_module(library(amalgame/util)). +:- use_module(library(amalgame/ag_reference)). :- use_module(components(amalgame/correspondence)). :- use_module(components(amalgame/util)). -% We need amalgame http handlers of these: +% We need amalgame http handlers from these: :- use_module(api(node_info)). :- use_module(api(mapping)). :- use_module(api(correspondence)). -% For autocompletion on the vocaubalry terms to fix source/target +% For autocompletion on the vocabulary terms to fix source/target % manually, we need the autocompletion cpack http api: :-use_module(api(autocomplete_api)). @@ -108,7 +112,10 @@ yui_script(Strategy, Mapping) --> { findall(K-V, js_path(K, V), Paths), findall(M-C, js_module(M,C), Modules), pairs_keys(Modules, Includes), - js_mappings_metadata(Strategy, Mappings) + ( is_reference(Strategy, Mapping) + -> js_mappings_metadata(Strategy, Mappings, [references(only)]) + ; js_mappings_metadata(Strategy, Mappings, [references(exclude)]) + ) }, yui3([json([ gallery('gallery-2011.02.23-19-01'), diff --git a/lib/amalgame/ag_reference.pl b/lib/amalgame/ag_reference.pl index c184262..0b794c2 100644 --- a/lib/amalgame/ag_reference.pl +++ b/lib/amalgame/ag_reference.pl @@ -1,5 +1,6 @@ :- module(ag_reference, - [ reference_mappings/2 + [ reference_mappings/2, + is_reference/2 ]). :- use_module(library(apply)). @@ -13,6 +14,14 @@ % for Strategy or the empty list if no refs are available. reference_mappings(Strategy, References) :- - findall(R, rdf(R, amalgame:status, amalgame:reference, Strategy), RefGraphs), + findall(R, is_reference(Strategy, R), RefGraphs), maplist(expand_node(Strategy), RefGraphs, MappingLists), append(MappingLists, References). + +%% is_reference(?Strategy, ?Reference) is nondet. +%% is_reference(+Strategy, +Reference) is semidet. +% +% Evaluates to true if Reference is a reference graph for +% Strategy. +is_reference(Strategy, Reference) :- + rdf(Reference, amalgame:status, amalgame:reference, Strategy). diff --git a/lib/amalgame/util.pl b/lib/amalgame/util.pl index d2da7a3..9ce65d6 100644 --- a/lib/amalgame/util.pl +++ b/lib/amalgame/util.pl @@ -2,7 +2,7 @@ [ mint_node_uri/3, amalgame_strategy_schemes/2, - js_mappings_metadata/2, + js_mappings_metadata/3, js_focus_node/3, js_strategy_nodes/2, @@ -36,6 +36,7 @@ :- use_module(cliopatria(components/label)). :- use_module(library(amalgame/caching)). :- use_module(library(amalgame/map)). +:- use_module(library(amalgame/ag_reference)). :- use_module(library(amalgame/ag_evaluation)). :- multifile @@ -121,14 +122,25 @@ amalgame_strategy_schemes(Strategy, Schemes) :- findall(S, rdf(Strategy, amalgame:includes, S), Schemes), Schemes \== []. -amalgame_strategy_mappings(Strategy, Mappings) :- +amalgame_strategy_mappings(Strategy, Mappings, Options) :- rdfs_individual_of(Strategy, amalgame:'AlignmentStrategy'), findall(URI, (rdf(URI, rdf:type, _ ,Strategy), - rdfs_individual_of(URI, amalgame:'Mapping') + rdfs_individual_of(URI, amalgame:'Mapping'), + ag_map_filter(Strategy, URI, Options) ), Mappings). -js_mappings_metadata(Strategy, Results) :- - amalgame_strategy_mappings(Strategy, Mappings), +ag_map_filter(Strategy, M, Options) :- + option(references(exclude), Options), + is_reference(Strategy, M), + !, fail. +ag_map_filter(Strategy, M, Options) :- + option(references(only), Options), + \+ is_reference(Strategy, M), + !, fail. +ag_map_filter(_,_,_). + +js_mappings_metadata(Strategy, Results, Options) :- + amalgame_strategy_mappings(Strategy, Mappings, Options), maplist(mapping_metadata(Strategy), Mappings, Pairs), dict_pairs(Results, mappings, Pairs).