Бүгүнкү күндө RDF сактагычында эмне болуп жатат?

Семантикалык желе жана Байланышкан маалыматтар космос мейкиндигине окшош: ал жерде жашоо жок. Ал жакка аздыр-көптүр узак убакытка баруу үчүн... «Мен космонавт болгум келет» деп бала кезде эмне дешти билбейм. Бирок сиз Жерде эмне болуп жатканын байкай аласыз; Сүйүүчү астроном же профессионал болуу алда канча оңой.

Макалада акыркы, бир нече айдан ашпаган, RDF сактоо дүйнөсүндөгү тенденцияларга көңүл бурулат. Биринчи абзацтагы метафора кесилген жердин астындагы эпикалык көлөмдөгү жарнамалык сүрөттөлүштөн шыктанган.


Эпикалык сүрөт

Бүгүнкү күндө RDF сактагычында эмне болуп жатат?

I. RDF кирүү үчүн GraphQL

Алар айтышатGraphQL универсалдуу маалымат базасына кирүү тили болууну көздөйт. GraphQL аркылуу RDFке кирүү мүмкүнчүлүгү жөнүндө эмне айтууга болот?

Бул мүмкүнчүлүк кутудан тышкары тарабынан берилет:

Эгерде репозиторий мындай мүмкүнчүлүк бербесе, анда ал тиешелүү "чечүүчү" жазуу менен өз алдынча ишке ашырылышы мүмкүн. Алар, мисалы, француз долбоорунда ушундай кылышкан DataTourisme. Же мындан ары эч нерсе жаза албайсың, бирок жөн эле аласың HyperGraphQL.

Семантикалык Интернеттин жана Шилтемеленген маалыматтардын ортодоксалдык жактоочусунун көз карашы боюнча, мунун баары, албетте, кайгылуу, анткени ал кийинки маалымат силосунун айланасында курулган интеграциялар үчүн иштелип чыккан жана ылайыктуу эмес платформалар (албетте, RDF дүкөндөрү) .

GraphQL менен SPARQLди салыштыруудан алынган таасирлер эки эселенген.

  • Бир жагынан алганда, GraphQL SPARQLдин алыскы тууганы сыяктуу көрүнөт: ал REST үчүн мүнөздүү болгон сурамдардын көптүгү жана үлгүлөрүн өзгөртүү маселелерин чечет - ансыз, балким, карап чыгуу мүмкүн эмес. суроо тили, жок дегенде веб үчүн;
  • Башка жагынан алганда, GraphQLдин катаал схемасы көңүлдү калтырат. Демек, анын "интроспективдүүлүгү" РДФтин толук рефлексивдүүлүгүнө салыштырмалуу өтө чектелген көрүнөт. Ал эми менчик жолдорунун эч кандай аналогу жок, ошондуктан ал эмне үчүн "График-" экени так эмес.

II. MongoDB үчүн адаптер

Мурунку тенденцияны толуктап турат.

  • Азыр Stardogдо мүмкүн - атап айтканда, бардыгы бирдей GraphQLде - MongoDB маалыматтарын виртуалдык RDF графиктерине түшүрүүнү конфигурациялоо;
  • Ontotext GraphDB жакында эле бар Бул берет MongoDB Query боюнча SPARQLге фрагменттерди салыңыз.

Эгерде биз JSON булактарына адаптерлер жөнүндө кененирээк айтсак, бул булактарда сакталган JSONди RDF катары көрсөтүүгө аздыр-көптүр мүмкүнчүлүк берет SPARQL түзүүжөнгө салынышы мүмкүн, Мисалы,, Апачи Йенага.

Алгачкы эки тенденцияны жыйынтыктап, РДФ кампалары интеграцияга жана “полиглоттук туруктуулуктун” шарттарында иштөөгө толук даярдыгын көрсөтөт деп айта алабыз. Бирок, бул акыркы модадан көптөн бери чыгып, анын ордуна келе жатканы белгилүү келе жатат көп моделдүү. RDF сактагыч дүйнөсүндө көп моделдөө жөнүндө эмне айтууга болот?

Кыскасы, жол жок. Мен өзүнчө макаланы көп моделдүү МББ темасына арнагым келет, бирок азыркы учурда графикалык моделдин негизинде “негизделген” көп моделдүү СББдер жок экендигин белгилей кетүү керек (RDF анын бир түрү катары каралышы мүмкүн) . Кээ бир кичинекей көп моделдөө - альтернативалуу LPG графикалык модели үчүн RDF сактоо колдоосу - бул бөлүмдө талкууланат V бөлүм.

III. OLTP vs. OLAP

Бирок, ошол эле Гартнер ал мындай деп жазат:бул мультимодель биринчи кезекте зарыл шарт болуп саналат операциялык бөлмөлөр DBMS. Бул түшүнүктүү: "көп варианттуу сактоо" кырдаалында негизги көйгөйлөр транзакцияга байланыштуу келип чыгат.

Бирок RDF сактагычтары OLTP-OLAP шкаласы боюнча кайда жайгашкан? Мен мындай деп жооп берет элем: ал жакта да, бул жерде да. Алар эмне үчүн арналганын көрсөтүү үчүн, кээ бир үчүнчү аббревиатура керек. Вариант катары мен сунуштайт элем OLIP — Онлайн интеллектуалдык кайра иштетүү.

Бирок, дагы эле:

  • GraphDBде ишке ашырылган MongoDB менен интеграция механизмдери аз эмес иштелип чыккан жазуу аткаруу маселелерин чечүү;
  • Stardog андан да ары жана толугу менен барат кайра жазат кыймылдаткыч, кайра жаздыруу ишин жакшыртуу максатында.

Эми мен базарга жаңы оюнчуну тааныштырайын. IBM Netezza жана Amazon Redshift жаратуучуларынан - AnzoGraph™. Анын негизинде жасалган товардын жарнагынан алынган сүрөт макаланын башында жайгаштырылган. AnzoGraph өзүн GOLAP чечими катары көрсөтөт. Сизге терезе функциялары менен SPARQL кандай жагат? —

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

IV. RocksDB

Ансыз да жогору шилтеме бар болчу Stardog 7 бетасынын жарыясына, анда Stardog RocksDBди негизги сактоо тутуму - негизги баалуулуктар дүкөнү, Google'дун LevelDBтин Facebook айрысы катары колдоно турганын айткан. Эмне үчүн белгилүү бир тенденция жөнүндө сөз кылуу керек?

Биринчиден, сот Wikipedia макаласы, бир гана RDF сактагычтар RocksDB үчүн "көчүрүү" эмес. ArangoDB, MongoDB, MySQL жана MariaDB, Кассандрада RocksDB-ди сактоо кыймылдаткычы катары колдонуу долбоорлору бар.

Экинчиден, тиешелүү темалар боюнча долбоорлор (башкача айтканда, продуктылар эмес) RocksDBде түзүлөт.

Мисалы, eBay RocksDB колдонот платформа Сиздин "билим графиги" үчүн. Айтмакчы, окуу күлкүлүү: суроо тили үйдө өстүрүлгөн формат катары башталган, бирок жакында ал SPARQLге көбүрөөк окшош болуп өттү. Тамашадагыдай: биз канчалык билим графигин жасабайлы, биз дагы эле RDF менен аяктайбыз.

Дагы бир мисал - бир нече ай мурун пайда болгон Wikidata History Query Service. Аны киргизүүдөн мурун, Викидата тарыхый маалыматтары аркылуу кирүү керек болчу MWAPI стандарттуу Mediawiki API'ге. Азыр таза SPARQL менен көп нерсе мүмкүн. "Капоттун астында" RocksDB да бар. Айтмакчы, WDHQS Freebase'ди Google Knowledge Graphге импорттогон адам тарабынан жасалган окшойт.

V. LPG колдоо

LPG графиктери менен RDF графиктеринин ортосундагы негизги айырманы эске сала кетейин.

LPGде скалярдык касиеттер четки инстанцияларга ыйгарылышы мүмкүн, ал эми RDFде алар четтик "типтерге" гана дайындалышы мүмкүн (бирок скалярдык касиеттер гана эмес, кадимки байланыштар да). LPG менен салыштырганда RDF бул чектөө жеңүү тигил же бул моделдөө техникасы. RDF менен салыштырганда LPG чектөөлөрүн жеңүү кыйыныраак, бирок LPG графиктери RDF графиктерине караганда Харари окуу китебиндеги сүрөттөргө окшош, ошондуктан адамдар аларды каалайт.

Албетте, "LPG колдоо" милдети эки бөлүктөн турат:

  1. РДФ моделине андагы LPG структураларын имитациялоого мүмкүндүк берүүчү өзгөртүүлөрдү киргизүү;
  2. бул өзгөртүлгөн моделдеги маалыматтарга жетүүгө мүмкүндүк берген RDF суроо тилине өзгөртүүлөрдү киргизүү же популярдуу LPG суроо тилдеринде бул моделге суроо берүү мүмкүнчүлүгүн ишке ашыруу.

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

Бул жерде бир нече мүмкүн болгон ыкмалар бар.

V.1.1. Singleton Property

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*, ака RDR, туулган Blazegraph тереңдигинде. Бул эң башынан эле шайланган өзүңүз жана AnzoGraph үчүн. мамиленин бекемдиги анын чегинде экендиги менен аныкталат сунуш кылган тиешелүү өзгөртүүлөр RDF семантикасы. пункт, бирок, абдан жөнөкөй. RDFтин Turtle сериализациясында сиз азыр төмөнкүдөй нерсени жаза аласыз:

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

V.1.3. Башка ыкмалар

Сиз формалдуу семантика менен убара болбойсуз, бирок жөн гана үчилтиктин белгилүү идентификаторлору бар деп ойлойсуз, алар, албетте, URI болуп саналат жана бул URI менен жаңы үчилтиктерди түзөт. SPARQLдеги бул URIларга мүмкүнчүлүк берүү гана калды. Ошентип келет Stardog.

Аллегрографта кетти аралык жол менен. Аллегрографта триплет идентификаторлор экени белгилүү болуп саналат, бирок үчтүк атрибуттарды ишке ашырууда алар сыртка чыкпайт. Бирок, ал дагы эле формалдуу семантикадан өтө алыс. Белгилей кетчү нерсе, триплет атрибуттары URI эмес, жана бул атрибуттардын маанилери литералдар гана болушу мүмкүн. LPG жактоочулары каалаган нерсесин алышат. Атайын ойлоп табылган NQX форматында RDF* үчүн жогорудагыга окшош мисал төмөнкүдөй көрүнөт:

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

V.2. Сурам тилдери

Модель деңгээлинде LPGди тигил же бул жол менен колдогондон кийин, сиз мындай моделдеги маалыматтар боюнча суроо-талаптарды жасоого мүмкүнчүлүк беришиңиз керек.

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

  • Anzograph да колдойт SPARQL* жана колдоо көрсөтөт шифрлөө, Neo4jдеги суроо тили.
  • Stardog өзүн колдойт узартуу SPARQL жана кайра Gremlin. Сиз Triple URI жана "мета-маалыматты" SPARQLде төмөнкүдөй нерсени колдонуп ала аласыз:

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

  • Аллегрограф да өзүн колдойт узартуу SPARQL:

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

Баса, GraphDB бир убакта LPG колдобостон Tinkerpop/Gremlinди колдогон, бирок бул 8.0 же 8.1 версиясында токтоп калган.

VI. Лицензияларды катаалдаштыруу

"Тандоо үч дүкөнү" жана "ачык булак үч дүкөн" топтомдорунун кесилишинде акыркы толуктоолор болгон жок. Жаңы ачык булактуу RDF дүкөндөрү күнүмдүк колдонуу үчүн жакшы тандоо болуудан бир топ алыс жана мен колдонгум келген жаңы үч эселенген дүкөндөр (AnzoGraph сыяктуу) жабык булак. Тескерисинче, биз төмөндөө жөнүндө айта алабыз ...

Албетте, ачык булак буга чейин жабылган эмес, бирок кээ бир ачык булак репозиторийлери акырындык менен тандоого арзыбайт. Ачык булактуу чыгарылышы бар Virtuoso, менин оюмча, мүчүлүштүктөргө чөгүп баратат. Blazegraph AWS тарабынан сатылып алынган жана Amazon Нептун негизин түзгөн; азыр жок дегенде дагы бир релиз болобу белгисиз. Жалгыз Йена калды...

Эгерде ачык булак өтө маанилүү эмес болсо, бирок сиз жөн гана аны сынап көргүңүз келсе, анда баары мурункуга караганда анча кызгылт эмес. Мисалы:

  • Stardog аяктайт бекер нускасын жайылтуу (бирок кадимки версиянын сыноо мөөнөтү эки эсеге көбөйдү);
  • в GraphDB Cloud, Мурда сиз акысыз негизги планды тандай алсаңыз, жаңы колдонуучу каттоосу токтотулган.

Жалпысынан алганда, орточо IT адам үчүн космос барган сайын жеткиликсиз болуп баратат, анын өнүгүшү корпорациялардын көп бөлүгүнө айланууда.

Source: www.habr.com

Комментарий кошуу