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

如何获取指定个体的对象属性值?

曾弘扬
2023-03-14

我有一个本体,是使用Protegé4.3.0创建的,我将使用OWL-API为指定的个体和对象属性表达式获取对象属性值(即一组owlNamedIndiversity对象)。

Set<OWLNamedIndividual> values = reasoner.getObjectPropertyValues(individual, hasPart).getFlattened();
private Set<OWLObjectProperty> getRelatedSubObjectProperties(OWLNamedIndividual individual) {
    HashSet<OWLObjectProperty> relatedObjectProperties = new HashSet<>();

    HashSet<OWLObjectPropertyExpression> subProperties = new HashSet<>();
    subProperties.addAll(hasPart.getSubProperties(ontology));

    Set<OWLClass> types = reasoner.getTypes(individual, true).getFlattened();

    for (OWLObjectPropertyExpression property : subProperties) {
        Set<OWLClassExpression> domains = property.getDomains(ontology);
        for (OWLClassExpression domain : domains) {
            if (types.contains(domain.asOWLClass())) {
                relatedObjectProperties.add(property.asOWLObjectProperty());
            }
        }
    }

    return relatedObjectProperties;
}
for (OWLObjectProperty property : getRelatedSubObjectProperties(individual)) {
    Set<OWLNamedIndividual> values = reasoner.getObjectPropertyValues(individual, property).getFlattened();
    if (values != null) {
        for (OWLNamedIndividual value : values) {
            // a value associated to the individual
        }
    }
}

共有1个答案

郑俊弼
2023-03-14

GetObjectPropertyValues()的文档没有明确说明将考虑子属性,因此这里的行为可能依赖于reasoner。你用的是哪个推理机?

一种解决方法是获取您正在使用的属性的所有子属性,并循环遍历所有子属性,这样您将获得所有结果。

 类似资料:
  • 在 PowerShell 中,如何通过指定对象的名称(字符串)来获取对象的属性值?我想要类似这样的东西: 是否有类似于“获取属性名称”的内容?

  • 问题内容: 这个问题很简单,但是由于我是python的新手,所以我从php过来了,因此遇到了一些错误。 我有以下简单的课程: 在PHP中,我可以执行以下操作: 我该如何在python中做到这一点? 问题答案: 要访问对象的字段或方法,请使用dot : 如果将在运行时定义字段名称,请使用内置函数:

  • 问题内容: 说我有一个对象: 我想用其属性的子集创建一个新对象。 我该如何实现? 问题答案: 使用对象分解和属性速记 来自Philipp Kewisch: 这实际上只是一个即时调用的匿名函数。所有这些都可以在MDN 的“ 解构分配”页面上找到。这是扩展形式

  • 本文向大家介绍如何获取JavaScript对象属性的子集?,包括了如何获取JavaScript对象属性的子集?的使用技巧和注意事项,需要的朋友参考一下 假设以下是我们的对象- 以下是仅获取子集的代码- 示例 要运行以上程序,您需要使用以下命令- 在这里,我的文件名为demo120.js。 输出结果 这将产生以下输出-

  • 说我有对象: 我想用它的属性的子集来制作一个新的对象。 我怎样才能做到这一点?

  • 我有一个包含如下值的对象 这些都在变量autossuggest中。现在我只想获得值 谢谢你的小费