A szemantikus web és a linkelt adatok olyanok, mint a világűr: ott nincs élet. Elmenni oda többé-kevésbé hosszú időre... Nem tudom, mit mondtak neked gyerekkorodban, hogy „űrhajós akarok lenni”. De megfigyelheted, mi történik a Földön; Sokkal könnyebb amatőr csillagásznak vagy akár profinak lenni.
A cikk az RDF-tárolás világának legújabb, néhány hónapnál nem régebbi trendjeire összpontosít. Az első bekezdés metaforáját a vágás alatti epikus méretű reklámkép ihlette.
Epikus kép
I. GraphQL az RDF hozzáféréshez
Azt mondjákhogy a GraphQL univerzális adatbázis-elérési nyelvvé kíván válni. Mi a helyzet az RDF-hez való hozzáférés lehetőségével a GraphQL használatával?
A dobozból ezt a lehetőséget a következők biztosítják:
Ha a repository nem biztosít ilyen lehetőséget, akkor az önállóan is megvalósítható megfelelő „feloldó” írásával. Ezt tették például a francia projektben DataTourisme. Vagy már nem tudsz írni semmit, hanem csak venni HyperGraphQL.
A szemantikus web és a linkelt adatok ortodox híve szemszögéből mindez persze szomorú, hiszen úgy tűnik, a következő adatsiló köré épülő integrációkra tervezték, és nem megfelelő platformokra (természetesen RDF-áruházak) .
A GraphQL és a SPARQL összehasonlítása kettős benyomást kelt.
Egyrészt a GraphQL a SPARQL távoli rokonaként néz ki: megoldja a REST-re jellemző újramintavételezési és lekérdezések többszörösségének problémáit - ami nélkül valószínűleg nem is lehetne megfontolni. lekérdezési nyelv, legalábbis a weben;
Másrészt a GraphQL merev sémája kiábrándító. Ennek megfelelően az „introspektivitása” nagyon korlátozottnak tűnik az RDF teljes reflexivitásához képest. A tulajdonságútvonalaknak pedig nincs analógja, így nem is nagyon világos, hogy miért „Graph-”.
II. Adapterek a MongoDB-hez
Az előzőt kiegészítő trend.
Most a Stardogban lehetséges - különösen mind ugyanazon a GraphQL-n - konfigurálja a MongoDB adatok virtuális RDF gráfokba való leképezését;
Az Ontotext GraphDB nemrég lehetővé teszi beillesztheti a töredékeket a SPARQL-be a MongoDB Queryben.
Ha tágabban beszélünk a JSON-forrásokhoz való adapterekről, amelyek többé-kevésbé „menet közben” teszik lehetővé az ezekben a forrásokban tárolt JSON RDF-ként való megjelenítését, akkor felidézhetjük a meglehetősen régóta fennálló SPARQL generálás, amely állítható, például, Apache Jena-nak.
Az első két trendet összefoglalva elmondható, hogy az RDF tárolók teljes integrációs készséget mutatnak és a „poliglot-perzisztencia” körülményei között működnek. Köztudott azonban, hogy ez utóbbi már régóta kiment a divatból, és felváltja eljövetel több modell. Mi a helyzet a multimodellezéssel az RDF-tárolás világában?
Röviden, dehogy. Külön cikket szeretnék szentelni a többmodelles DBMS-ek témájának, de egyelőre megjegyezhető, hogy jelenleg nem léteznek gráfmodellre (az RDF ennek egy típusának tekinthető) „alapú” többmodelles DBMS-ek. . Néhány kisebb multimodellezésről – egy alternatív LPG-gráfmodell RDF tárolási támogatásáról – lesz szó V. szakasz.
III. OLTP vs. OLAP
Azonban ugyanaz a Gartner írásokhogy a multimodell sine qua non feltétel elsősorban annak műtők DBMS. Ez érthető: a „többváltozós tárolás” helyzetében a fő problémák a tranzakciós teljesítménnyel adódnak.
De hol vannak az RDF tárolók az OLTP-OLAP skálán? Én így válaszolnék: se ott, se itt. Ahhoz, hogy jelezzük, mire szánják, szükség van egy harmadik rövidítésre. Opcióként javaslom OLIP — Online szellemi feldolgozás.
Azonban továbbra is:
a GraphDB-ben implementált MongoDB-vel való integrációs mechanizmusok nem utolsó sorban szándékolt az írási teljesítménnyel kapcsolatos problémák megkerülése;
A Stardog még tovább megy és teljesen átírja motor, ismét azzal a céllal, hogy javítsa a felvételi teljesítményt.
Hadd mutassak be egy új szereplőt a piacra. Az IBM Netezza és az Amazon Redshift alkotóitól - AnzoGraph™. A cikk elejére felkerült egy kép az alapján készült termék hirdetéséből. Az AnzoGraph GOLAP megoldásként pozicionálja magát. Hogy tetszik az ablakfunkciós SPARQL? —
SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { … }
IV. RocksDB
Már magasabban volt link a Stardog 7 Beta bejelentésére, amely szerint a Stardog a RocksDB-t fogja használni mögöttes tárolórendszerként – kulcs-értéktárolóként, a Google LevelDB-jének Facebook-elágazásaként. Miért érdemes egy bizonyos trendről beszélni?
Először is, abból ítélve Wikipédia cikk, nem csak az RDF tárolókat „ültetik át” a RocksDB-be. Vannak olyan projektek, amelyek a RocksDB-t tárolómotorként használják az ArangoDB-ben, a MongoDB-ben, a MySQL-ben és a MariaDB-ben, Cassandra-ban.
Másodszor, a RocksDB-n projektek (vagyis nem termékek) jönnek létre a releváns témákban.
Például az eBay a RocksDB-t használja emelvény a „tudásgráfodhoz”. Egyébként vicces olvasni: a lekérdező nyelv otthoni formátumként indult, de az utóbbi időben sokkal inkább a SPARQL-hez hasonlított. Mint a viccben: akármekkora tudásgráfot készítünk, mégis az RDF-hez jutunk.
Egy másik példa - amely néhány hónappal ezelőtt jelent meg Wikidata History Query Service. Bevezetése előtt a Wikidata történeti információihoz kellett hozzáférni MWAPI a szabványos Mediawiki API-hoz. Most sok minden lehetséges a tiszta SPARQL-lel. „A motorháztető alatt” ott van a RocksDB is. A WDHQS-t egyébként úgy tűnik, az a személy készítette, aki a Freebase-t importálta a Google Tudásgráfba.
V. LPG támogatás
Hadd emlékeztesselek az LPG-grafikonok és az RDF-grafikonok közötti fő különbségre.
Az LPG-ben a skaláris tulajdonságok az élpéldányokhoz rendelhetők, míg az RDF-ben csak az éltípusokhoz (de nem csak a skaláris tulajdonságokhoz, hanem a hétköznapi kapcsolatokhoz is). Az RDF ezen korlátozása az LPG-hez képest legyőzni egyik vagy másik modellezési technika. Az LPG korlátait az RDF-hez képest nehezebb leküzdeni, de az LPG grafikonok inkább hasonlítanak egy Harari tankönyv képeihez, mint az RDF grafikonokhoz, ezért az emberek ezt szeretnék.
Nyilvánvalóan az „LPG-támogatás” feladata két részre oszlik:
olyan változtatások elvégzése az RDF modellen, amelyek lehetővé teszik az LPG szerkezetek szimulálását benne;
olyan változtatások végrehajtása az RDF lekérdezési nyelven, amelyek lehetővé teszik az adatok elérését ebben a módosított modellben, vagy a modell lekérdezésének lehetőségét a népszerű LPG lekérdezési nyelveken.
V.1. Adatmodell
Itt több megközelítés is lehetséges.
V.1.1. Singleton ingatlan
Az RDF és LPG harmonizálásának legszó szerintibb megközelítése valószínűleg az singleton ingatlan:
Például az állítmány helyett :isMarriedTo predikátumokat használnak :isMarriedTo1, :isMarriedTo2 stb
Ezek a predikátumok ezután új hármasok alanyaivá válnak: :isMarriedTo1 :since "2013-09-13"^^xsd:date stb
Ezen predikátum-példányok kapcsolatát egy közös predikátummal az alak hármasai határozzák meg :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
Nyilvánvaló, hogy rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type, de gondold át, miért ne írhatnál egyszerűen :isMarriedTo1 rdf:type :isMarriedTo.
Az „LPG támogatás” problémája itt RDFS szinten megoldott. Egy ilyen döntés megköveteli a megfelelő стандарт. Bizonyos változtatásokra lehet szükség a következmények csatolását támogató RDF-tárolóknál, de egyelőre a Singleton Property egy újabb modellezési technikának tekinthető.
V.1.2. A reifikáció helyesen megtörtént
A kevésbé naiv megközelítések abból a felismerésből fakadnak, hogy a tulajdonságpéldányok teljesen példányosíthatók hármasokkal. Azáltal, hogy tudunk valamit mondani a hármasikrekről, képesek leszünk beszélni az ingatlanok eseteiről.
E megközelítések közül a legerősebb az RDF*, más néven RDR, született a Blazegraph mélyén. A kezdetektől fogva megválasztott magadnak és az AnzoGraphnak. A szemlélet szilárdságát meghatározza, hogy keretei között felajánlott megfelelő változásokat RDF szemantika. A lényeg azonban rendkívül egyszerű. Az RDF Turtle szerializálásában most valami ilyesmit írhat:
Nem foglalkozhat formális szemantikával, hanem egyszerűen feltételezheti, hogy a hármasok bizonyos azonosítókkal rendelkeznek, amelyek természetesen URI-k, és ezekkel az URI-kkel új hármasokat hoznak létre. Már csak hozzáférést kell biztosítani ezekhez az URI-khoz a SPARQL-ben. Így érkezik Stardog.
In Allegrograph ment köztes módon. Ismeretes, hogy az Allegrograph hármasazonosítói van, de a hármas attribútumok implementálásakor nem tűnnek ki. A formális szemantikától azonban még mindig nagyon távol áll. Figyelemre méltó, hogy a triplet attribútumok nem URI-k, és ezen attribútumok értékei is csak literálok lehetnek. Az LPG-t követők pontosan azt kapják, amit akartak. A speciálisan kitalált NQX formátumban a fentihez hasonló példa az RDF* esetében így néz ki:
:bob :marriedTo :alice {"since" : "2013-09-13"}
V.2. Lekérdezési nyelvek
Miután a modell szintjén ilyen vagy olyan módon támogatta az LPG-t, lehetővé kell tennie az adatok lekérdezését egy ilyen modellben.
A Blazegraph az RDF* lekérdezésekhez támogatja SPARQL* и Gonosz szellem. Egy SPARQL* lekérdezés így néz ki:
Az Anzograph is támogatja SPARQL* és támogatni fogja Titkosírás, egy lekérdezési nyelv a Neo4j-ben.
A Stardog támogatja a sajátját kiterjesztés SPARQL és újra Gonosz szellem. A triplet URI-t és a „metainformációkat” a SPARQL-ben a következőképpen kaphatja meg:
Egyébként a GraphDB egy időben támogatta a Tinkerpop/Gremlin-t az LPG támogatása nélkül, de ez a 8.0 vagy 8.1 verzióban megszűnt.
VI. Az engedélyek szigorítása
A közelmúltban nem került sor a „választható triplestore” és a „nyílt forráskódú triplestore” készletek metszéspontjára. Az új nyílt forráskódú RDF tárolók nagyon messze vannak attól, hogy jó választások legyenek a mindennapi használatra, az új hármas tárolók pedig, amelyeket szeretnék használni (például az AnzoGraph), zárt forráskódúak. Inkább csökkenésről beszélhetünk...
Természetesen a nyílt forráskódot korábban nem zárták le, de néhány nyílt forráskódú adattárat lassan már nem érdemes választani. A Virtuoso, amelynek nyílt forráskódú kiadása van, véleményem szerint fuldoklik a hibákban. A Blazegraphot az AWS vásárolta meg, és az Amazon Neptune alapját képezte; most nem világos, hogy lesz-e még legalább egy kiadás. Csak Jéna maradt...
Ha a nyílt forráskód nem túl fontos, de csak szeretnéd kipróbálni, akkor minden kevésbé rózsás, mint korábban. Például:
Stardog megszűnik az ingyenes verzió terjesztése (a normál verzió próbaidőszaka azonban megduplázódott);
в GraphDB felhő, ahol korábban ingyenes alapcsomagot lehetett választani, az új felhasználók regisztrációját felfüggesztettük.
Általánosságban elmondható, hogy az átlagos informatikus számára a tér egyre megközelíthetetlenebbé válik, fejlesztése a vállalatok dolga.