0

我有 20 个品种的数据,individual以及它们的成本、能量水平、适应性水平、低过敏性以及将它们作为object properties. 我想object properties单独检索所有内容。

到目前为止,这是我的查询:

PREFIX dog: <http://www.owl-ontologies.com/guguk_test.owl#>
SELECT *
WHERE {
    ?dog dog:hasAdaptability ?adaptability .
    ?dog dog:hasCost ?cost .
    ?dog dog:hasEnergy ?energy .
    ?dog dog:hasHypoallergenic ?hypoallergenic .
    ?dog dog:hasPurpose ?purpose .
}

结果显示所有品种 ( individual) 与所有object properties

这是结果的截图 结果截图

我只需要选择 1 个品种 ( individual) 和object properties那个品种。

我已经尝试过这个查询,但结果是:no matches found

PREFIX dog: <http://www.owl-ontologies.com/guguk_test.owl#>
SELECT *
WHERE {
    ?dog dog:hasBreeds dog:Basenji .
    ?dog dog:hasAdaptability ?adaptability .
    ?dog dog:hasCost ?cost .
    ?dog dog:hasEnergy ?energy .
    ?dog dog:hasHypoallergenic ?hypoallergenic .
    ?dog dog:hasPurpose ?purpose .
}
4

2 回答 2

2

尝试这个...

PREFIX dog: <http://www.owl-ontologies.com/guguk_test.owl#>

SELECT *
WHERE {
    VALUES ?dog { dog:Basenji } .
    ?dog dog:hasAdaptability ?adaptability .
    ?dog dog:hasCost ?cost .
    ?dog dog:hasEnergy ?energy .
    ?dog dog:hasHypoallergenic ?hypoallergenic .
    ?dog dog:hasPurpose ?purpose .
}
于 2018-07-03T18:31:54.233 回答
0

请注意,您也可以将变量用于属性。即使您更改了本体,此查询也会全部获取它们:

PREFIX dog: <http://www.owl-ontologies.com/guguk_test.owl#>

SELECT * WHERE {
    dog:Basenji ?property ?value
}

或者,您可以使用BIND 运算符将要检索的品种分配给变量。

PREFIX dog: <http://www.owl-ontologies.com/guguk_test.owl#>

SELECT * WHERE {
    BIND (dog:Basenji AS ?dog)

    ?dog ?property ?value
}
于 2018-07-12T12:35:53.380 回答