当前位置: 首页 > 知识库问答 >
问题:

Java owlapi提取

太叔凌龙
2023-03-14
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/BFO_0000050">
    <owl:inverseOf rdf:resource="http://purl.obolibrary.org/obo/BFO_0000051"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/>
    <oboInOwl:hasDbXref rdf:datatype="http://www.w3.org/2001/XMLSchema#string">BFO:0000050</oboInOwl:hasDbXref>
    <oboInOwl:hasOBONamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#string">external</oboInOwl:hasOBONamespace>
    <oboInOwl:id rdf:datatype="http://www.w3.org/2001/XMLSchema#string">part_of</oboInOwl:id>
    <oboInOwl:shorthand rdf:datatype="http://www.w3.org/2001/XMLSchema#string">part_of</oboInOwl:shorthand>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">part of</rdfs:label>
</owl:ObjectProperty>
for (OWLObjectProperty obp : ont.getObjectPropertiesInSignature()){
    System.out.println(obp.toString());
}

这将打印ObjectProperty的名称,例如http://purl.obolibrary.org/obo/bfo0000050。

我想知道如何获得rdfs:label,例如,part of

共有1个答案

夏侯渊
2023-03-14

OWL中的rdfs:label是一个注释。若要获得标签,必须查询所需的objectProperty的批注。

要显示本体的所有注释,您可以执行如下操作:

final OWLOntology ontology = manager.loadOntologyFromOntologyDocument(new File(my_file));

final List<OWLAnnotation> annotations = ontology.objectPropertiesInSignature()//
    .filter(objectProperty -> objectProperty.equals(the_object_property_I_want))//
    .flatMap(objectProperty -> ontology.annotationAssertionAxioms(objectProperty.getIRI()))//
    .map(OWLAnnotationAssertionAxiom::getAnnotation)//
    .collect(Collectors.toList());

for (final OWLAnnotation annotation : annotations)
    System.out.println(annotation.getProperty() + "\t" + annotation.getValue());

GetObjectPropertiesInSignature()在owlapi(5)的现代(一年以上)版本中不推荐使用。因此,请使用java-8的stream版本ObjectPropertiesInSignature。java-9已经在几天前发布了,所以现在是学习stream功能的好时机。

 类似资料:
  • 在cherry-pick,您可以从其他分支复制指定的提交,然后导入到现在的分支。 主要使用的场合: 把弄错分支的提交移动到正确的地方 把其他分支的提交添加到现在的分支

  • 问题内容: 我需要在python中编写一个正则表达式以从Tweets中提取提及。 我的尝试: 对于@mickey之类的任何提及,它都可以正常工作,但是,在带有@mickey_mouse之类的下划线的提及中,它仅提取@mickey。 如何修改正则表达式以使其在两种情况下均能正常工作? 谢谢 问题答案: 在下一组添加下划线,如下所示: Regex101演示 另外,Twitter Handle规则 允许

  • 提取器 在 Coursera 上,想必你遇到过一个非常强大的语言特性: 模式匹配 。 它可以解绑一个给定的数据结构。 这不是 Scala 所特有的,在其他出色的语言中,如 Haskell、Erlang,模式匹配也扮演着重要的角色。 模式匹配可以解构各种数据结构,包括 列表 、 流 ,以及 样例类 。 但只有这些数据结构才能被解构吗,还是可以用某种方式扩展其使用范围? 而且,它实际是怎么工作的? 是

  • 从对象中提取出与给定键对应的键值对。 如果 key 存在于 obj 中,使用Array.reduce() 只 过滤/萃取与给定键对应的键-值对对象。 const pick = (obj, arr) => arr.reduce((acc, curr) => (curr in obj && (acc[curr] = obj[curr]), acc), {}); pick({ a: 1, b: '

  • “提取 SQL”让你从备份文件中提取 SQL 到一个 SQL 文件。 提取数据库或模式中的一个备份文件 打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击“提取 SQL”。 选择提取 SQL 选项并点击“提取”。 为 SQL 文件选择一个路径。 提取任意位置的备份文件 打开你的任何一个数据库或模式。 点击“备份”。 右击对象选项卡的任意位置并选择“提取 SQL 从”。

  • “提取 SQL”让你从备份文件中提取 SQL 到一个 SQL 文件。 提取数据库或模式中的一个备份文件 打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击 。 选择提取 SQL 选项并点击“开始”。 为 SQL 文件选择一个路径。 提取任意位置的备份文件 打开你的任何一个数据库或模式。 点击“备份”。 按住 Control 键并点按对象选项卡的任意位置,然后选择“提取

  • “提取 SQL”让你从备份文件中提取 SQL 到一个 SQL 文件。 提取数据库或模式中的一个备份文件 打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击“提取 SQL”。 选择提取 SQL 选项并点击“开始”。 为 SQL 文件选择一个路径。 提取任意位置的备份文件 打开你的任何一个数据库或模式。 点击“备份”。 右击对象选项卡的任意位置并选择“提取 SQL 从”。

  • 我已经使用HTTPClient连接到一个网站,我可以成功地访问所需的数据从网站使用jSoup.我有以下代码,我需要从中提取提交按钮信息。 如何访问提交按钮的值和名称?