Ҳоло бо нигаҳдории RDF чӣ мешавад?

Веб семантикӣ ва маълумотҳои алоқаманд ба фазои кайҳон монанданд: дар он ҷо ҳаёт вуҷуд надорад. Каму беш муддати дароз ба он чо рафтан... Намедонам, дар айёми кудакй ба ту дар чавоби «Мехохам кайхоннавард шавам» чй ​​гуфтанд. Аммо шумо метавонед ҳангоми дар рӯи замин чӣ рӯй дода истодаро мушоҳида кунед; Астрономҳои ҳаводор ё ҳатто касбӣ шудан хеле осонтар аст.

Мақола ба тамоюлҳои охирин, на бештар аз чанд моҳ, аз ҷаҳони нигаҳдории RDF тамаркуз хоҳад кард. Метафора дар сархати аввал аз тасвири таблиғотии эпикӣ дар зери буриш илҳом гирифта шудааст.


Сурати эпикӣ

Ҳоло бо нигаҳдории RDF чӣ мешавад?

I. GraphQL барои дастрасии RDF

Онҳо мегӯяндки GraphQL ҳадафи он шудан ба забони универсалии дастрасии пойгоҳи додаҳо мебошад. Дар бораи қобилияти дастрасӣ ба RDF бо истифода аз GraphQL чӣ гуфтан мумкин аст?

Аз қуттии ин имконият аз ҷониби:

Агар репозиторий чунин имкониятро таъмин накунад, онро метавон мустақилона бо навиштани "ҳалкунанда"-и мувофиқ амалӣ кард. Ин аст он чизе ки онҳо, масалан, дар лоиҳаи Фаронса DataTourisme. Ё шумо дигар чизе навишта наметавонед, балки танҳо гиред HyperGraphQL.

Аз нуқтаи назари як пайрави православии веб-семантикӣ ва маълумотҳои пайвастшуда, ҳамаи ин, албатта, ғамгин аст, зеро он ба назар мерасад, ки барои ҳамгироӣ дар атрофи силоси додаҳои оянда сохта шудааст ва платформаҳои мувофиқ нестанд (мағозаҳои RDF, албатта) .

Таассурот аз муқоисаи GraphQL бо SPARQL дучандон аст.

  • Аз як тараф, GraphQL ба хеши дури SPARQL монанд аст: он мушкилоти такрорӣ ва сершумори дархостҳоро, ки барои REST хосанд, ҳал мекунад - бидуни он, эҳтимолан, баррасӣ кардан ғайриимкон аст. забони пурсиш, ҳадди аққал барои веб;
  • Аз тарафи дигар, схемаи қатъии GraphQL ноумедкунанда аст. Мутаносибан, "интроспективӣ" -и он дар муқоиса бо рефлексивии пурраи RDF хеле маҳдуд ба назар мерасад. Ва аналоги роҳҳои амвол вуҷуд надорад, аз ин рӯ ҳатто маълум нест, ки чаро он "График-" аст.

II. Адаптерҳо барои MongoDB

Тамоюли иловагии пештара.

  • Ҳоло дар Stardog мумкин аст - аз ҷумла, ҳама дар як GraphQL - танзим кардани харитасозии додаҳои MongoDB ба графикҳои виртуалии RDF;
  • Ontotext GraphDB ба наздикӣ дорад Ин имкон медиҳад, пораҳоро ба SPARQL дар MongoDB Query гузоред.

Агар мо дар бораи адаптерҳо ба манбаъҳои JSON васеътар сухан ронем, ки имкон медиҳанд, ки JSON-и дар ин манбаъҳо ҳамчун RDF нигоҳ дошташуда бештар ё камтар "дар парвоз" намояндагӣ кунанд, мо метавонем хеле деринаро ба ёд орем. SPARQL тавлид, ки метавонад танзим карда шавад, барои мисол, ба Апачи Йена.

Ду тамоюли аввалро ҷамъбаст намуда, мо метавонем бигӯем, ки анборҳои RDF омодагии комилро барои ҳамгироӣ ва кор дар шароити “суботи полиглотӣ” нишон медиҳанд. Аммо маълум аст, ки ин охирин кайҳо аз мӯд баромадааст ва онро иваз мекунад омада истодааст бисёр модел. Дар бораи бисёр моделсозӣ дар ҷаҳони нигаҳдории RDF чӣ гуфтан мумкин аст?

Хулоса, ҳеҷ роҳе. Ман мехостам як мақолаи алоҳидаро ба мавзӯи DBMS-ҳои бисёрмодели бахшида кунам, аммо ҳоло метавон қайд кард, ки дар айни замон ягон DBMS-и бисёрмодели ба модели графикӣ асосёфта вуҷуд надорад (RDF метавонад як намуди он ҳисобида шавад) . Баъзе моделсозии хурди бисёрсоҳавӣ - дастгирии нигаҳдории RDF барои модели алтернативии графикии LPG - дар муҳокима карда мешаванд фасли V.

III. OLTP против. ОЛАП

Бо вуҷуди ин, ҳамон Gartner Ӯ менависадки мултимодел пеш аз хама барои он шарти га-рир аст ҳуҷраҳои амалиётӣ DBMS. Ин фаҳмо аст: дар вазъияти "нигоҳдории бисёрҷабҳа" мушкилоти асосӣ бо транзаксия ба миён меоянд.

Аммо анборҳои RDF дар миқёси OLTP-OLAP дар куҷо ҷойгиранд? Ман чунин ҷавоб медиҳам: на онҷо ва на дар ин ҷо. Барои нишон додани он, ки онҳо барои чӣ пешбинӣ шудаанд, баъзе ихтисороти сеюм лозим аст. Ҳамчун вариант ман пешниҳод мекунам ОЛИП — Коркарди интеллектуалии онлайн.

Бо вуҷуди ин, то ҳол:

  • механизмҳои ҳамгироӣ бо MongoDB, ки дар GraphDB амалӣ карда шудаанд, на камтар аз он аст пешбинӣ шудааст барои коркарди масъалаҳои навиштани иҷроиш;
  • Stardog боз ҳам бештар ва пурра меравад аз нав менависад муҳаррик, боз бо мақсади беҳтар кардани иҷрои сабт.

Акнун иҷозат диҳед, ки як бозигари навро ба бозор муаррифӣ кунам. Аз созандагони IBM Netezza ва Amazon Redshift - AnzoGraph™. Дар ибтидои мақола расме аз таблиғи маҳсулоте, ки дар асоси он навишта шудааст, гузошта шуда буд. AnzoGraph худро ҳамчун як ҳалли GOLAP ҷойгир мекунад. Ба шумо SPARQL бо функсияҳои тиреза чӣ гуна маъқул аст? —

SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE {  …  }

IV. RocksDB

Аллакай баландтар пайванде вуҷуд дошт ба эълони Stardog 7 Beta, ки гуфта мешавад, ки Stardog мехоҳад RocksDB-ро ҳамчун системаи нигаҳдории асосӣ - як мағозаи арзиши калидӣ, як фардкунандаи Facebook-и Google LevelDB истифода кунад. Чаро дар бораи як тамоюли муайян сухан гуфтан лозим аст?

Аввалан, аз рӯи ҳукм Мақолаи Википедиа, на танҳо анборҳои RDF ба RocksDB "кӯчонида мешаванд". Лоиҳаҳо барои истифодаи RocksDB ҳамчун муҳаррики нигоҳдорӣ дар ArangoDB, MongoDB, MySQL ва MariaDB, Cassandra мавҷуданд.

Дуюм, дар RocksDB лоиҳаҳо (яъне на маҳсулот) дар мавзӯъҳои дахлдор эҷод карда мешаванд.

Масалан, eBay RocksDB-ро дар як платформа барои "графики дониш" -и шумо. Воқеан, хондани он хандаовар аст: забони пурсиш ҳамчун формати дар хона парваришшаванда оғоз ёфт, аммо ба наздикӣ он ба SPARQL бештар шабоҳат дорад.. Тавре ки дар шӯхӣ: новобаста аз он ки мо чӣ қадар графи дониш созем, мо то ҳол бо RDF хотима меёбем.

Мисоли дигар - яке, ки чанд моҳ пеш пайдо шуд Хидмати пурсиши таърихи Викидата. Пеш аз муаррифии он, маълумоти таърихии Викидата бояд тавассути он дастрас карда мешуд MWAPI ба API стандартии Mediawiki. Ҳоло бо SPARQL-и пок бисёр чиз имконпазир аст. "Дар зери кулоҳ" инчунин RocksDB мавҷуд аст. Воқеан, WDHQS аз ҷониби шахсе сохта шудааст, ки Freebase-ро ба Google Knowledge Graph ворид кардааст.

V. Дастгирии LPG

Иҷозат диҳед ба шумо фарқияти асосии байни графикҳои LPG ва графикҳои RDF-ро хотиррасон кунам.

Дар LPG, хосиятҳои скаляриро ба мисолҳои канорӣ таъин кардан мумкин аст, дар ҳоле ки дар RDF онҳоро танҳо ба “намудҳои” канор таъин кардан мумкин аст (вале на танҳо хосиятҳои скалярӣ, балки пайвастҳои оддӣ низ). Ин маҳдудияти RDF дар муқоиса бо LPG галаба кардан ин ё он техникаи моделсозй. Маҳдудиятҳои LPG дар муқоиса бо RDF душвортар аст, аммо графикҳои LPG нисбат ба графикҳои RDF бештар ба расмҳои китоби дарсии Ҳарарӣ монанданд, аз ин рӯ мардум онҳоро мехоҳанд.

Аён аст, ки вазифаи "дастгирии LPG" ба ду қисм тақсим мешавад:

  1. ворид намудани тағйирот ба модели RDF, ки имкон медиҳад сохторҳои LPG дар он тақлид карда шаванд;
  2. ворид кардани тағирот ба забони дархости RDF, ки дастрасии маълумотро дар ин модели тағирёфта имкон медиҳад ё амалӣ кардани қобилияти дархост ба ин модел бо забонҳои маъмули дархости LPG.

V.1. Модели маълумот

Дар ин ҷо якчанд усулҳои имконпазир мавҷуданд.

V.1.1. Property Singleton

Муносибати дақиқтарин барои ҳамоҳангсозии RDF ва LPG эҳтимол аст моликияти singleton:

  • Ба ҷои, масалан, предикат :isMarriedTo предикатхо истифода мешаванд :isMarriedTo1, :isMarriedTo2 ва ғайра.
  • Сипас ин предикатҳо субъектҳои сегонаҳои нав мешаванд: :isMarriedTo1 :since "2013-09-13"^^xsd:date ва дигарон.
  • Пайвастагии ин мисолҳои предикат бо предикати умумӣ тавассути сегонаҳои шакл муқаррар карда мешавад :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • Ин хеле равшан аст rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, аммо фикр кунед, ки чаро шумо набояд танҳо нависед :isMarriedTo1 rdf:type :isMarriedTo.

Масъалаи "дастгирии LPG" дар ин ҷо дар сатҳи RDFS ҳал карда мешавад. Чунин қарор бояд ба қарори дахлдор дохил карда шавад стандартӣ. Барои мағозаҳои RDF, ки оқибатҳои замимаҳоро дастгирӣ мекунанд, баъзе тағиротҳо талаб карда мешаванд, аммо ҳоло, Singleton Property -ро метавон ҳамчун як усули дигари моделсозӣ баррасӣ кард.

V.1.2. Рефикатсия дуруст анҷом дода шуд

Равишҳои камтар содда аз дарки он, ки мисолҳои моликият аз ҷониби сегонаҳо комилан фаврӣ мебошанд. Бо қобилияти гуфтан дар бораи сегоникҳо, мо метавонем дар бораи мисолҳои моликият сӯҳбат кунем.

Дар байни ин равишҳо устувортарин аст RDF*, aka RDR, таваллуд шудааст дар қаъри Blazegraph. Ин аз аввал аст интихоб шудааст барои худ ва AnzoGraph. Устувории муносибатро аз он муайян мекунад, ки дар доираи он пешниҳод намуд тағйироти мувофиқ дар Семантикаи RDF. Аммо, нукта хеле содда аст. Дар силсилаи сангпуштони RDF шумо ҳоло метавонед чунин чизе нависед:

<<:bob :isMarriedTo :alice>> :since "2013-09-13"^^xsd:date .

V.1.3. Дигар равишҳо

Шумо наметавонед бо семантикаи расмӣ ташвиш кашед, аммо танҳо тахмин кунед, ки сегонаҳо идентификаторҳои муайян доранд, ки албатта URI мебошанд ва бо ин URIҳо сегонаҳои нав эҷод мекунанд. Ҳама чизе боқӣ мемонад, ки дастрасӣ ба ин URI-ҳо дар SPARQL аст. Пас мерасад Саги ситора.

Дар Аллегрограф рафт ба таври мобайнй. Маълум аст, ки идентификаторҳои сегона дар Аллегрограф аст, аммо ҳангоми татбиқи атрибутҳои сегона онҳо намемонанд. Бо вуҷуди ин, он ҳанӯз аз семантикаи расмӣ хеле дур аст. Қобили зикр аст, ки атрибутҳои сегона URI нестанд ва арзишҳои ин атрибутҳо низ метавонанд танҳо литерал бошанд. Пайравони LPG маҳз он чизеро, ки мехостанд, мегиранд. Дар формати махсуси ихтироъшудаи NQX, намунаи шабеҳи дар боло овардашуда барои RDF* чунин менамояд:

:bob :marriedTo :alice {"since" : "2013-09-13"}

V.2. Забонҳои дархост

LPG-ро дар ин ё он роҳ дар сатҳи модел дастгирӣ карда, шумо бояд имкон диҳед, ки дар бораи маълумот дар чунин модел дархост кунед.

  • Blazegraph барои дархостҳои RDF* дастгирӣ мекунад SPARQL* и Gremlin. Дархости SPARQL* чунин менамояд:

 SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }

  • Анзограф низ дастгирӣ мекунад SPARQL* ва дастгирй мекунад Cypher, забони дархост дар Neo4j.
  • Stardog худашро дастгирӣ мекунад густариш SPARQL ва боз Гремлин. Шумо метавонед URI сегона ва "мета-маълумот" -ро дар SPARQL бо истифода аз инҳо ба даст оред:

SELECT * {
    BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)
    ?id :since ?since
}

  • Аллегрограф низ онро дастгирӣ мекунад густариш SPARQL:

 SELECT * { ("since" ?since)  franz:attributesNameValue  ( :bob :marriedTo ?wife ) }

Дар омади гап, GraphDB дар як вақт Tinkerpop/Gremlin-ро бидуни дастгирии LPG дастгирӣ мекард, аммо ин дар версияи 8.0 ё 8.1 қатъ шуд.

VI. Қатъ кардани иҷозатномаҳо

Ба наздикӣ ба чорроҳаи маҷмӯаҳои "сегонаи интихоб" ва "сегона мағозаи кушодаасос" илова карда нашудааст. Дӯконҳои нави кушодаи RDF аз интихоби хуб барои истифодаи ҳамарӯза дуранд ва мағозаҳои нави сегона, ки ман мехоҳам истифода барам (ба монанди AnzoGraph) манбаи пӯшида мебошанд. Баръакс, мо метавонем дар бораи коҳиш сӯҳбат кунем ...

Албатта, манбаи кушода дар гузашта баста нашуда буд, аммо баъзе анборҳои кушодаасос оҳиста-оҳиста дигар қобили интихоб нестанд. Virtuoso, ки нашрияи кушодаасос дорад, ба андешаи ман, дар хатогиҳо ғарқ мешавад. Blazegraph аз ҷониби AWS харида шуда, асоси Amazon Neptune буд; ҳоло маълум нест, ки ҳадди аққал як нашри дигар вуҷуд хоҳад дошт. Танҳо Йена боқӣ мемонад...

Агар манбаи кушода он қадар муҳим набошад, аммо шумо танҳо мехоҳед онро санҷед, пас ҳама чиз нисбат ба пештара камтар гулобӣ аст. Барои намуна:

  • Саги ситора қатъ мешавад паҳн кардани версияи ройгон (аммо, мӯҳлати озмоиши версияи муқаррарӣ дучанд шудааст);
  • в Абри GraphDB, ки қаблан шумо метавонед нақшаи асосии ройгонро интихоб кунед, бақайдгирии нави корбарон боздошта шуд.

Умуман, барои як шахси миёнаи IT, фазо торафт бештар дастнорас мегардад ва рушди он ба як қатор корпоратсияҳо табдил меёбад.

Манбаъ: will.com

Илова Эзоҳ