我正在使用RDF数据进行一个项目,我正在考虑实现一种数据清理方法,该方法将基于自定义本体,针对RDF三元组数据集和标记三元组运行,这些数据集和标志三元组与特定模式不匹配。
例如,我希望强制类http://myontology/A必须使用谓词http://myontology/denotes表示http://myontology/B。任何类A的实例,如果不作为类B的实例,则应该进行标记。
我想知道,如果我为推理者设计了一个定制的公理,像来自OWL-API的OWL-API这样的工具是否有能力完成这样的任务。我查看了这里的文档:4/org/semanticweb/owlapi/reasoner/OWLReasoner.html
在我看来,推理者可用的方法可能没有达到我想要使用它们的目的,但我想知道是否有人有使用OWL-API的经验,或者知道另一个工具可以做到这一点。
发布于 2017-05-25 07:16:48
一般来说,OWL推理不太适合于查找输入中缺少的信息并将其标记出来:例如,如果您创建一个类,断言A的实例与B的实例正好有一个关系,而A的一个实例在开放世界假设下不适用,推理者只会假设缺少的语句是不可用的,而不是您违反的。
可以检测到不正确的表示用法--如果不是与B的实例相关,而是与与B不相交的类的实例相关,但这似乎是一个与您所要寻找的实例不同的用例。
您可以使用OWL实现代码来完成此检查,但是它可能不会受益于推理能力,而且考虑到您正在RDF级别工作,我认为像Apache这样的API实际上可能更适合您(例如,如果您的输入文件不兼容OWL,您就不必担心)。
https://stackoverflow.com/questions/44163369
复制相似问题