Thesaurus

From OpenKM Documentation
Revision as of 12:45, 20 September 2010 by Jllort (talk | contribs)

Jump to: navigation, search

Nota clasica.png Thesaurus is only available from OpenKM 5.0 and upper.

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.


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 term you can take a look at http://en.wikipedia.org/wiki/Thesaurus


OpenKM can working with thesaurus defined in .owl and .rdfs formats.


There's a great utility http://protege.stanford.edu/ to create and maintaining your own thesaurus. In Internet can be found specific thesaurus, for example Agrovoc[1] ( FAO ), NASA Thesuarus[2], UNESCO Thesaurus[3], Public administration Thesaurus[4] among others. Someones are free and others have some usage restrictions.


In order to correctly configure OpenKM thesaurus you must set this OpenKM.cfg entries:

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


Setting the OWL file

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


Setting the 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/>


Thesaurus full example Padlock.gif


You could be interested in:

  • A Method for Converting Thesauri to RDF/OWL[5]
  • SKOS Simple Knowledge Organization System[6]