【问题标题】:I want to know How to parse the file in OWL/XML syntax我想知道如何以 OWL/XML 语法解析文件
【发布时间】:2017-04-24 02:01:48
【问题描述】:

我不知道如何解析这个文件,谁能告诉我如何解析它? 该文件在下面。我已经尝试了大约 3 天的时间来找到解析的方法。

<?xml version="1.0"?>


<!DOCTYPE Ontology [
    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTITY owl2xml "http://www.w3.org/2006/12/owl2-xml#" >
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
    <!ENTITY ontology_people1 "http://www.okkam.org/ontology_people1.owl#" >
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>


<Ontology xmlns="http://www.w3.org/2006/12/owl2-xml#"
     xml:base="http://www.w3.org/2006/12/owl2-xml#"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:owl2xml="http://www.w3.org/2006/12/owl2-xml#"
     xmlns:owl="http://www.w3.org/2002/07/owl#"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:ontology_people1="http://www.okkam.org/ontology_people1.owl#"
     URI="http://www.okkam.org/ontology_people1.owl">
    <SubClassOf>
        <Class URI="&ontology_people1;Address"/>
        <Class URI="&ontology_people1;Location"/>
    </SubClassOf>
    <Declaration>
        <Class URI="&ontology_people1;Address"/>
    </Declaration>
   ......
</Ontology>



<!-- Generated by the OWL API (version 2.2.1.1138) http://owlapi.sourceforge.net -->

【问题讨论】:

  • @Ignazio 对不起。你是怎么做到的?
  • 为什么不能使用OWL API???
  • owlapi.sourceforge.net 有什么问题据此,OWL API 包含几个 OWL XML 解析器。
  • 解析这些数据有很多(非常多)不同的方法,最好的方法取决于你想对这些信息做什么。为了给你建议,我们真的需要知道你为什么要解析它。了解您使用的编程语言(Java、C#、Javascript?)也很有帮助,因为这也很可能会影响选择。
  • 谢谢大家

标签: semantic-web owl owl-api


【解决方案1】:

这可以使用 OWLAPI 加载的默认解析器进行解析。

这就够了:

import java.io.File;

import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyManager;

public class Check {
    public static void main(String[] args) throws OWLOntologyCreationException {
        OWLOntologyManager manager=OWLManager.createOWLOntologyManager();
        OWLOntology o=manager.loadOntologyFromOntologyDocument(new File("filename.xml"));
    }
}

【讨论】:

  • 我还有一个问题。如何遍历它?我在你在 github 上的教程中找不到如何遍历它。
  • o.getAxioms() 将为您提供本体中声明的所有公理。
【解决方案2】:

不要沮丧。我认为您正在寻找一个 xml 解析器。您使用哪种语言?其他人已经实现了许多 xml 解析器。下面是一个使用 Java 的例子:https://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/

【讨论】:

  • 让我试一试。谢谢。
  • 抱歉,没用。也许这不是我想要的工具。
  • 这是 OWL/XML,而不仅仅是 XML。 OP 正在寻找可以从该输入中提取 OWL 本体的解析器 - 比通用 XML 解析器更具体。
  • 嗨@Ignazio 我正在尝试构建 Golang 模块来解析 OWL/XML。从 owlcs/owlapi 下的 Java 库移植代码可能是困难的方法。我从哪里开始?
  • @Ignazio 我现在只关注 OWL/XML。
猜你喜欢
  • 1970-01-01
  • 2018-08-30
  • 2011-05-26
  • 1970-01-01
  • 2011-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多