amalgame/commit
ADDED: backward compatibility fix to convert old filters to new partioners
author | Jacco van Ossenbruggen |
---|---|
Tue Sep 9 15:55:00 2014 +0200 | |
committer | Jacco van Ossenbruggen |
Tue Sep 9 15:55:00 2014 +0200 | |
commit | a9eb36d005e20f512dac2ab7ce6b5d3802708cc8 |
tree | 95ef40765bbbc3aaf39e190854219c6223670118 |
parent | 80fac86b3e7b70005a425126eebe524e3990096a |
Diff style: patch stat
diff --git a/lib/amalgame/hooks/strategy_backward_compatability.pl b/lib/amalgame/hooks/strategy_backward_compatability.pl index 8f00fef..6502027 100644 --- a/lib/amalgame/hooks/strategy_backward_compatability.pl +++ b/lib/amalgame/hooks/strategy_backward_compatability.pl @@ -12,14 +12,25 @@ amalgame:prebuilder/1. :- rdf_meta - is_old_vocab_selecter_triple(r,r,r,r). + is_old_vocab_selecter_triple(r,r,r,r), + mapping_filter_type_to_partitioner(r,r). amalgame:prebuilder(Strategy) :- backward_compatibility_fixes(Strategy). +mapping_filter_type_to_partitioner(amalgame:'SelectPreLoaded', amalgame:'SelectPreLoadedSelecter'). +mapping_filter_type_to_partitioner(amalgame:'ExactLabelMatcher', amalgame:'ExactLabelSelecter'). +mapping_filter_type_to_partitioner(amalgame:'IsubMatcher', amalgame:'IsubSelecter'). +mapping_filter_type_to_partitioner(amalgame:'CompoundMatcher', amalgame:'CompoundLabelSelecter'). +mapping_filter_type_to_partitioner(amalgame:'SnowballMatcher', amalgame:'SnowballLabelSelecter'). +mapping_filter_type_to_partitioner(amalgame:'AncestorMatcher', amalgame:'AncestorSelecter'). +mapping_filter_type_to_partitioner(amalgame:'DescendentMatcher', amalgame:'DescendentSelecter'). +mapping_filter_type_to_partitioner(amalgame:'RelatedMatcher', amalgame:'RelatedSelecter'). + backward_compatibility_fixes(Strategy) :- fix_opmv_ns(Strategy), fix_vocab_selecters(Strategy), + fix_old_mapping_filters(Strategy), fix_sec_inputs(Strategy), fix_arity_params(Strategy), fix_publish_ns(Strategy), @@ -30,6 +41,18 @@ fix_vocab_selecters(Strategy) :- maplist(old_vocab_selecter_to_new, OldTriples), rdf_retract_list(OldTriples). +fix_old_mapping_filters(Strategy) :- + findall(P-E-T, is_old_mapping_filter(Strategy, P,E,T), Filters), + maplist(old_filter_to_new(Strategy), Filters). + % rdf_retract_list(OldTriples). + +old_filter_to_new(Strategy, Process-Entity-OldType) :- + rdf_retractall(Process, rdf:type, OldType, Strategy), + rdf_retractall(Entity, amalgame:wasGeneratedBy, Process, Strategy), + mapping_filter_type_to_partitioner(OldType, NewType), + rdf_assert(Process, rdf:type, NewType, Strategy), + ag_strategy:assert_output(Process, amalgame:'MappingPartitioner', Strategy, _, _, Entity). + rdf_retract_list([]). rdf_retract_list([rdf(S,P,O,G)|T]) :- rdf_retractall(S,P,O,G), @@ -39,6 +62,12 @@ is_old_vocab_selecter_triple(S,amalgame:wasGeneratedBy,O, G) :- rdf(S,amalgame:wasGeneratedBy,O, G), skos_is_vocabulary(S). +is_old_mapping_filter(Strategy, Filter, Entity, Type) :- + rdfs_individual_of(Filter, amalgame:'CandidateGenerator'), + rdf(Filter, rdf:type, Type), + rdf(Filter, amalgame:input, _, Strategy), + rdf(Entity, amalgame:wasGeneratedBy, Filter). + old_vocab_selecter_to_new(rdf(S,_,Process,Strategy)) :- ag_strategy:assert_output(Process, amalgame:'VocabPartitioner', Strategy, _, _, S).