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

如何通过将owl的名称传递给java程序来获取owl中的个人信息

司空海荣
2023-03-14
import edu.stanford.smi.protegex.owl.model.OWLIndividual;
import java.util.List;
import java.util.Set;
import org.semanticweb.owlapi.model.OWLAnonymousIndividual;
import org.semanticweb.owlapi.model.OWLObjectProperty;
import uk.ac.ebi.brain.core.Brain;
import uk.ac.ebi.brain.error.BrainException;

public class AnimalIndividuals {

    public static void main(String[] args) throws BrainException {
        Brain brain = new Brain();
        brain.learn("d:\\Animal.owl");
        List<String> subClasses = brain.getSubClasses("Animal", false);
        for (String subClass : subClasses) {
            System.out.println("Subclass of Animal: " + subClass);
        }
        brain.sleep();
    }    
}

共有1个答案

金飞
2023-03-14

目前(2013年3月)不可能使用Brain检索附加到对象属性的个人,因为它尚未由负责此操作的基础推理者ELK实现。

然而,在我看来,你可以玩围绕你的造型。您可以将lion断言为一个类,而不是单独的类。您可以进一步将概念lion定义为has_color some golding的子类。它在猫头鹰中的意思是所有的狮子都是金色的,但事物可以是金色的,而不一定是狮子。

用大脑实现:

public static void main(String[] args) throws BrainException {
    Brain brain = new Brain();

    //Declaration of the concepts and properties
    brain.addClass("Animal");
    brain.addClass("Lion");
    brain.addClass("Golden");
    brain.addObjectProperty("has_color");

    //Axioms assertion
    brain.subClassOf("Lion", "Animal");
    brain.subClassOf("Lion", "has_color some Golden");

    //Query
    List<String> results = brain.getSubClasses("has_color some Golden", false);
    System.out.println(results);

    brain.sleep();
}
 类似资料:
  • 我甚至尝试与其他推理者(隐士,佩莱),因为我读到其他的帖子,但结果没有改变。我该怎么解决呢?

  • 问题内容: 假设我想将指针传递给函数并通过这样做来更改该指针指向的结构的值。我通常通过取消引用指针来做到这一点: 我的问题是,为什么这段代码不会改变价值 而这个做: 问题答案: 因为这一行: 只需为变量分配一个新的指针值即可。在函数内部,只是一个局部变量。通过向分配任何新值,您只是在更改局部变量的值,而 不是 指向的值。 中的局部变量与中的局部变量无关。如果你改变的,它不会改变的(这也不会改变尖结

  • 我在推断可传递对象属性时遇到了问题。我有类似于B的个体A和类似于C的个体B。我想在OWL API中使用Pellet或者使用Jena来获得个体组A,B,C,但是我无法找到在OWL API中进行推理的代码。 我已经在OWL API中加载了本体,有没有一个示例代码来推断一组具有相同可传递属性的个体?

  • 问题内容: 有什么办法可以在Python中按进程名称获取PID? 例如,我需要获得通过。 问题答案: 你可以使用进程的名字来的PID 通过subprocess.check_output: 将运行命令为, 如果返回码非零,则会引发CalledProcessError。 要处理多个条目并转换为整数: 在[21]中:get_pid(“ chrome”) 或者通过标记获取单个pid:

  • 我正在使用下面的查询生成器来获取在属性中使用组件(组件名称将作为参数传递)的不同页面列表。我需要传递两个参数,和path。我尝试了上面的JSON查询,但没有结果,它失败了,因为该组件可以在任何级别的页面节点上使用。例如,或 https://host:port/bin/querybuilder.json?1_property=sling:resourceType