Jump to content

ШАКЛ

ШАКЛ
Язык ограничений фигур
Аббревиатура ШАКЛ
Статус Опубликовано, рекомендация W3C [1]
Год начался 2015  ( 2015 ) [2]
Впервые опубликовано 8 октября 2015 г .; 8 лет назад ( 08.10.2015 ) [2]
Организация W3C
комитет Рабочая группа по формам данных RDF
Редакторы
  • Хольгер Кнублаух
  • Димитрис Контокостас
[1]
Базовые стандарты
Сопутствующие стандарты
Домен Семантическая сеть
Веб-сайт www .w3 .org /ТР /шакл /

Язык ограничений фигур [1] ( SHACL ) — это Консорциума Всемирной паутины стандартный язык (W3C) для описания графов структуры описания ресурсов (RDF). SHACL был разработан для улучшения уровней семантической и технической совместимости онтологий, выраженных в виде графов RDF. [3]

Модели SHACL определяются с точки зрения ограничений на содержание, структуру и значение графа. SHACL — очень выразительный язык. Среди прочего, он включает в себя функции для выражения условий, которые ограничивают количество значений, которые может иметь свойство, тип таких значений, числовые диапазоны, шаблоны сопоставления строк и логические комбинации таких ограничений. SHACL также включает механизм расширения для выражения более сложных условий на таких языках, как SPARQL и JavaScript . Правила SHACL добавляют к SHACL возможности вывода, позволяя пользователям определять, какие новые утверждения могут быть выведены из существующих (утвержденных) утверждений.

Терминология [ править ]

SHACL позволяет пользователям описывать формы данных, ориентируясь на то, где применяется конкретная форма.

Формы свойств [ править ]

Форма свойства описывает характеристики узлов графа, к которым можно добраться по определенному пути. Путь может представлять собой один предикат (свойство) или цепочку предикатов. Фигура свойства всегда должна указывать путь. Это делается с помощью sh:path предикат.Можно думать о формах свойств, которые используют простые пути для описания значений определенных свойств, например значений свойства возраста или значений свойства « работы для свойства».Сложные пути могут задавать комбинацию разных предикатов в цепочке, включая обратное направление, альтернативные предикаты и транзитивные цепочки.

Формы свойств могут быть определены как часть формы узла. В этом случае форма узла указывает на формы свойств, используя sh:property предикат. Формы свойств также могут быть «автономными», т. е. полностью независимыми от любых форм узлов.

Формы узлов [ править ]

описывает Форма узла характеристики конкретных узлов графа независимо от того, как вы к ним доберетесь. Можно, например, сказать, что определенные узлы графа должны быть литералами или URI и т. д. Обычно формы свойств включаются в форму узла, эффективно определяя значения множества различных свойств узла.

Например, форма узла для сотрудника может включать формы свойств для возраста и работы для свойств.

Ограничения [ править ]

Ограничение это способ описания различных характеристик значений. Форма будет содержать одно или несколько объявлений ограничений. SHACL предоставляет множество предварительно созданных типов ограничений. Например, sh:datatype используется для описания типа литеральных значений, например, являются ли они строками, целыми числами или датами. sh:minCount используется для описания минимально необходимого количества значений. sh:length используется для описания количества символов в значении.

Цели [ править ]

Цель . связывает фигуру с данными, которые она описывает Самый простой способ указать цель — сказать, что форма узла также является классом. Это означает, что его определение применимо ко всем членам (экземплярам) класса. Другие способы определить цель фигуры:

  1. Явно говоря, что форма предназначена для членов определенного класса. Это можно сделать вместо того, чтобы превращать форму узла в класс.
  2. Сказать, что форма нацелена на конкретный ресурс, указав его URI.
  3. Говоря, что форма нацелена на все субъекты или все объекты троек с определенным предикатом.
  4. Использование запроса SPARQL для выбора набора целевых ресурсов.

Объявления целей могут быть включены в форму узла или форму свойства. Однако если форма свойства является частью формы узла, ее собственные цели игнорируются.

SHACL использует rdfs:subClassOf заявления для определения целей. Форма, нацеленная на членов класса, также нацелена на членов всех его подклассов. Другими словами, все определения SHACL для класса наследуются подклассами.

Проверка [ править ]

SHACL обеспечивает проверку графиков. Механизм проверки SHACL принимает на вход проверяемый граф (называемый графом данных) и граф, содержащий объявления форм SHACL (называемый графом форм), и создает отчет о проверке, также выраженный в виде графа. Все эти графики могут быть представлены в любых Resource Description Framework (RDF), форматах сериализации включая JSON-LD или Turtle .

SHACL довольно уникален в своем подходе, поскольку в него встроена не только возможность указать уровень серьезности результатов проверки, но и возможность возвращать предложения о том, как можно исправить данные, если результат проверки будет повышен. Встроенные уровни: «Нарушение», «Предупреждение» и «Информация», по умолчанию — «Нарушение», если нет. sh:severity было указано для фигуры. Пользователи SHACL могут добавлять другие уровни серьезности. Результаты проверки также могут иметь значения других свойств, как описано в спецификации. Например, свойство sh:resultMessage предназначен для передачи пользователям дополнительных текстовых подробностей, включая рекомендации о том, как можно исправить данные для обращения к результату проверки. В случаях, когда ограничение не имеет значений для sh:message в графе фигур процессор SHACL может автоматически генерировать другие значения для sh:resultMessage. Некоторые процессоры SHACL (например, процессор TopQuadrant) реализовали эти предложения в программном обеспечении, автоматизируя их применение по запросу пользователя.

Технические характеристики [ править ]

Консорциум World Wide Web опубликовал следующие спецификации SHACL:

  • ШАКЛ [1] (Техническая рекомендация W3C) — это основной документ, определяющий особенности SHACL Core и его механизма расширения, называемого SHACL-SPARQL. SHACL Core определяет базовый синтаксис и структуру фигур, ограничения, встроенные виды ограничений и способы связывания фигур с узлами данных. SHACL-SPARQL определяет, как выражать ограничения, не охватываемые встроенными типами ограничений.
  • Расширенные возможности SHACL [4] (Примечание рабочей группы W3C), самая последняя версия которого поддерживается группой сообщества SHACL, определяет поддержку правил SHACL, мощной функции (вдохновленной правилами SPIN) для преобразований данных, выводов и сопоставлений на основе форм данных. Также включает расширения SHACL-SPARQL, такие как пользовательские функции.
  • Расширения SHACL JavaScript [5] (Примечание рабочей группы W3C) определяет, как можно использовать JavaScript для выражения ограничений, правил, функций и других функций. Это охватывает ту же область, что и SHACL-SPARQL, но использует JavaScript в качестве языка выполнения.
  • Компактный синтаксис SHACL [6] (Отчет группы сообщества SHACL).

Инструменты с открытым исходным кодом [ править ]

Набор тестов SHACL и отчет о внедрении [7] По ссылке в спецификации SHACL W3C перечислены некоторые инструменты с открытым исходным кодом, которые можно было использовать для проверки SHACL по состоянию на июнь 2019 года. К концу 2019 года многие поставщики коммерческих баз данных и инфраструктур RDF объявили о поддержке как минимум SHACL Core.

Некоторые из инструментов с открытым исходным кодом, перечисленные в отчете:

  • dotNetRDF SHACL — онлайн-сервис проверки SHACL, написанный на .NET Framework. [8] [9]
  • pySHACL — библиотека проверки SHACL с открытым исходным кодом для использования в командной строке, написанная на Python. [10]
  • SHaclEX — на Scala. реализация SHACL и ShEx [11]
  • TopBraid SHACL API — реализация SHACL с открытым исходным кодом от TopQuadrant, основанная на Apache Jena . Он охватывает проверку SHACL Core и SHACL-SPARQL, а также расширенные функции SHACL, расширение Javascript SHACL и компактный синтаксис SHACL. Тот же код используется в коммерческих продуктах TopBraid . [12]

SHACL Playground — это бесплатная служба проверки SHACL, реализованная на JavaScript. [13]

Eclipse RDF4J — это платформа Java с открытым исходным кодом, разработанная Eclipse Foundation для обработки данных RDF, которая поддерживает проверку SHACL. [14]

Коммерческие инструменты [ править ]

SHACL поддерживается большинством поставщиков технологий RDF Graph, включая Cambridge Semantics (Anzo, выйдет в первом квартале 2022 г.), Franz ( AllegroGraph ), Metaphacts, Ontotext ( GraphDB ), Stardog и TopQuadrant. Поддержка есть даже в коммерческих продуктах, использующих модель данных графа свойств, таких как Neo4J. [15]

Уровни реализации могут различаться. Как минимум, поставщики поддерживают SHACL Core. Некоторые из них также поддерживают SHACL SPARQL для более высокой выразительности, тогда как другие могут поддерживать расширенные функции SHACL, которые включают правила и функции.

См. также [ править ]

Ссылки [ править ]

  1. ^ Jump up to: Перейти обратно: а б с д Кнублаух, Хольгер; Контокостас, Димитрис, ред. (20 июля 2017 г.). «Язык ограничений форм (SHACL)» . W3C . Рабочая группа по формам данных RDF . Проверено 06 апреля 2021 г.
  2. ^ Jump up to: Перейти обратно: а б «История публикаций языка ограничений форм (SHACL) — W3C» . W3C . Проверено 06 апреля 2021 г.
  3. ^ «Оценка SHACL CAMSS Европейской комиссией» .
  4. ^ Кнублаух, Хольгер; Аллеманг, Дин; Стейскал, Саймон, ред. (08.06.2017). «Расширенные функции SHACL» . W3C . Рабочая группа по формам данных RDF . Проверено 06 апреля 2021 г.
  5. ^ Кнублаух, Хольгер; Мария, Пано, ред. (09.01.2018). «Расширения SHACL JavaScript» . W3C . Группа сообщества SHACL.
  6. ^ Кнублаух, Хольгер; Мария, Пано, ред. (09.01.2018). «Компактный синтаксис SHACL» . W3C . Группа сообщества SHACL.
  7. ^ Лабра Гайо, Хосе Эмилио; Кнублаух, Хольгер; Контокостас, Димитрис, ред. (22 января 2021 г.). «Набор тестов SHACL и отчет о внедрении» . W3C .
  8. ^ Ланг, Саму (nd). «dotNetRDF SHACL» . langsamu.net . Проверено 06 апреля 2021 г.
  9. ^ Ланг, Саму (01 июня 2019 г.). «Служба проверки dotNetRDF SHACL» . Гитхаб . Проверено 7 апреля 2021 г.
  10. ^ Соммер, Эшли; Автомобиль, Николай (15 августа 2018 г.). «RDFLib/pySHACL: валидатор Python для SHACL» . Гитхаб . Проверено 06 апреля 2021 г.
  11. ^ Лабра Гайус, Джозеф Эмили; и др. (Веб-семантика Овьедо, Университет Овьедо). "weso/shaclex: реализация SHACL/ShEx " Гитхаб . Получено 0 апреля 2021 г.
  12. ^ Кнублаух, Хольгер (24 мая 2015 г.). «TopQuadrant/shacl: API SHACL в Java на основе Apache Jena» . Гитхаб . Проверено 06 апреля 2021 г.
  13. ^ Кнублаух, Хольгер (01 мая 2017 г.). «Детская площадка ШАКЛ» . Детская площадка ШАКЛ . Проверено 7 апреля 2021 г.
  14. ^ «Проверка графиков Neo4j на соответствие SHACL» .
  15. ^ Кнублаух, Хольгер (01 мая 2017 г.). «Детская площадка ШАКЛ» . Детская площадка ШАКЛ . Проверено 7 апреля 2021 г.

Дальнейшее чтение [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a54161e7d0a06f6c7df5e0efc95f8265__1718229120
URL1:https://arc.ask3.ru/arc/aa/a5/65/a54161e7d0a06f6c7df5e0efc95f8265.html
Заголовок, (Title) документа по адресу, URL1:
SHACL - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)