Как Sparql INSERT в TopBraid Composer?
Я пытаюсь вставить новые классы, используя Sparql в TopBraid Composer (ME 5.5.2). Моя простая онтология выглядит так:
Затем я написал запрос Sparql для вставки Berry
как подкласс Fruit
:
PREFIX ft: <http://www.semanticweb.org/ontologies/2018/7/fruit#>
PREFIX rdfs: <ttp://www.w3.org/2000/01/rdf-schema#>
INSERT
{ft:Berry rdfs:subClassOf ft:Fruit}
Но появилось сообщение об ошибке, говорящее Encountered "insert". Was expecting one of: "base, "select", ...
Аналогичный пост: данные вставки Sparql не работают, говорится, что Sparql Query отличается от языка Sparql Update. В другом посте говорится, что Sparql Update не поддерживается в Protege, но поддерживается в Composer (по этой причине я скачал Composer). Я также проверил руководство Composer: https://www.topquadrant.com/docs/TBC-Getting-Started-Guide52.pdf, в котором упоминается Обновление Sparql, но мало что сказано.
Тогда мой вопрос: можно ли вставить классы и аксиомы в TopBraid? Если так, то как? Моя конечная цель заключается в том, чтобы вставленные классы появлялись в иерархическом представлении, а их вставленные определения классов можно было увидеть и на стороне. Если Composer не может сделать это, какие другие инструменты / рабочие процессы я могу использовать?
Извините за такой вопрос новичка. Любая помощь приветствуется.
1 ответ
Есть две формы INSERT
в SPARQL 1.1 Обновление:
INSERT DATA
INSERT
Вы смешиваете их.
Следующее работает для меня в TBC 5.5.2 Free Edition против kennedys.ttl
пример:
INSERT DATA
{ kennedys:UralStateUniversity a kennedys:College }
Будучи неизвестным URI, тема подчеркивается в редакторе запросов, но просто нажмите кнопку "Выполнить SPARQL".
Обновить
В вашем конкретном случае вы должны сказать что-то вроде
INSERT DATA
{ ft:Berry rdfs:subClassOf ft:Fruit; a owl:Class }
Обратите внимание, что owl:Class
используется. TBC рассматривает случаи rdfs:Class
как "системные классы", их значки коричневые, а не желтые.