We are planning to integrate a hierarchical taxonomy in our software solution. (Java based)
Is there a standardized (and easy to use) format to represent hierarchical taxonomies? A format which would the common exchange format used by different taxonomy editors?
I have been looking at OWL (RDF), PMML… but those are either quite complex, or do not really seem be fit for this purpose.
To give a simple example. We would like to represent a tree of concepts. Attached to each concept there would be some kind of data object (in brackets)
Vehicles (category := 'V')
|-> Car (code := 1)
| |-> Petrol (code := 2 && car_code := 'petrol')
| |-> Electical (code := 2 && car_code := 'electrical')
|-> Plane (code := 1)
We could of develop our own XML format using a serialization library like Xstream. But if there is a good standard – which is well supported by Java, I would prefer to use it.
You are looking for SKOS – Simple Knowledge Organization System Namespace Document
SKOS is an ontology to represent taxonomies, hierarchies and thesaurus. It is based on the concept of broader and narrower properties to state relationships between terms. For instance:
You can represent your taxonomy with SKOS, serialize in RDF and assert in a RDF database. To query it, and retrieve hierarchy trees, use the SPARQL language.