SPARQL-запрос для получения всех свойств объекта об одном человеке (в Protege) - PullRequest
0 голосов
/ 03 июля 2018

У меня есть данные для 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

это скриншот результата screenshot of the result

Мне нужно выбрать только 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 .
}

Ответы [ 2 ]

0 голосов
/ 12 июля 2018

Обратите внимание, что вы также можете использовать переменные для свойств. Этот запрос извлечет их все, даже если вы измените свою онтологию:

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
}
0 голосов
/ 03 июля 2018

Попробуйте это ...

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 .
}
...