从本体中选择与给定实例有关系的所有实例

时间:2019-05-05 16:56:01

标签: sparql rdf owl ontology protege

我开发了一个使用Protege进行机器学习的本体。 我有以下类及其实例:

  • 算法:A1,A2
  • 学习方法:M1,M2

一种算法可以对学习方法具有 has-learning-method 对象属性。

我想构建一个查询以选择分配给实例A1的所有学习方法。

我设法建立了一个查询,该查询为我提供了算法的所有实例及其相应的LearningMethod。

PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX ml: <http://www.semanticweb.org/machine-learning-ontology#>


SELECT DISTINCT ?x0 ?x1 WHERE {
  ?x0 rdf:type ml:Algorithm.
  ?x1 rdf:type ml:LearningMethod.
  ?x0 ml:has-learning-method ?x1.
}

给出答案:

+---------+---------+
|    x0   |    x1   |
+---------+---------+
|    A1   |    M1   |
+---------+---------+
|    A2   |    M2   |
+---------+---------+

如何仅选择链接到A1的学习方法? 我可以使用任何前缀吗?

预期结果应该是:

+---------+---------+
|    x0   |    x1   |
+---------+---------+
|    A1   |    M1   |
+---------+---------+

0 个答案:

没有答案