amalgame/commit

ADDED: materialize_scheme_graph(Assoc, Options)

authorJacco van Ossenbruggen
Fri May 8 18:36:17 2015 +0200
committerJacco van Ossenbruggen
Fri May 8 18:36:17 2015 +0200
commita72e27e6eb89d2bd13d265fc1e2dbd2979902694
tree99272ab0d065a1c5abaceaae7cfe862fcf9a6eb4
parent3cab38a50254a7aa0b8290a8f5a3d77a16736d1b
Diff style: patch stat
diff --git a/lib/amalgame/vocabulary.pl b/lib/amalgame/vocabulary.pl
index c5d4cf8..dbda6ac 100644
--- a/lib/amalgame/vocabulary.pl
+++ b/lib/amalgame/vocabulary.pl
@@ -2,7 +2,8 @@
 	  [ vocab_member/2,
 	    all_vocab_members/2,
 	    amalgame_alignable_schemes/1,
-	    amalgame_vocabulary_languages/1
+	    amalgame_vocabulary_languages/1,
+	    materialize_scheme_graph/2
 	  ]).
 
 :- use_module(library(apply)).
@@ -194,6 +195,22 @@ all_vocab_members(VocSpec, Concepts) :-
 	findall(C, vocab_member(C, VocSpec), Concepts0),
 	sort(Concepts0, Concepts).
 
+
+materialize_scheme_graph(Assoc, Options) :-
+	option(graph(Graph), Options, test),
+        (   rdf_graph(Graph)
+        ->  rdf_unload_graph(Graph)
+        ;   true
+        ),
+	assoc_to_keys(Assoc, Concepts),
+	forall(member(C, Concepts),
+	       materialize_concept(C, Graph)
+	      ).
+
+materialize_concept(Concept, Graph) :-
+	rdf_assert(Concept, skos:inScheme, Graph, Graph).
+
+
 %%	amalgame_alignable_schemes(-Schemes) is det.
 %
 %	Schemes is unified with a sorted list of urls of