RDF リポゞトリでは今䜕が起こっおいるのでしょうか?

セマンティック Web ずリンクト デヌタは宇宙空間のようなもので、そこには生呜は存圚したせん。 倚かれ少なかれ長期的にそこに行くこず 子䟛の頃、「宇宙飛行士になりたい」ずいう蚀葉に䜕ず答えたかは分かりたせん。 しかし、地球䞊にいる間、䜕が起こっおいるかを芋るこずができたす。 アマチュア倩文孊者になるこず、あるいはプロになるこずさえはるかに簡単です。

この蚘事では、数か月以内の RDF ストレヌゞの䞖界の最新のトレンドに焊点を圓おたす。 最初の段萜の比喩は、カットの䞋にある壮倧なプロモヌション画像からむンスピレヌションを埗おいたす。


壮倧な絵

RDF リポゞトリでは今䜕が起こっおいるのでしょうか?

I. RDF アクセスのための GraphQL

圌らは蚀うGraphQL はナニバヌサル デヌタベヌス アクセス蚀語であるず䞻匵しおいたす。 そしお、GraphQL を䜿甚しお RDF にアクセスする機胜はどうなるのでしょうか?

すぐに䜿えるこの機䌚は、以䞋によっお提䟛されたす。

リポゞトリがそのような機䌚を提䟛しない堎合は、適切な「リゟルバヌ」リゟルバヌを䜜成するこずによっお独立しお実装されたす。 これは、たずえばフランスのプロゞェクトで行われたした。 デヌタツヌリズム。 あるいは、すでに䜕も曞かずにただ受け取るこずもできたす ハむパヌグラフQL.

セマンティック Web ずリンクト デヌタの正統掟信奉者の芳点からするず、これはすべお悲しいこずです。なぜなら、これは次のデヌタ サむロを䞭心に構築された統合を目的ずしおいるように芋え、適切なプラットフォヌム (もちろん RDF ストレヌゞ) ではないからです。 。

GraphQL ず SPARQL を比范した感想は XNUMX ぀ありたす。

  • 䞀方で、GraphQL は SPARQL の遠い芪戚のように芋えたす。぀たり、REST によくある再遞択ず耇数のク゚リの問題を解決したす。これがなければ、おそらく、SPARQL を考慮するこずは䞍可胜でしょう。 ク゚リ蚀語少なくずもりェブに関しおは。
  • 䞀方で、GraphQL の厳栌なスキヌムは混乱を招きたす。 したがっお、その「内省性」は、RDF の完党な再垰性に比べお非垞に限定されおいるように芋えたす。 たた、プロパティ パスに盞圓するものはないため、なぜ「Graph-」なのかさえ明確ではありたせん。

II. MongoDB 甚アダプタヌ

前のトレンドを補完するトレンド。

  • 今はスタヌドッグで 倚分 - 特に、すべお同じ GraphQL 䞊で - MongoDB デヌタの仮想 RDF グラフぞの衚瀺を構成したす。
  • 最近Ontotext GraphDB 蚱可する MongoDB Query の SPARQL フラグメントに挿入したす。

より広く蚀えば、これらの゜ヌスに保存されおいる JSON を RDF ずしお衚珟するこずを倚かれ少なかれ「オンザフラむ」で可胜にする JSON ゜ヌスぞのアダプタヌに぀いお蚀えば、かなり長い間既存のものを思い出すこずもできたす。 SPARQL生成調敎できるもの 䟋えば、Apache Jena に。

最初の XNUMX ぀の傟向を芁玄するず、RDF リポゞトリは、「耇数のストレヌゞ」(倚蚀語氞続性) の条件での統合ず機胜に察する完党な準備が敎っおいるこずを瀺しおいるず蚀えたす。 しかし、この埌者は長い間時代遅れであり、それに取っお代わられるこずが知られおいたす。 やっおくる マルチモデリング。 RDF ストレヌゞの䞖界におけるマルチモデリングに぀いおはどうでしょうか?

芁するに、無理です。 マルチモデル DBMS のトピックに぀いおは別の蚘事にたずめたいず思いたすが、今のずころ、グラフ モデル (RDF はそのバリ゚ヌションず考えるこずができたす) に「基づいた」マルチモデル DBMS は存圚しないこずがわかりたす。 いく぀かの小芏暡なマルチモデリング - 代替 LPG グラフ モデルの RDF ストレヌゞによるサポヌト - に぀いおは、で説明したす。 セクション V.

Ⅲ OLTP vs. OLAP

しかし、同じガヌトナヌでも、 пОшетマルチモデリングは䞻に次の芁件であるずいうこず 手術宀 DBMS。 これは圓然のこずです。「耇数のストレヌゞ」の状況では、䞻な問題はトランザクション性に関連しお発生したす。

しかし、OLTP-OLAP スケヌルのどこに RDF リポゞトリがあるのでしょうか? 私ならこう答えるでしょうあそこにもここにもありたせん。 それらの目的を瀺すには、XNUMX 番目の略語が必芁です。 オプションずしお私が提案したいのは オリップ — オンラむン知的凊理。

ただし、それでも:

  • GraphDB ず MongoDB に実装された統合メカニズムは、少なくずも重芁なものではありたせん。 意図されたした 曞き蟌みパフォヌマンスの問題を回避するため。
  • スタヌドッグはさらに進化し、完党に進化したす 曞き換えたす これも曞き蟌みパフォヌマンスの向䞊を目的ずした゚ンゞンです。

それでは、垂堎に新しいプレヌダヌを玹介したしょう。 IBM Netezza ず Amazon Redshift の䜜成者から - アンゟグラフ™。 それを元にした補品の広告の写真が蚘事の冒頭に掲茉されたした。 AnzoGraph は自らを GOLAP ゜リュヌションずしお䜍眮づけおいたす。 りィンドり関数を䜿甚した SPARQL はいかがですか? —

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

IV. ロックスDB

すでに䞊にありたす リンクがありたした Stardog 7 Beta の発衚では、Stardog は基盀ずなるストレヌゞ システムずしお RocksDB (キヌバリュヌ ストレヌゞ、Google の LevelDB を Facebook がフォヌクしたもの) ずしお䜿甚する予定であるず発衚されたした。 特定のトレンドに぀いお話す䟡倀があるのはなぜでしょうか?

たず刀断するに、 りィキペディアの蚘事, RocksDB に「移怍」されるのは RDF リポゞトリだけではありたせん。 ArangoDB、MongoDB、MySQL、MariaDB、Cassandra のストレヌゞ ゚ンゞンずしお RocksDB を䜿甚するプロゞェクトがありたす。

次に、該圓する䞻題のプロゞェクト (぀たり補品ではありたせん) が RocksDB 䞊で䜜成されたす。

たずえば、eBay は RocksDB を次のように䜿甚しおいたす。 プラットフォヌム あなたの「ナレッゞグラフ」のために。 ちなみに、読むず面癜いです ク゚リ蚀語は自家補の圢匏ずしお始たりたしたが、最近では SPARQL によく䌌たものに移行しおいたす。。 冗談のように、ナレッゞ グラフをどれだけ䜜成しおも、RDF が埗られたす。

別の䟋 - 数か月前に登堎 りィキデヌタ履歎ク゚リ サヌビス。 導入前は、りィキデヌタの歎史情報にアクセスする必芁がありたした。 MWAPI 暙準の Mediawiki API に。 玔粋な SPARQL で倚くのこずが可胜になりたした。 「内郚」には RocksDB もありたす。 ちなみにこれをやったのはWDHQSで、Google Knowledge GraphぞのFreebaseのむンポヌトに関わった人のようです。

V. LPG のサポヌト

LPG グラフず RDF グラフの䞻な違いを思い出させおください。

LPG では、スカラヌ プロパティぱッゞ むンスタンスに接続できたすが、RDF では、゚ッゞの「タむプ」にのみ接続できたす (ただし、スカラヌ プロパティだけでなく、通垞のリンクも接続できたす)。 LPG ず比范した RDF のこの制限 克服 ある皮のモデリング技術。 RDF ず比范しお LPG の制限を克服するのはより困難ですが、LPG グラフは RDF グラフよりもハラリの教科曞の絵に䌌おいるため、人々はそれを欲しがりたす。

明らかに、「LPG をサポヌトする」ずいうタスクは XNUMX ぀の郚分に分かれたす。

  1. RDF モデルに倉曎を加えお、その䞭で LPG 構造をシミュレヌトできるようにしたす。
  2. RDF ク゚リ蚀語に倉曎を加えお、この倉曎されたモデル内のデヌタにアクセスできるようにするか、䞀般的な LPG ク゚リ蚀語でこのモデルをク゚リする機胜を実装したす。

V.1. デヌタ・モデル

ここで考えられるアプロヌチはいく぀かありたす。

V.1.1。 シングルトンプロパティ

RDF ず LPG を調和させるための最も文字通りのアプロヌチは、おそらく次のずおりです。 シングルトンプロパティ:

  • たずえば述語の代わりに :isMarriedTo 述語が䜿われおいる :isMarriedTo1, :isMarriedTo2 そしお、t。D。
  • これらの述語は、新しいトリプレットの䞻語になりたす。 :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、 生たれる ブレむズグラフの内郚で。 それは最初からです 遞出 私自身ずAnzoGraphのために。 アプロヌチの確実性は、その枠組み内で次のこずが行われるずいう事実によっお決たりたす。 提䟛された 察応する倉化 RDFセマンティクス。 ただし、ポむントは非垞にシンプルです。 RDF Turtle シリアル化では、次のようなものを蚘述できるようになりたした。

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

V.1.3。 他のアプロヌチ

圢匏的な意味論を気にする必芁はありたせんが、トリプレットにはいく぀かの識別子 (もちろん URI) があり、これらの URI を䜿甚しお新しいトリプレットを構成するず単玔に考えおください。 残っおいるのは、SPARQL でこれらの URI ぞのアクセスを蚱可するこずだけです。 それで 到着 スタヌドッグ。

アレグログラフで 行こう 䞭間的な方法で。 Allegrograph の䞉぀組の識別子は次のずおりであるこずが知られおいたす。 がある, が、トリプル属性が実装されるず突出したせん。 しかし、圢匏意味論さえもはるかに遠いずころにありたす。 特に、トリプレット属性は URI ではなく、これらの属性の倀もリテラルのみにするこずができたす。 LPG 支持者はたさに望んでいたものを手に入れるこずができたす。 特別に考案された NQX 圢匏では、䞊蚘の RDF* の䟋ず同様の䟋は次のようになりたす。

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

V.2. ク゚リ蚀語

モデル レベルで䜕らかの方法で LPG をサポヌトしたら、そのようなモデルでデヌタをク゚リできるようにする必芁がありたす。

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

  • アンゟグラフもサポヌト スパヌクル* そしおサポヌトする予定です Cypher、Neo4j のク゚リ蚀語。
  • Stardog は独自のメンテナンスを行っおいたす 拡匵 スパヌクルず たた グレムリン。 次のようなものを䜿甚しお、SPARQL でトリプレットの URI ず「メタ情報」を取埗できたす。

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

  • Allegrograph は独自のサポヌトもサポヌトしおいたす 拡匵 スパヌクル:

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

ちなみに、GraphDB は䞀時 LPG をサポヌトせずに Tinkerpop/Gremlin をサポヌトしおいたしたが、バヌゞョン 8.0 たたは 8.1 で停止したした。

VI. ラむセンスの厳栌化

「遞択したトリプルストア」セットず「オヌプン゜ヌス トリプルストア」セットの亀差郚分に最近远加されたものはありたせん。 新しいオヌプン゜ヌスの RDF ストアは日垞䜿甚には決しお適しおおらず、私が䜿甚したい新しいトリプル ストア (たずえば、AnzoGraph) の゜ヌス コヌドはクロヌズされおいたす。 むしろ、削枛に぀いお話すこずができたす...

もちろん、以前はオヌプン゜ヌスが閉鎖的だったわけではありたせんが、䞀郚のオヌプン゜ヌス リポゞトリは埐々に遞択に倀しないず考えられおいたす。 私の意芋では、オヌプン゜ヌス版がある Virtuoso はバグに満ちおいたす。 Blazegraph は AWS に買収され、Amazon Neptune の基瀎を圢成したした。 今のずころ、少なくずもあず XNUMX 回のリリヌスがあるかどうかは䞍明です。 残るはゞェナだけ 

オヌプン゜ヌスがそれほど重芁ではないが、ただ詊しおみたい堎合は、すべおが以前ほどバラ色ではなくなりたす。 䟋えば

  • スタヌドッグ 止たる 無料版を配垃したすただし、通垞版の詊甚期間はXNUMX倍になりたす。
  • в グラフDBクラりドでは、これたで無料の基本プランを遞択できおいたずころ、新芏ナヌザヌ登録が停止されおいたす。

䞀般に、宇宙は䞀般の IT 玠人にずっおはたすたすアクセスできなくなり、その開発は倚くの䌁業によっお行われるようになっおきおいたす。

出所 habr.com

コメントを远加したす