Веб семантикӣ ва маълумотҳои алоқаманд ба фазои кайҳон монанданд: дар он ҷо ҳаёт вуҷуд надорад. Каму беш муддати дароз ба он чо рафтан... Намедонам, дар айёми кудакй ба ту дар чавоби «Мехохам кайхоннавард шавам» чй гуфтанд. Аммо шумо метавонед ҳангоми дар рӯи замин чӣ рӯй дода истодаро мушоҳида кунед; Астрономҳои ҳаводор ё ҳатто касбӣ шудан хеле осонтар аст.
Мақола ба тамоюлҳои охирин, на бештар аз чанд моҳ, аз ҷаҳони нигаҳдории RDF тамаркуз хоҳад кард. Метафора дар сархати аввал аз тасвири таблиғотии эпикӣ дар зери буриш илҳом гирифта шудааст.
I. GraphQL барои дастрасии RDF
Аз қуттии ин имконият аз ҷониби:
Агар репозиторий чунин имкониятро таъмин накунад, онро метавон мустақилона бо навиштани "ҳалкунанда"-и мувофиқ амалӣ кард. Ин аст он чизе ки онҳо, масалан, дар лоиҳаи Фаронса
Аз нуқтаи назари як пайрави православии веб-семантикӣ ва маълумотҳои пайвастшуда, ҳамаи ин, албатта, ғамгин аст, зеро он ба назар мерасад, ки барои ҳамгироӣ дар атрофи силоси додаҳои оянда сохта шудааст ва платформаҳои мувофиқ нестанд (мағозаҳои RDF, албатта) .
Таассурот аз муқоисаи GraphQL бо SPARQL дучандон аст.
- Аз як тараф, GraphQL ба хеши дури SPARQL монанд аст: он мушкилоти такрорӣ ва сершумори дархостҳоро, ки барои REST хосанд, ҳал мекунад - бидуни он, эҳтимолан, баррасӣ кардан ғайриимкон аст. забони пурсиш, ҳадди аққал барои веб;
- Аз тарафи дигар, схемаи қатъии GraphQL ноумедкунанда аст. Мутаносибан, "интроспективӣ" -и он дар муқоиса бо рефлексивии пурраи RDF хеле маҳдуд ба назар мерасад. Ва аналоги роҳҳои амвол вуҷуд надорад, аз ин рӯ ҳатто маълум нест, ки чаро он "График-" аст.
II. Адаптерҳо барои MongoDB
Тамоюли иловагии пештара.
- Ҳоло дар Stardog
мумкин аст - аз ҷумла, ҳама дар як GraphQL - танзим кардани харитасозии додаҳои MongoDB ба графикҳои виртуалии RDF; - Ontotext GraphDB ба наздикӣ дорад
Ин имкон медиҳад, пораҳоро ба SPARQL дар MongoDB Query гузоред.
Агар мо дар бораи адаптерҳо ба манбаъҳои JSON васеътар сухан ронем, ки имкон медиҳанд, ки JSON-и дар ин манбаъҳо ҳамчун RDF нигоҳ дошташуда бештар ё камтар "дар парвоз" намояндагӣ кунанд, мо метавонем хеле деринаро ба ёд орем.
Ду тамоюли аввалро ҷамъбаст намуда, мо метавонем бигӯем, ки анборҳои RDF омодагии комилро барои ҳамгироӣ ва кор дар шароити “суботи полиглотӣ” нишон медиҳанд. Аммо маълум аст, ки ин охирин кайҳо аз мӯд баромадааст ва онро иваз мекунад
Хулоса, ҳеҷ роҳе. Ман мехостам як мақолаи алоҳидаро ба мавзӯи DBMS-ҳои бисёрмодели бахшида кунам, аммо ҳоло метавон қайд кард, ки дар айни замон ягон DBMS-и бисёрмодели ба модели графикӣ асосёфта вуҷуд надорад (RDF метавонад як намуди он ҳисобида шавад) . Баъзе моделсозии хурди бисёрсоҳавӣ - дастгирии нигаҳдории RDF барои модели алтернативии графикии LPG - дар муҳокима карда мешаванд
III. OLTP против. ОЛАП
Бо вуҷуди ин, ҳамон Gartner
Аммо анборҳои RDF дар миқёси OLTP-OLAP дар куҷо ҷойгиранд? Ман чунин ҷавоб медиҳам: на онҷо ва на дар ин ҷо. Барои нишон додани он, ки онҳо барои чӣ пешбинӣ шудаанд, баъзе ихтисороти сеюм лозим аст. Ҳамчун вариант ман пешниҳод мекунам ОЛИП — Коркарди интеллектуалии онлайн.
Бо вуҷуди ин, то ҳол:
- механизмҳои ҳамгироӣ бо MongoDB, ки дар GraphDB амалӣ карда шудаанд, на камтар аз он аст
пешбинӣ шудааст барои коркарди масъалаҳои навиштани иҷроиш; - Stardog боз ҳам бештар ва пурра меравад
аз нав менависад муҳаррик, боз бо мақсади беҳтар кардани иҷрои сабт.
Акнун иҷозат диҳед, ки як бозигари навро ба бозор муаррифӣ кунам. Аз созандагони IBM Netezza ва Amazon Redshift -
SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { … }
IV. RocksDB
Аллакай баландтар
Аввалан, аз рӯи ҳукм
Дуюм, дар RocksDB лоиҳаҳо (яъне на маҳсулот) дар мавзӯъҳои дахлдор эҷод карда мешаванд.
Масалан, eBay RocksDB-ро дар
Мисоли дигар - яке, ки чанд моҳ пеш пайдо шуд
V. Дастгирии LPG
Иҷозат диҳед ба шумо фарқияти асосии байни графикҳои LPG ва графикҳои RDF-ро хотиррасон кунам.
Дар LPG, хосиятҳои скаляриро ба мисолҳои канорӣ таъин кардан мумкин аст, дар ҳоле ки дар RDF онҳоро танҳо ба “намудҳои” канор таъин кардан мумкин аст (вале на танҳо хосиятҳои скалярӣ, балки пайвастҳои оддӣ низ). Ин маҳдудияти RDF дар муқоиса бо LPG
Аён аст, ки вазифаи "дастгирии LPG" ба ду қисм тақсим мешавад:
- ворид намудани тағйирот ба модели RDF, ки имкон медиҳад сохторҳои LPG дар он тақлид карда шаванд;
- ворид кардани тағирот ба забони дархости RDF, ки дастрасии маълумотро дар ин модели тағирёфта имкон медиҳад ё амалӣ кардани қобилияти дархост ба ин модел бо забонҳои маъмули дархости LPG.
V.1. Модели маълумот
Дар ин ҷо якчанд усулҳои имконпазир мавҷуданд.
V.1.1. Property Singleton
Муносибати дақиқтарин барои ҳамоҳангсозии RDF ва LPG эҳтимол аст
- Ба ҷои, масалан, предикат
: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 ҳал карда мешавад. Чунин қарор бояд ба қарори дахлдор дохил карда шавад
V.1.2. Рефикатсия дуруст анҷом дода шуд
Равишҳои камтар содда аз дарки он, ки мисолҳои моликият аз ҷониби сегонаҳо комилан фаврӣ мебошанд. Бо қобилияти гуфтан дар бораи сегоникҳо, мо метавонем дар бораи мисолҳои моликият сӯҳбат кунем.
Дар байни ин равишҳо устувортарин аст
<<:bob :isMarriedTo :alice>> :since "2013-09-13"^^xsd:date .
V.1.3. Дигар равишҳо
Шумо наметавонед бо семантикаи расмӣ ташвиш кашед, аммо танҳо тахмин кунед, ки сегонаҳо идентификаторҳои муайян доранд, ки албатта URI мебошанд ва бо ин URIҳо сегонаҳои нав эҷод мекунанд. Ҳама чизе боқӣ мемонад, ки дастрасӣ ба ин URI-ҳо дар SPARQL аст. Пас
Дар Аллегрограф
: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