amalgame/commit
ADDED: filter mode for preloaded
author | Jacco van Ossenbruggen |
---|---|
Sun Aug 31 11:18:59 2014 +0200 | |
committer | Jacco van Ossenbruggen |
Sun Aug 31 11:18:59 2014 +0200 | |
commit | d6674a188c838d383860f056a99f117e1a00381e |
tree | 9f0a764f6caf9b29de5256ada834c8d52a2fe823 |
parent | dc4049945961c90a4a30c0b390a4a460de0cd917 |
Diff style: patch stat
diff --git a/lib/ag_modules/preloaded_mapping.pl b/lib/ag_modules/preloaded_mapping.pl index c8e4c7b..b589efa 100644 --- a/lib/ag_modules/preloaded_mapping.pl +++ b/lib/ag_modules/preloaded_mapping.pl @@ -7,6 +7,7 @@ :- public amalgame_module/1. :- public matcher/4. +:- public filter/3. :- public parameter/4. amalgame_module(amalgame:'SelectPreLoaded'). @@ -27,6 +28,19 @@ matcher(Source, Target, Mapping, Options) :- Mapping0), sort(Mapping0, Mapping). +filter(In, Out, Options) :- + option(name(Graph), Options), + filter_(Graph, In, Out). + +filter_(_Graph, [], []). +filter_(Graph, [Hin|Tin], Out) :- + Hin = align(S,T,P), + ( has_correspondence(align(S, T, PGraph), Graph) + -> append(PGraph, P, Pmerged), + Out = [ align(S, T, Pmerged) | Tout] + ; Out = Tout + ), + filter_(Graph, Tin, Tout). c_from_graph(align(S,T,P), Source, Target, Graph) :- has_correspondence(align(S,T,P), Graph),