Как добавить поддержку правил SWRL в GraphDB?

Я хочу использовать GraphDB для онтологии, использующей правила SWRL. Можно ли добавить набор правил SWRL в GraphDB? Как это сделать?


person SVS    schedule 14.09.2019    source источник
comment
Нет никакого способа, AFAIK. Возможно, некоторые правила можно преобразовать в аксиомы OWL 2 (RL) (вручную или с помощью плагина ROWL в Protege). Попробуйте переписать другие правила, используя собственный формат правил GraphDB.   -  person Stanislav Kralin    schedule 15.09.2019
comment
Спасибо. Но мне кажется, что формат правил GraphDB не поддерживает арифметику, сравнение свойств индивидуумов и т.д., не так ли?   -  person SVS    schedule 15.09.2019
comment
Я знаю, что Stardog поддерживает SWRL, но существуют ли другие СУБД, совместимые с RDF?   -  person SVS    schedule 15.09.2019
comment
Правила Stardog или Stardog будут поддерживать то, чего вы пытаетесь достичь из коробки. Virtuoso 8 имеет механизм правил, но является коммерческим. В зависимости от размера данных Apache Jena (TDB) может использовать свои правила Jena. Помимо этого, вы также можете подумать о запросах обновления SPARQL 1.1, если ваши данные являются статическими, и вы просто хотите материализовать выведенные факты один раз. Для специальных запросов в реальном времени, хотя и не подходит.   -  person UninformedUser    schedule 15.09.2019
comment
Итак, вопрос, почему бы не попробовать Stardog?   -  person UninformedUser    schedule 15.09.2019
comment
Обратите внимание: если у вас есть очень динамичные данные — и в вашей задаче анализа трафика это, кажется, так — вам нужен какой-то механизм обратной цепочки/перезаписи запросов — который делает Stardog, а GraphDB — нет.   -  person UninformedUser    schedule 15.09.2019
comment
Да, это так.   -  person SVS    schedule 15.09.2019
comment
Да, как я описал здесь stackoverflow.com/questions/57937212/ сама онтология динамична, по крайней мере, с точки зрения данных.   -  person SVS    schedule 15.09.2019
comment
@AKSW Мне было интересно, поддерживает ли Stardog операции с упорядоченными коллекциями, то есть списками, представленными как protege.stanford.edu/conference/2006/submissions/abstracts/ ? Такие операции, как наличие подсписка, наличие элемента с указанными свойствами, агрегирование по всем элементам? Я чувствую, что для того, чтобы сделать это эффективно, списки должны быть внутренне переведены в некоторые древовидные структуры данных.   -  person SVS    schedule 16.09.2019
comment
Я сомневаюсь, что какой-либо тройной магазин будет поддерживать какую-то нестандартную языковую функцию, такую ​​как списки в OWL. Тем более, что есть несколько предложений по моделированию списков/последовательностей в OWL. Я имею в виду, что в SPARQL вы могли бы попытаться использовать пути к свойствам для обработки стандартных списков RDF, но я не знаю правил. МЫ должны были бы увидеть образцы данных, прежде чем давать какие-либо полезные советы. Действительно, в Stardog вы можете реализовать пользовательские функции, и Stardog также поддерживает некоторые пользовательские типы данных массива. Но я не специалист в этом направлении, люди из Stardog знают лучше, все равно нужно видеть конкретные данные.   -  person UninformedUser    schedule 16.09.2019
comment
Вы правы, правила GraphDB не поддерживают арифметику или сравнения: их простота позволяет им быть динамичными, но очень эффективными (без перезаписи запросов). Я разместил ответ на stackoverflow.com/questions/57937212, показывающий, как вы можете связать дороги с сегментами, используя общий номер дороги   -  person Vladimir Alexiev    schedule 12.02.2021