У меня есть трипстер с кунжутом с импортированной им онтологией.Проверка SPARQL UPDATE
Я знаю, что могу выполнять операции обновления SPARQL, вставляя экземпляры, удаляя экземпляры и обновляя вещи и прочее.
Но что делать, если эти операции используются неверно, например, вставить недействительную тройку, которая не имеет логики и не учитывает правила онтологии. Тройная как:
foo:Anna foo:likesToEat foo:arsenic.
И онтология выглядит следующим образом:
@prefix foo: <http://www.foo.org/ontologies/example#>.
foo:Anna rdf:type foo:Person.
foo:Anna rdf:type owl:NamedIndividual.
foo:Food rdf:type owl:Class.
foo:Metal rdf:type owl:Class.
foo:Person rdf:type owl:Class.
foo:arsenic rdf:type foo:Metal.
foo:arsenic rdf:type owl:NamedIndividual.
foo:likesToEat rdf:type owl:ObjectProperty.
foo:likesToEat rdfs:domain foo:Person.
foo:likesToEat rdfs:range foo:Food.
foo:pizza rdf:type foo:Food.
foo:pizza rdf:type owl:NamedIndividual.
Как вы можете видеть тройную "Foo: Anna Foo: likesToEat Foo: мышьяк" является недействительным, поскольку в диапазоне OBJECTPROPERTY не соблюдается.
Мои вопросы:
Есть ли способ проверки такого рода обновлений, так что операция обновления будет выполняться только в том случае онтология соблюдается? Есть ли способ установить трёхмерное хранилище для проверки этих вещей или это нужно сделать вручную?