Как добавить новый класс в моей онтологии благодаря запросу SPARQL?
У меня есть моя онтология, и я могу выполнять запросы SPARQL, такие как запросы SELECT. Но я не могу найти способ добавить / создать новый класс для моей онтологии. Я ищу решение онлайн, но вся информация, которую я видел, является модификациями онтологии. Я имею в виду преобразование или добавление существующего ObjectProperty между двумя ресурсами, которые также существуют.
Я использую бесплатную версию TopBraid Composer
Я пытался:
CONSTRUCT {
rule:Kayaking a owl:Class .
rule:Kayaking rdfs:subClassOf rule:Activity .
rule:Kayaking rdfs:label "Kayaking" .
}
WHERE {
}
где myprefix => http://myapplication/
но это не работает, и я не могу понять, как объединить это в моей онтологии.. (У меня недостаточно репутации, чтобы публиковать фотографии, извините...)
1 ответ
Я так понимаю, вы выполнили этот запрос на панели SPARQL View в Composer? Это отобразит результаты в виде троек в сетке справа от представления SPARQL. Но CONSTRUCT вернет только тройки. Затем вам нужно сказать системе, что делать с этими тройками.
Поэтому выберите тройки, сгенерированные запросом (выберите все в правой сетке). Прокрутите значки в верхней части этой панели. Выбор жирной синей стрелки "утвердит" выбранные тройки в текущем открытом графике. Выбор трех синих кружков будет временно "выводить" тройки на текущем открытом графике.
В качестве альтернативы используйте SPARQL Update:
INSERT {
rule:Kayaking a owl:Class .
rule:Kayaking rdfs:subClassOf rule:Activity .
rule:Kayaking rdfs:label "Kayaking" .
}
WHERE {}
... который устанавливает тройки в текущий открытый график. Если вы хотите нацелить вставку на определенный график, используйте GRAPH:
INSERT {
GRAPH <graph-url> {
rule:Kayaking a owl:Class .
rule:Kayaking rdfs:subClassOf rule:Activity .
rule:Kayaking rdfs:label "Kayaking" .
}
}
WHERE {}