skos_browser/commit

IMPROVED: removed unused code, re-use generic skos stuff from skos package

authorJacco van Ossenbruggen
Sun Aug 17 14:09:37 2014 +0200
committerJacco van Ossenbruggen
Sun Aug 17 14:09:37 2014 +0200
commit0cb7ce8f3a9c77795c565bfdbce7b9d2db16c039
tree81198c4fc7a3ba411504d57abd8ebbf93fe781cf
parent954607ca38de115d28a1a23a01bb0a3c7b64082d
Diff style: patch stat
diff --git a/api/skos_concepts.pl b/api/skos_concepts.pl
index d8a6212..989a609 100644
--- a/api/skos_concepts.pl
+++ b/api/skos_concepts.pl
@@ -11,6 +11,7 @@
 :- use_module(library(semweb/rdf_db)).
 :- use_module(library(semweb/rdf_label)).
 
+:- use_module(library(skos/util)).
 
 :- http_handler(skosapi(conceptschemes), http_conceptschemes, []).
 :- http_handler(skosapi(concepts), http_concepts, []).
@@ -49,10 +50,10 @@ http_conceptschemes(Request) :-
 concept_scheme(Query, C, Label) :-
 	var(Query),
 	!,
-	rdf(C, rdf:type, skos:'ConceptScheme'),
+	skos_is_vocabulary(C),
 	rdf_display_label(C, Label).
 concept_scheme(Query, C, Label) :-
-	rdf(C, rdf:type, skos:'ConceptScheme'),
+	skos_is_vocabulary(C),
 	once(label_prefix(Query, C, Lit)),
 	literal_text(Lit, Label).
 
@@ -108,67 +109,15 @@ concept_of(Type, Parent, Query, Concept, Label) :-
 	literal_text(Lit, Label).
 
 concept(inscheme, ConceptScheme, Concept) :- !,
-	inscheme(ConceptScheme, Concept).
+	skos_in_scheme(ConceptScheme, Concept).
 concept(topconcept, ConceptScheme, Concept) :- !,
-	top_concept(ConceptScheme, Concept).
+	skos_top_concept(ConceptScheme, Concept).
 concept(child, Parent, Concept) :-
-	narrower_concept(Parent, Concept).
+	skos_parent_child(Parent, Concept).
 concept(descendant, Parent, Concept) :-
-	descendant(Parent, Concept).
+	skos_descendant_of(Parent, Concept).
 concept(related, Parent, Concept) :-
-	related_concept(Parent, Concept).
-
-%%	inscheme(+ConceptScheme, -Concept)
-%
-%	True if Concept is contained in a skos:ConceptScheme by
-%	skos:inScheme.
-
-inscheme(ConceptScheme, Concept) :-
-	rdf(Concept, skos:inScheme, ConceptScheme).
-
-%%	top_concept(+ConceptScheme, -Concept)
-%
-%	True if Concept is a skos:hasTopConcept of ConceptScheme, or
-%	inversely by skos:topConceptOf
-
-top_concept(ConceptScheme, Concept) :-
-	rdf(ConceptScheme, skos:hasTopConcept, Concept).
-top_concept(ConceptScheme, Concept) :-
-	rdf(Concept, skos:topConceptOf, ConceptScheme),
-	\+ rdf(ConceptScheme, skos:hasTopConcept, Concept).
-
-%%	narrower_concept(+Concept, -Narrower)
-%
-%	True if Narrower is related to Concept by skos:narrower or
-%	inversely by skos:broader.
-
-narrower_concept(Concept, Narrower) :-
-	rdf_has(Narrower, skos:broader, Concept).
-narrower_concept(Concept, Narrower) :-
-	rdf_has(Concept, skos:narrower, Narrower),
-	\+ rdf_has(Narrower, skos:narrower, Concept).
-
-%%	descendant(+Concept, -Descendant)
-%
-%	Descendant is a child of Concept or recursively of its children
-
-descendant(Concept, Descendant) :-
-	narrower_concept(Concept, Narrower),
-	(   Descendant = Narrower
-	;   descendant(Narrower, Descendant)
-	).
-
-%%	related_concept(+Concept, -Related)
-%
-%	True if Related is related to Concept by skos:related.
-
-related_concept(Concept, Related) :-
-	rdf_has(Concept, skos:related, Related).
-related_concept(Concept, Related) :-
-	rdf_has(Related, skos:related, Concept),
-	\+ rdf_has(Concept, skos:related, Related).
-
-
+	skos_related_concept(Parent, Concept).
 
 
 		 /*******************************
@@ -209,11 +158,9 @@ concept_result_property(Key, URI, Graphs, Value) :-
 %	Boolean is true when concept has a skos:narrower concept.
 
 has_narrower(Concept, @true) :-
-	rdf_has(_, skos:broader, Concept),
-	!.
-has_narrower(Concept, @true) :-
-	rdf_has(Concept, skos:narrower, _),
+	skos_parent_child(Concept, _Child),
 	!.
+
 has_narrower(_, @false).
 
 
@@ -221,17 +168,6 @@ has_narrower(_, @false).
 		 *	     UTILILIES          *
 		 *******************************/
 
-%%	terms_sort_by_arg(+ListOfTerms, +N, -SortedTerms)
-%
-%	Sorts ListOfTerms by the nth argument of each term.
-
-term_sort_by_arg(List, Arg, Sorted) :-
-	maplist(arg_key(Arg), List, Pairs),
-	keysort(Pairs, Sorted0),
-	pairs_values(Sorted0, Sorted).
-
-arg_key(N, Term, Key-Term) :-
-	arg(N, Term, Key).
 
 %%	list_offset(+List, +N, -SmallerList)
 %