用于处理分类的Java API

时间:2009-08-17 13:33:44

标签: java taxonomy utility

寻找有助于我处理分类法的API。应该可以在对象模型中使用分类法(从xml文件加载),列表类别,遍历类别的树(如果它是树分类法),获取类别的名称和值等。只读模式就足够了。谷歌没有帮助很多:(

用法如下:

Taxonomy taxonomy = Taxonomy.loadFromStream(XMLInputStream);

List categories = taxonomy.listAllCategories();

Category rootCategory = taxonomy.getRootCategory();

重要的是我不想直接处理XML。这毫无用处。如果有一些YAML适配器,分类可以是YAML格式,我的代码不受影响......

4 个答案:

答案 0 :(得分:2)

我认为您永远不会找到基于XML的分类法库:它太特定

但是,您可以在XStream JAXB之类的库之上自己实现分类模型,以便在不编写详细的XML操作代码的情况下序列化为XML。

答案 1 :(得分:0)

如果您无法找到专门针对分类法的内容,请尝试为本体执行相同的操作。然后你可以创建一个只有分类关系的本体。

OWL API(http://owlapi.sourceforge.net/)似乎解决了这个问题。您可以创建和OWL本体,并使用他们的OWL / XML解析器和编写器轻松将其转换为XML。以下是使用此库创建层次结构的示例:https://github.com/owlcs/owlapi/blob/master/contract/src/test/java/uk/ac/manchester/owl/owlapi/tutorial/examples/SimpleHierarchyExample.java

希望有所帮助。

答案 2 :(得分:-1)

从我最近的开发中,我不得不说Flex development environment给我留下了深刻的印象(有很多关于开始使用它的在线资源)。我知道它不是真正的Java,因为它与Flash类似,但它基于类似于Java的ActionScript。此外,Flex还具有与外部JavaScript资源进行通信的能力,并且对于处理XML资源非常直观。

在Java中,我使用了Java SDK附带的标准DOM解析器(我认为它基于Xerces解析器),但至少可以说它们很麻烦。

答案 3 :(得分:-1)

我认为JDom可以帮到你。 查看Jdom at WikipediaJDom javadoc