Leave a comment

vvagr January 21 2020, 23:10:59 UTC
Вы серьезно отождествляете правила SHACL и логический вывод?

Reply

serge_gorshkov January 22 2020, 04:58:12 UTC
SHACL Constraints - спецификация для правил контроля логической целостности, SHACL Rules - для получения выведенных фактов из постулированных. На мой взгляд, то и другое относится к инструментам логического вывода.
А на ваш взгляд где граница между логическим выводом и всем остальным?

Reply

vvagr January 22 2020, 16:41:23 UTC
Логический вывод - это общий механизм. С помощью логического вывода можно извлекать следствия из существующих данных на основании определённых правил и аксиом. Сами эти правила и аксиомы могут быть зписаны как RDFS, OWL, SHACL, или даже ISO 15926. Эти стандарты определяют интерпретацию записанных на них правил.

При этом идеология этих стандартов всё же отличается, несмотря на сходство. Выражения на RDFS или OWL больше заточены именно под вывод - вывод новых утверждений из существующих. SHACL или ISO 15926 - заточены под описание ограничений схемы данных и под проверку выполнения этих ограничений, а не под пополнение набора сделанных утверждений.

Reply

serge_gorshkov January 22 2020, 17:03:36 UTC
В целом так, я бы только уточнил, что в RDFS и OWL как таковых используется конкретный набор правил, следующих из самой спецификации (см. например RDFS entailment - элементарные правила вроде того, что любой объект подкласса является и объектом его надклассов). А SWRL и SPIN создавались для описания правил, придуманных пользователем.

SHACL создается по частям: сначала создали SHACL Constraints, которая действительно описывает только правила проверки ограничений. Статус спецификации пока имеет только она.
Но есть и следующая часть, SHACL Advanced Features, где описан синтаксис SHACL Rules, которые описывают именно способы извлечения следствий и фактов.

Reply

vvagr January 26 2020, 10:37:58 UTC
SHACL действительно привлекателен стандартизацией - можно предположить, что кто-нибудь сделает движок, реализующий вывод на основании SHACL Rules. Но мое изначальное удивление было связано не с этим. Сами алгоритмы вывода для таких движков не очень-то продвинулись с того момента, как их писали на Прологе. И изменения в этой области пока что не предвидятся, возможность записывать все более сложные patterns на новых стандартных языках не приводит к росту промышленного применения. Скорее уж стоит ожидать прорывов по линии совмешения логического вывода и машинного обучения, graph embedding etc.

Reply

serge_gorshkov January 26 2020, 12:32:44 UTC
Совершенно верно, алгоритмы вывода все те же, и вряд ли тут стоит ожидать кардинальных изменений. В моде разнообразные варианты автоматизации получения правил, которые не обходятся без машинного обучения, иногда и нейросетей.

Reply


Leave a comment

Up