اوس د RDF ذخیره کولو سره څه پیښیږي؟

سیمالټ ویب او لینک شوي ډاټا د بهرنی فضا په څیر دي: هلته ژوند نشته. د لږ یا لږ اوږدې مودې لپاره هلته د تګ لپاره ... زه نه پوهیږم چې دوی تاسو ته د ماشوم په توګه د ځواب په ځواب کې څه وویل "زه غواړم یو خلاباز شم." مګر تاسو کولی شئ وګورئ چې په ځمکه کې څه پیښیږي؛ دا خورا اسانه ده چې شوکیا ستورپوه یا حتی مسلکي شي.

مقاله به په وروستي ، د څو میاشتو څخه زاړه نه وي ، د RDF ذخیره کولو نړۍ رجحاناتو باندې تمرکز وکړي. په لومړۍ پراګراف کې استعاره د کټ لاندې د عصري اندازې اعلاناتي عکس څخه الهام اخیستل کیږي.


اختریز انځور

اوس د RDF ذخیره کولو سره څه پیښیږي؟

I. د RDF لاسرسي لپاره ګراف کیو ایل

دوی واييد ګراف کیو ایل موخه دا ده چې د یو نړیوال ډیټابیس لاسرسي ژبه شي. د GraphQL په کارولو سره RDF ته د لاسرسي وړتیا په اړه څه؟

د بکس څخه بهر دا فرصت د دې لخوا چمتو شوی دی:

که چیرې ذخیره داسې فرصت چمتو نکړي، دا د مناسب "حل کونکي" په لیکلو سره په خپلواکه توګه پلي کیدی شي. دا هغه څه دي چې دوی یې کړي، د بیلګې په توګه، په فرانسوي پروژه کې DataTourisme. یا تاسو نور نشئ کولی څه ولیکئ، مګر یوازې واخلئ HyperGraphQL.

د سیمانټیک ویب او لینک شوي ډیټا د ارتودوکس پیروان له نظره ، دا ټول ، البته ، غمجن دي ، ځکه چې داسې بریښي چې د راتلونکي ډیټا سیلو شاوخوا رامینځته شوي ادغام لپاره ډیزاین شوي ، او مناسب پلیټ فارمونه ندي (د RDF پلورنځي ، البته) .

د SPARQL سره د GraphQL پرتله کولو تاثیرات دوه چنده دي.

  • له یوې خوا ، ګراف کیو ایل د SPARQL لرې خپلوان په څیر ښکاري: دا د پوښتنو د بیا نمونې کولو او ضرب کولو ستونزې حل کوي چې د REST لپاره ځانګړي دي - پرته له دې ، شاید ، دا به په پام کې نیولو امکان ونلري. د پوښتنې ژبهلږترلږه د ویب لپاره؛
  • له بلې خوا، د GraphQL سخت سکیما مایوسه ده. په دې اساس، د دې "انځور پیژندنه" د RDF بشپړ انعکاس په پرتله خورا محدود ښکاري. او د ملکیت لارو هیڅ انلاګ شتون نلري ، نو دا حتی روښانه نده چې ولې دا "ګراف-" دی.

II. د MongoDB لپاره اډاپټرونه

یو رجحان د تیر یو بشپړونکی.

  • اوس په Stardog کې ممکنه ده - په ځانګړې توګه، ټول په ورته ګراف کیو ایل کې - د MongoDB ډیټا نقشه په مجازی RDF ګرافونو کې تنظیم کړئ؛
  • Ontotext GraphDB په دې وروستیو کې لري دا اجازه ورکوي په MongoDB پوښتنې کې SPARQL کې ټوټې داخل کړئ.

که موږ د JSON سرچینو ته د اډاپټرونو په اړه په پراخه کچه وغږیږو ، کوم چې لږ یا لږ "په الوتنه کې" اجازه ورکوي چې د JSON نمایندګي وکړي چې پدې سرچینو کې د RDF په توګه زیرمه شوي ، موږ کولی شو خورا اوږدمهاله یادونه وکړو. SPARQL تولید، کوم چې تنظیم کیدی شي ، د مثال په توګه، اپاچی جینا ته.

د لومړیو دوو رجحاناتو لنډیز، موږ کولی شو ووایو چې د RDF ذخیره د "پولیګلوټ دوام" په شرایطو کې د ادغام او عملیاتو لپاره بشپړ چمتووالی ښیي. په هرصورت، دا معلومه ده چې دا وروستی د اوږدې مودې لپاره د فیشن څخه بهر دی، او د هغې لخوا بدل شوی راځي څو ماډل. د RDF ذخیره کولو نړۍ کې د ملټي ماډلینګ په اړه څه؟

په لنډه توګه، هیڅ لاره. زه غواړم یو جلا مقاله د څو ماډل DBMSs موضوع ته وقف کړم، مګر د اوس لپاره دا یادونه کیدی شي چې اوس مهال د ګراف ماډل پر بنسټ د څو ماډل DBMSs شتون نلري (RDF د دې یو ډول ګڼل کیدی شي) . ځینې ​​کوچني ملټي ماډلینګ - د بدیل LPG ګراف ماډل لپاره د RDF ذخیره کولو ملاتړ - به په کې بحث وشي برخه V.

III. OLTP vs. OLAP

په هرصورت، ورته ګارټینر هغه ليکيدا ملټي ماډل په ابتدايي توګه یو غیر شرط دی عملیاتي خونې DBMS. دا د پوهیدو وړ ده: د "کثیر ډول ذخیره کولو" په حالت کې، اصلي ستونزې د لیږد سره رامینځته کیږي.

مګر د RDF ذخیره د OLTP-OLAP پیمانه چیرته موقعیت لري؟ زه به په دې ډول ځواب ورکړم: نه هلته او نه دلته. د دې لپاره چې د دوی هدف څه وي، ځینې دریم لنډیز ته اړتیا ده. د یو اختیار په توګه زه وړاندیز کوم OLIP - آنلاین فکري پروسس کول.

په هرصورت، بیا هم:

  • د MongoDB سره د ادغام میکانیزمونه په GraphDB کې پلي شوي لږ نه دي اراده د لیکلو فعالیت مسلو په اړه کار کول؛
  • سټارډوګ حتی نور هم په بشپړ ډول ځي بیا لیکي انجن، بیا د ریکارډ فعالیت ښه کولو هدف سره.

اوس اجازه راکړئ بازار ته یو نوی لوبغاړی معرفي کړم. د IBM Netezza او Amazon Redshift جوړونکو څخه - AnzoGraph™. د دې پر بنسټ د محصول لپاره د اعلان څخه یو عکس د مقالې په پیل کې ځړول شوی و. انزوګراف ځان د ګلپ حل په توګه موقعیت لري. تاسو د کړکۍ افعال سره SPARQL څنګه خوښوئ؟ —

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

IV. RocksDB

لا دمخه لوړ یو لینک وو د سټارډګ 7 بیټا اعلان ته ، کوم چې وویل چې سټارډوګ به د زیرمو ذخیره کولو سیسټم په توګه RocksDB وکاروي - د کلیدي ارزښت پلورنځی ، د ګوګل د لیول ډی بی د فیسبوک فورک. ولې د یو ځانګړي رجحان په اړه خبرې کول ارزښت لري؟

لومړی، قضاوت کول د ويکيپېډيا مقاله، نه یوازې د RDF ذخیرې RocksDB ته "تړل شوي" دي. په ArangoDB، MongoDB، MySQL او MariaDB، Cassandra کې د RocksDB د ذخیره کولو انجن په توګه د کارولو پروژې شتون لري.

دوهم، په اړوندو موضوعاتو کې پروژې (دا محصولات ندي) په RocksDB کې رامینځته شوي.

د مثال په توګه، ای بی په RocksDB کې کاروي یو پلیټ فارم ستاسو د "پوهې ګراف" لپاره. په هرصورت، دا د لوستلو مسخره ده: د پوښتنې ژبه د کور جوړ شوي فارمیټ په توګه پیل شوې، مګر په دې وروستیو کې دا د SPARQL په څیر ډیر څه ته لیږدول کیږي. لکه څنګه چې په ټوکه کې: مهمه نده چې موږ څومره د پوهې ګراف جوړ کړو، موږ لاهم د RDF سره پای ته ورسیږو.

یو بل مثال - یو چې څو میاشتې وړاندې څرګند شو د ویکیډاټا تاریخ پوښتنې خدمت. د دې د معرفي کولو دمخه، د ویکیډاټا تاریخي معلوماتو ته باید لاسرسی ومومي MWAPI معياري ميډياويکي API ته. اوس د خالص SPARQL سره ډیر څه ممکن دي. "د هود لاندې" دلته RocksDB هم شتون لري. د لارې په توګه، WDHQS جوړ شوی، داسې ښکاري، د هغه چا لخوا چې د ګوګل د پوهې ګراف کې یې فریبیس وارد کړی.

V. د LPG ملاتړ

اجازه راکړئ تاسو ته د LPG ګرافونو او RDF ګرافونو ترمینځ اصلي توپیر یادونه وکړم.

په LPG کې، د سکیلر ملکیتونه د څنډې مثالونو ته ټاکل کیدی شي، پداسې حال کې چې په RDF کې دوی یوازې د څنډې "ډولونو" ته ټاکل کیدی شي (مګر نه یوازې د سکیلر ملکیتونه، بلکې عادي اړیکې هم). د LPG په پرتله د RDF دا محدودیت برلاسی یو یا بل ماډل کولو تخنیک. د RDF په پرتله د LPG محدودیتونه لرې کول خورا ستونزمن دي، مګر د LPG ګرافونه د RDF ګرافونو په پرتله د هراري درسي کتاب انځورونو په څیر دي، له همدې امله خلک دوی غواړي.

په ښکاره ډول، د "LPG مالتړ" دنده په دوو برخو ویشل کیږي:

  1. د RDF ماډل کې بدلونونه رامینځته کول چې په دې کې د LPG جوړښتونو انډول کول امکان لري؛
  2. د RDF پوښتنې ژبې کې بدلونونه رامینځته کول چې پدې بدل شوي ماډل کې ډیټا ته لاسرسی ممکن کوي ​​، یا د LPG پوښتنو په مشهورو ژبو کې دې ماډل ته د پوښتنو کولو وړتیا پلي کوي.

V.1. د معلوماتو ماډل

دلته ډیری ممکنه لارې شتون لري.

V.1.1. د سنگلټون ملکیت

د RDF او LPG همغږي کولو لپاره ترټولو لفظي لاره شاید ده سنگلټن ملکیت:

  • پر ځای، د مثال په توګه، predicate :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 پلورنځیو لپاره اړین وي چې د ضمیمه پایلو ملاتړ کوي ، مګر د اوس لپاره ، سنگلټن ملکیت یوازې د بل ماډلینګ تخنیک په توګه فکر کیدی شي.

V.1.2. بیاکتنه په سمه توګه ترسره شوه

لږ ساده تګلارې د دې احساس څخه رامینځته کیږي چې د ملکیت مثالونه په بشپړ ډول د درې ګونو لخوا د فوري وړ دي. د درې اړخیزو په اړه څه ویلو سره، موږ به وکولی شو د ملکیت مثالونو په اړه خبرې وکړو.

د دې تګلارو تر ټولو پیاوړی دی RDF*د RDR په نوم زیږیدلی د بلیزګراف په ژورو کې. دا د پیل څخه دی ټاکل شوی د ځان او انزوګراف لپاره. د تګلارې ټینګښت د دې حقیقت له مخې ټاکل کیږي چې د دې چوکاټ دننه وړاندیز کیږي اړوند بدلونونه RDF سیمانټیک. په هرصورت، ټکی خورا ساده دی. د RDF د کچو سریال کولو کې تاسو اوس کولی شئ داسې یو څه ولیکئ:

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

V.1.3. نورې لارې چارې

تاسو نشئ کولی د رسمي سیمانټیکونو سره زحمت وکړئ ، مګر په ساده ډول فرض کړئ چې درې ګونی ځانګړي پیژندونکي لري ، کوم چې البته URIs دي ، او د دې URIs سره نوي درې ګونی رامینځته کړئ. ټول هغه څه چې پاتې دي په SPARQL کې دې URIs ته لاسرسی ورکول دي. نو راځي سټارډوګ

په Allegrograph کې لاړ په منځني ډول. دا معلومه ده چې په Allegrograph کې درې اړخیز پیژندونکي ده، مګر کله چې درې ځله ځانګړتیاوې پلي کوي دوی نه پاتې کیږي. په هرصورت، دا لاهم د رسمي سیمانټیک څخه خورا لرې دی. دا د یادونې وړ ده چې درې اړخیز ځانګړتیاوې URI نه دي، او د دې صفاتو ارزښت هم یوازې لغوي کیدی شي. د LPG پیروان هغه څه ترلاسه کوي چې دوی یې غوښتل. په ځانګړي ډول اختراع شوي NQX بڼه کې، د RDF* لپاره پورته ورته ورته مثال داسې ښکاري:

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

V.2. پوښتنې ژبې

د ماډل په کچه په یو ډول یا بل ډول د LPG ملاتړ کولو سره ، تاسو اړتیا لرئ په داسې ماډل کې د معلوماتو په اړه پوښتنې رامینځته کړئ.

  • د RDF * پوښتنو لپاره بلیزګراف ملاتړ کوي SPARQL* и ګریلمین. د SPARQL* پوښتنه داسې ښکاري:

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

  • انزوګراف هم ملاتړ کوي SPARQL* او ملاتړ ته ځي سایپر, په Neo4j کې د پوښتنې ژبه.
  • سټارډوګ خپل ملاتړ کوي پراختیا SPARQL او بیا ګریملین تاسو کولی شئ د دې په کارولو سره په SPARQL کې درې اړخیز URI او "میټا معلومات" ترلاسه کړئ:

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

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

په هرصورت، GraphDB په یو وخت کې د Tinkerpop/Gremlin ملاتړ وکړ پرته له دې چې د LPG ملاتړ وکړي، مګر دا په 8.0 یا 8.1 نسخه کې ودرېد.

VI. د جوازونو سختول

د "انتخاب درې پلستر" او "د خلاصې سرچینې ټرپلسټور" سیټونو په تقاطع کې هیڅ وروستي اضافه شوي ندي. د نوي خلاصې سرچینې RDF پلورنځي د ورځني کارونې لپاره د غوره انتخاب څخه خورا اوږده لاره ده ، او نوي درې پلورنځي چې زه یې غواړم وکاروم (لکه انزو ګراف) تړلې سرچینې دي. بلکه، موږ کولی شو د کمښت په اړه خبرې وکړو ...

البته، خلاصې سرچینې په تیرو وختونو کې نه دي تړل شوي، مګر د خلاصې سرچینې ځینې ذخیره ورو ورو نور د غوره کولو ارزښت نه لیدل کیږي. Virtuoso، چې د خلاصې سرچینې نسخه لري، زما په نظر، په کیګونو کې ډوب دی. بلیزګراف د AWS لخوا پیرودل شوی او د ایمیزون نیپچون اساس یې رامینځته کړی؛ اوس دا روښانه نده چې ایا لږترلږه یو بل به خوشې شي. یوازې جینا پاتې ده ...

که خلاص سرچینه خورا مهمه نده ، مګر تاسو یوازې دا هڅه کول غواړئ ، نو هرڅه هم د پخوا په پرتله لږ ګلابي دي. د مثال په ډول:

  • سټارډوګ ودرېږي وړیا نسخه توزیع کړئ (په هرصورت ، د منظم نسخې آزموینې موده دوه چنده شوې)؛
  • в GraphDB کلاوډ، چیرې چې تاسو دمخه وړیا لومړني پلان غوره کولی شئ ، د نوي کارونکي راجسټریشن ځنډول شوي.

په عموم کې، د اوسط IT شخص لپاره، ځای ورځ تر بلې د لاسرسي وړ کیږي؛ د هغې پراختیا د شرکتونو ډیری برخه کیږي.

سرچینه: www.habr.com

Add a comment