язык запросов RDF
Язык запросов RDF — это компьютерный язык , в частности язык запросов для баз данных , способный извлекать и манипулировать данными, хранящимися в формате Resource Description Framework (RDF).
SPARQL стал стандартным языком запросов RDF. [1] а в 2008 году стал рекомендацией W3C . [2] [3]
Свойства языка запроса
[ редактировать ]Свойства, относящиеся к разработке языка запросов RDF, включают поддержку формата RDF: [4]
- Поддержка данных RDF, которые представляют собой набор троек, образующих граф RDF.
- Поддержка семантики RDF и вывода, позволяющего проанализировать значение графов RDF.
- Поддержка типов данных схемы, таких как схема XML.
и для желаемых языковых функций:
- Выразительность: сила выражения запроса, которое может быть создано.
- Замыкание: операции с данными на графике RDF должны привести к созданию другого графа RDF.
- Ортогональность: операции с данными не зависят от контекста, в котором они используются.
- Безопасность: каждое выражение возвращает конечный набор результатов.
Языковые семьи запросов
[ редактировать ]Языки запросов RDF можно сгруппировать в языковые семейства, каждое из которых включает набор тесно связанных языков. [5]
Семейство языков SPARQL включает SquishQL, RDQL, SPARQL и TriQL. [5] Эти языки рассматривают хранилища данных RDF как тройные хранилища, с которыми не обязательно связана информация онтологии или схемы. Члены семейства SPARQL считаются реляционными языками запросов, поскольку они имеют реляционные операции или операции на основе шаблонов. [6] SquishQL — это язык, созданный для простоты использования и похожий по структуре на SQL. RDQL, аббревиатура от RDF Data Query Language, был дальнейшим развитием SquishQL. RDQL задумывался как простой язык RDF низкого уровня и в какой-то момент был кандидатом на стандартизацию W3C. [7] SPARQL — это расширение RDQL, которое поддерживает извлечение подграфов RDF. В 2008 году SPARQL 1.0 стал рекомендацией W3C. [8] а SPARQL 1.1 стал рекомендацией W3C в 2013 году. [9]
Семейство языков RQL включает RQL, SeRQL и eRQL. [5] Эти языки поддерживают запросы как к данным, так и к схеме. RQL, аббревиатура от языка запросов RDF, известен тем, что использует типы, определенные в схемах RDF (RDFS), для запроса иерархии классов схемы и поддержки запросов данных по типам. RQL считается более выразительным, чем семейство языков SPARQL, но его критикуют за слишком много функций и необычные синтаксические конструкции. SeRQL и eRQL были разработаны как упрощенные альтернативы RQL.
Существует семейство языков запросов RDF, основанных на технологии запросов XML. [5] XQuery для RDF использует язык запросов XML XQuery для запроса данных RDF путем сериализации RDF в формат XML и последующего использования XQuery для результата; это было названо «синтаксическим веб-подходом». TreeHugger и RDF Twig используют XSLT для запроса данных RDF. Versa от 4Suite — это язык запросов, вдохновленный XPath .
Существуют языки запросов RDF, основанные на других принципах. [5] Metalog сочетает в себе запросы и рассуждения и имеет синтаксис, подобный английскому. Algae — это язык запросов, разработанный W3C, который добавляет реактивные правила, [10] также называемые действиями, которые определяют, например, является ли выражение водорослей запросом данных или обновлением данных.
Другие примеры языков запросов RDF включают RDFDBQL . [11]
Пример
[ редактировать ]select
?uri,?name, ?lat, ?lon
from
<http://swordfish.rdfweb.org/discovery/2003/11/cities/xmlrdf.jsp?query=port>
where
(?city, <rdfs:label>, ?name),
(?city, <rdfs:label>,?uri),
(?city, <pos:lat>, ?lat),
(?city, <pos:long>, ?lon)
using
rdfs FOR <http://www.w3.org/2000/01/rdf-schema#>,
pos FOR <http://www.w3.org/2003/01/geo/wgs84_pos#>,
doilair FOR <http://www.daml.org/2001/10/html/airport-ont#>,
vcard FOR <http://www.w3.org/vcard-rdf/3.0#>
Родственные языки
[ редактировать ]Другие языки, которые могут запрашивать данные RDF, включают:
- DQL, XML -запросы и результаты, выраженные в DAML+OIL
- В XUL есть элемент шаблона , в котором объявляются правила сопоставления данных в RDF. XUL широко использует RDF для привязки данных.
- Аденин (язык программирования, написанный на RDF).
XQuery или XML Query — это стандартный язык запросов для XML-документов. [12]
Языки запросов к графам , такие как Cypher Query Language , GraphQL и Gremlin , предназначены для запроса графовых баз данных , примером которых являются хранилища данных RDF. [13]
Язык запросов карты тем (TMQL) [14] — это язык запросов для тематических карт , представление данных, похожее на RDF, но более общее.
Ссылки
[ редактировать ]- ^ Бикакис, Никос; Цинараки, Криса; Гиолдасис, Нектарий; Ставракантонакис, Иоаннис; Христодулакис, Ставрос (1 января 2013 г.). «Миры XML и семантической сети: технологии, совместимость и интеграция: обзор современного состояния». Семантическая гипер/мультимедийная адаптация . Исследования в области вычислительного интеллекта. Том. 418. стр. 319–360. arXiv : 1608.03556 . дои : 10.1007/978-3-642-28977-4_12 . ISBN 978-3-642-28976-7 . S2CID 6357481 .
- ^ Прюдоммо, Эрик; Сиборн, Энди (15 января 2008 г.). «Язык запросов SPARQL для RDF» . W3C . Консорциум Всемирной паутины.
- ^ Герман, Иван (15 января 2008 г.). «SPARQL — это рекомендация» . Новости семантической веб-активности . Консорциум Всемирной паутины.
- ^ Хаазе, Питер; Броекстра, Джин; Эберхарт, Андреас; Фольц, Рафаэль (7 ноября 2004 г.). «Сравнение языков запросов RDF» . Семантическая сеть – ISWC 2004 . Конспекты лекций по информатике. Том. 3298. стр. 502–517 . CiteSeerX 10.1.1.105.8731 . дои : 10.1007/978-3-540-30475-3_35 . ISBN 978-3-540-23798-3 .
- ^ Jump up to: а б с д и Бейли, Джеймс; Брай, Франсуа; Фурче, Тим; Шафферт, Себастьян (1 января 2005 г.). «Языки веб- и семантических веб-запросов: обзор». Сеть рассуждений . Конспекты лекций по информатике. Том. 3564. стр. 35–133. дои : 10.1007/11526988_3 . ISBN 9783540278283 . Проверено 23 октября 2016 г.
{{cite book}}
:|journal=
игнорируется ( помогите ) - ^ Фурче, Тим; Линсе, Бенедикт; Брай, Франсуа; Плексусакис, Димитрис; Готтлоб, Георг (1 января 2006 г.). «Запросы RDF: сравнение языковых конструкций и методов оценки». Сеть рассуждений . Конспекты лекций по информатике. Том. 4126. стр. 1–52. CiteSeerX 10.1.1.71.227 . дои : 10.1007/11837787_1 . ISBN 978-3-540-38409-0 .
- ^ «RDQL — язык запросов для RDF» . www.w3.org . W3C . Проверено 23 октября 2016 г.
- ^ «SPARQL — это рекомендация | Новости активности семантической сети» . www.w3.org . Проверено 23 октября 2016 г.
- ^ «Одиннадцать спецификаций SPARQL 1.1 являются рекомендациями W3C | Новости семантической веб-активности» . www.w3.org . Проверено 23 октября 2016 г.
- ^ Берстель, Бруно; Боннар, Филип; Брай, Франсуа; Эккерт, Майкл; Патранжан, Паула-Лавиния (1 января 2007 г.). «Реактивные правила в сети» . Сеть рассуждений . Конспекты лекций по информатике. Полный. 4636. стр. 183–239 . дои : 10.1007/978-3-540-74615-7_3 . ISBN 978-3-540-74613-3 .
- ^ Фензель, Дитер; Сикара, Катя; Милопулус, Джон (2003). Семантическая сеть - ISWC 2003 . Спрингер . п. 89. ИСБН 9783540203629 . Проверено 21 октября 2016 г.
- ^ «XQuery 3.0: язык запросов XML» . www.w3.org . W3C . Проверено 23 октября 2016 г.
- ^ Углы, Ренцо; Гутьеррес, Клаудио (29 мая 2005 г.). «Запрос данных RDF с точки зрения базы данных графов». Семантическая сеть: исследования и приложения . Конспекты лекций по информатике. Том. 3532. стр. 346–360. дои : 10.1007/11431053_24 . ISBN 978-3-540-26124-7 .
- ^ «Язык запросов карты тем (TMQL)» . www.isotopicmaps.org . Проверено 23 октября 2016 г.