Thesaurus

From OpenKM Documentation
Jump to: navigation, search

A thesaurus is a book that lists words grouped together according to similarity of meaning (containing synonyms and sometimes antonyms), in contrast to a dictionary, which contains definitions and pronunciations.


Nota advertencia.png Thesaurus is only available starting from OpenKM 5.0.

In Information Science, Library Science, and Information Technology, specialized thesauri are designed for information retrieval. They are a type of controlled vocabulary, for indexing or tagging purposes. If you want more information about the term you can take a look at http://en.wikipedia.org/wiki/Thesaurus.


Nota clasica.png OpenKM can work with thesaurus defined in .owl and .rdfs formats.

There's a great utility http://protege.stanford.edu/ for creating and maintaining your own thesaurus. Specific thesauri can be found on the Internet. For example, Agrovoc ( FAO ), NASA Thesaurus, UNESCO Thesaurus, Public administration Thesaurus among others. Some of them are free and some have usage restrictions.

In order to correctly configure OpenKM to use a thesaurus the following configuration properties must be set:

kea.thesaurus.owl.file
kea.thesaurus.base.url
kea.thesaurus.tree.root
kea.thesaurus.tree.childs

Set OWL file

kea.thesaurus.owl.file=vocabulary/file.owl

Set base url

kea.thesaurus.base.url=http://www.someweb.org

Query to get root node

kea.thesaurus.tree.root=SELECT DISTINCT UID, TEXT FROM {UID} Y {OBJECT}, {UID} rdfs:label {TEXT} ; [rdfs:subClassOf {CLAZZ}] where not bound(CLAZZ)
 and lang(TEXT)="en" USING NAMESPACE foaf=<http://xmlns.com/foaf/0.1/>, dcterms=<http://purl.org/dc/terms/>, 
 rdf=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>, owl=<http://www.w3.org/2002/07/owl#>, rdfs=<http://www.w3.org/2000/01/rdf-schema#>,
 skos=<http://www.w3.org/2004/02/skos/core#>, dc=<http://purl.org/dc/elements/1.1/>

Query to get childs node

kea.thesaurus.tree.childs=SELECT DISTINCT UID, TEXT FROM {UID} rdfs:subClassOf {CLAZZ}, {UID} rdfs:label {TEXT} where xsd:string(CLAZZ) =
 "RDFparentID" and lang(TEXT)="en" USING NAMESPACE foaf=<http://xmlns.com/foaf/0.1/>, dcterms=<http://purl.org/dc/terms/>, 
 rdf=<http://www.w3.org /1999/02/22-rdf-syntax-ns#>, owl=<http://www.w3.org/2002/07/owl#>, rdfs=<http://www.w3.org/2000/01/rdf-schema#>,
 skos=<http://www.w3.org/2004/02/skos/core#>, dc=<http://purl.org/dc/elements/1.1/>

You could be interested in:

Also check Thesaurus full example Padlock.gif for a step-by-step guide.