Как добавить новый класс в моей онтологии благодаря запросу 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 {}
Другие вопросы по тегам