如何使用java将xml文件转换为OWL?

时间:2015-07-16 14:31:24

标签: xml jena owl ontology owl-api

我想将xml文件转换为本体。 我有一个xml格式的输入文件,我需要将其转换为owl文件 任何人都可以让我知道在java中使用jena api做到这一点的合适方法是什么?

2 个答案:

答案 0 :(得分:0)

此问题没有通用的解决方案,它取决于XML文件的内容,其预期含义以及本体所代表的含义。

1)文件是否包含个人或实例?在这种情况下,您需要一个现有的本体来为您提供词汇表,然后您可以编写一个翻译器。这可以是java,xslt或其他任何你有信心的东西。

2)文件是否包含任何标准格式的本体?在这种情况下,使用现有工具可能会转换为OWL,但如果没有更多信息,我们无法分辨哪些工具。

答案 1 :(得分:-1)

公共类API {

public static void main(String[] args) throws OWLOntologyCreationException, OWLOntologyStorageException, FileNotFoundException {

    OWLOntologyManager manager = OWLManager.createOWLOntologyManager();


    File file = new File("C:\\Users\\jin\\Desktop\\ProtoType\\\\New Folder\\\\MathsQuestion.xml"); 
    OWLOntology ontology = manager.loadOntologyFromOntologyDocument(file);


    OWLOntologyFormat format = manager.getOntologyFormat(ontology);
    OWLOntologyDocumentTarget documentTarget = new SystemOutDocumentTarget();
    manager.saveOntology(ontology, format, new SystemOutDocumentTarget());

    System.out.println(" format1: " + format);

    OWLXMLOntologyFormat owlxmlFormat = new OWLXMLOntologyFormat(); //owl/xml format
    OWLOntologyDocumentTarget documentTarget2 = new SystemOutDocumentTarget();

    if (format.isPrefixOWLOntologyFormat()) {
        owlxmlFormat.copyPrefixesFrom(format.asPrefixOWLOntologyFormat());
    }

    manager.saveOntology(ontology, owlxmlFormat, new SystemOutDocumentTarget());
    System.out.println(" format2: " + owlxmlFormat);