- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 OWL 2.0 的 OWL API,但有一件事我似乎无法弄清楚。我有一个 OWL/XML 文件,我想检索我的对象属性断言的注释。以下是我的 OWL/XML 和 Java 代码的片段:
猫头鹰:
<ObjectPropertyAssertion>
<Annotation>
<AnnotationProperty abbreviatedIRI="rdfs:comment"/>
<Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#string">Bob likes sushi</Literal>
</Annotation>
<ObjectProperty IRI="#Likes"/>
<NamedIndividual IRI="#UserBob"/>
<NamedIndividual IRI="#FoodSushi"/>
</ObjectPropertyAssertion>
Java:
OWLIndividual bob = manager.getOWLDataFactory().getOWLNamedIndividual(IRI.create(base + "#UserBob"));
OWLObjectProperty likes = manager.getOWLDataFactory().getOWLObjectProperty(IRI.create(base + "#Likes"));
OWLIndividual sushi = factory.getOWLNamedIndividual(IRI.create(base + "#FoodSushi"));
OWLObjectPropertyAssertionAxiom ax = factory.getOWLObjectPropertyAssertionAxiom(likes, bob, sushi);
for(OWLAnnotation a: ax.getAnnotations()){
System.out.println(a.getValue());
}
问题是,即使 OWL 声明有一个 rdfs:comment
,也不会返回任何内容。找到有关如何检索此信息的任何文档都很麻烦。添加带注释的公理或其他任何内容都不是问题。
最佳答案
为了检索注释,您需要遍历感兴趣的公理。使用 getSomething()
将内容添加到本体中,如注释中所述,不可能以这种方式检索公理。这是改编自 OWL-API guide 的代码:
//Get rdfs:comment
final OWLAnnotationProperty comment = factory.getRDFSComment();
//Create a walker
OWLOntologyWalker walker =
new OWLOntologyWalker(Collections.singleton(ontology));
//Define what's going to visited
OWLOntologyWalkerVisitor<Object> visitor =
new OWLOntologyWalkerVisitor<Object>(walker) {
//In your case you visit the annotations made with rdfs:comment
//over the object properties assertions
@Override
public Object visit(OWLObjectPropertyAssertionAxiom axiom) {
//Print them
System.out.println(axiom.getAnnotations(comment));
return null;
}
};
//Walks over the structure - triggers the walk
walker.walkStructure(visitor);
关于java - 从 ObjectPropertyAssertion OWLAPI 获取注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17149146/
我正在为一个项目使用 OWLAPI,我需要比较两个本体以了解它们之间的差异。这将忽略空白节点,例如,我可以确定两个本体中是否存在相同的 OWL 限制。我不仅需要知道是否存在差异,还需要找出这些差异是什
我正在尝试使用 OWL-API 3.5.0 以编程方式从数据模型构建 OWL 文件。 一般来说,该模型遵循 A -> B 的形式,其中关系(“->”)可以是子类或属性。 我认为我的子类正在工作,但我不
整体引用代码:https://github.com/jottinger/ontology 我正在创建一个本体并填充它(我认为正确)。结构已经存在,但我还没有验证它。 但是,我仍然期待声明出现,但我不知
有一种方法可以找到类的所有命名子类,而无需使用推理器 for (OWLClass child : reasoner.getSubClasses(clazz, true).getFlattened()
我的目标是捕获 OWLAPI 分别断言和推断的公理,换句话说,区别在于本体中已经存在的公理和那些不存在但只是由推理器推断的公理。 例如: public void printHierarchy(OWLR
我正在尝试使用 OWLAPI 版本 4.0.2(来自 Maven)从本体中删除一些文字注释 为此,我使用RemoveOntologyAnnotation 类和管理器applyChange() 方法。这
我尝试使用 owl-osgi-distribution 4.0.2 在 eclipse 中使用 owlapi 创建本体,并收到 Noclassfound 错误,该错误与链接中的错误类似 Getting
我得到了一个关于个体的小本体。其中一些个体应该通过对称 ObjectProperty 相互连接。 我需要使用 Pellet Reasoner,以便它可以同步并将对称 ObjectProperty 附加
我使用 OWL-API 创建了本体。我使用数组添加了实例。但是本体按字母顺序表示它,而不是按照我在数组中包含的顺序。因此,其他实例不匹配。 String Item1_List[]={"P
如何使用 owlapi 从加载的本体中获取所有类?这里我有一个关于如何获取一个类的示例,但我对访问本体中定义的所有类感兴趣。 OWLOntologyManager manager = WLMa
拜托,我想使用 OWLAPI 通过 java 程序解析以下本体。
如何在 Java 中使用 owlapi 找到所有已定义的类?我知道已弃用的 getClassesInSignature 方法,但文档 (JavaDocs) 缺少一些相关信息,应该使用什么来代替? 最佳
这是我的 OWL 文件的一部分: # Class: :Book (:Book) SubClassOf(:Book ObjectSomeValuesFrom(:writtenBy owl:Thing))
我正在尝试编写一个加载输入类的子类的方法。此代码在 OWL API 3.1.x(Pizza.owl) 编写的 RDF 文件中运行良好,但现在不适用于 OWL API 3.4.x 版本生成的文件。 下面
本文整理了Java中org.semanticweb.owlapi.util.ZipIRIMapper类的一些代码示例,展示了ZipIRIMapper类的具体用法。这些代码示例主要来源于Github/S
我尝试从 Reasoner (hermit 1.3.8.4) 和 OWLApi (3.4.10) 检索属性断言。在这张图片中,我想检索“isGrandfather Sandro,isGrandfath
有没有办法通过 Java API 使用 OWL API 访问 Jena TDB? Jena 似乎不支持 OWL-API。除了 RDF API 之外,它还具有一些便利函数 (OntAPI),用于在被视为
如何使用 HERMIT Reasoner 1.3.8 在 Java 中执行 SPARQL 查询?我正在使用 owlapi 4.2,并且我已经使用以下方式加载了 HERMIT 推理机: OWLReaso
我正在使用 OWL 2.0 的 OWL API,但有一件事我似乎无法弄清楚。我有一个 OWL/XML 文件,我想检索我的对象属性断言的注释。以下是我的 OWL/XML 和 Java 代码的片段: 猫头
我正在开发一个 Maven 插件来使用 OWL-API v3.4.3 和 HermiT 1.3.8.4 验证 OWL 本体。一些 OWL 本体是专有的,因此无法在 Web 上获得。 查看文档,我使用
我是一名优秀的程序员,十分优秀!