Без названия

топ 100 блогов iv_an_ru06.12.2019 Сегодня ночью я процедурой на Virtuoso/PL скомпилировал SHACL-для-SHACL-а в процедуру на Virtuoso/PL, которой проверил, что SHACL-для-SHACL-а действительно в SHACLе SHACL-для-SHACL-а.

RDF ведь очень бесформенный формат, в него можно что угодно запихать, вопрос только, что с этим "чем угодно" сможет делать читатель. Чтобы иметь возможность описать желаемую форму RDF-ных графов и описывать условия логической непротиворечивости этих графов, был разработан Shapes Constraint Language (SHACL). В документе на этом языке можно указать, например, что если у человека известна группа крови, то она у него только одна и может иметь только одно из значений некоторого списка, а если известны и дата рождения, и дата смерти, то первая меньше или равна второй. Если RDF-документ Y соответствует всем условиям, описанным в SHACL-документе X, то мы говорим, что у нас "Y в SHACLe X". Чтобы не проверять соответствие ручками, я пишу на Virtuoso/PL проверялку, которая на вход получает X и Y, и либо рапортует, что всё хорошо, либо выдаёт список "нарушений".

Это была присказка. Теперь учтём, что SHACL --- разновидность RDF. Значит, можно написать SHACL-для-SHACL-а, чтобы им проверять правильность SHACL-документов перед тем, как пробовать проверять ими RDF-документы. А в качестве "утренней зарядки" можно убедиться, что SHACL-для-SHACL-а действительно в SHACLе SHACL-для-SHACL-а.

Дальше веселее. Вот эта наша проверялка --- она откровенно неторопливая. Она вынуждена одним глазом косить в SHACL, а другим в проверяемый документ, и много-много раз перечитывать SHACL в процессе работы, выкусывая подробности нужных правил. Ну так можно же и побыстрее сделать, и я жизнерадостно пишу на Virtuoso/PL процедуру, которая скомпилирует данный ей SHACL X в такую программу на Virtuoso/PL, что если этой программе на вход подать RDF-документ Y, то он будет проверен на соответствие X. Получается в среднем в 30 раз быстрее.

Теперь вам не составит труда расшифровать скороговорку в первом абзаце.

Оставить комментарий

Предыдущие записи блогера :
Архив записей в блогах:
..... в трапезной Зачатьевского монастыря ...
давайте зададимся вопросом - а где статистика раскрытия дел? ну ведь всё же цифруется и сохраняется. откуда звонлии и с какой симки, на акой именно счёт открытый на чьё имя ушли деньги, где этот самый персонаж, на чьё имя был открыт счёт. куда со счёта пошли деньги дальше, с каких ...
Купил Лорку через plati.ru. Сегодня захожу сбить 5х и вижу: "Ваш аккаунт заблокирован. Причина:Сhargeback issue. please contact Billing Support". Продавец на Плати.ру тоже заблокирован, видимо, отозвал все платежи. Так что, посоны, не принимайте подарки от незнакомых людей! ...
Увидел несколько публикаций от независимых людей о том, что Яблоко выдвинуло весь этот замечательный список лишь затем, чтобы набрать 3%, и что всем нам не стоит обольщаться, фракции в Думе всё равно такой не бывать. Я понимаю, что после стольких лет обманов и кидков в российской политике ...
На Руси издавна принято жалеть больше всех дураков и больнушечек. Дурак? Ах, ты ж бедненький мой! Болеешь? Ох, на тебе пряник! Алексей Навальный мало того, что был неумён, так ещё с перепоя свалился в гипогликемическую кому. По заведённой традиции, его нужно жалеть. Видео: Соцсети ...