RDF اسٹوریج کے ساتھ اب کیا ہو رہا ہے؟

سیمنٹک ویب اور لنکڈ ڈیٹا بیرونی خلا کی طرح ہیں: وہاں زندگی نہیں ہے۔ کم و بیش طویل عرصے کے لیے وہاں جانے کے لیے... مجھے نہیں معلوم کہ "میں خلاباز بننا چاہتا ہوں" کے جواب میں بچپن میں انھوں نے آپ کو کیا کہا تھا۔ لیکن آپ دیکھ سکتے ہیں کہ زمین پر کیا ہو رہا ہے۔ شوقیہ ماہر فلکیات یا یہاں تک کہ ایک پیشہ ور بننا بہت آسان ہے۔

مضمون RDF اسٹوریج کی دنیا کے حالیہ، کئی مہینوں سے زیادہ پرانے رجحانات پر توجہ مرکوز کرے گا۔ پہلے پیراگراف میں استعارہ کٹ کے نیچے مہاکاوی سائز کی اشتہاری تصویر سے متاثر ہے۔


مہاکاوی تصویر

RDF اسٹوریج کے ساتھ اب کیا ہو رہا ہے؟

I. RDF رسائی کے لیے گراف کیو ایل

وہ کہتے ہیںکہ GraphQL کا مقصد ڈیٹابیس تک رسائی کی عالمگیر زبان بننا ہے۔ GraphQL کا استعمال کرتے ہوئے RDF تک رسائی کی صلاحیت کے بارے میں کیا خیال ہے؟

آؤٹ آف دی باکس یہ موقع فراہم کرتا ہے:

اگر ذخیرہ اس طرح کا موقع فراہم نہیں کرتا ہے، تو اسے ایک مناسب "حل کرنے والا" لکھ کر آزادانہ طور پر لاگو کیا جا سکتا ہے۔ یہ وہی ہے جو انہوں نے کیا، مثال کے طور پر، فرانسیسی منصوبے میں ڈیٹا ٹورازم. یا آپ مزید کچھ نہیں لکھ سکتے، لیکن صرف لے سکتے ہیں۔ ہائپر گراف کیو ایل.

سیمنٹک ویب اور لنکڈ ڈیٹا کے آرتھوڈوکس پیروکار کے نقطہ نظر سے، یہ سب، یقیناً افسوسناک ہے، کیونکہ ایسا لگتا ہے کہ یہ اگلے ڈیٹا سائلو کے ارد گرد بنائے گئے انضمام کے لیے ڈیزائن کیا گیا ہے، اور مناسب پلیٹ فارم نہیں ہے (RDF اسٹورز، یقیناً) .

GraphQL کا SPARQL سے موازنہ کرنے کے تاثرات دوگنا ہیں۔

  • ایک طرف، GraphQL SPARQL کے ایک دور دراز کے رشتہ دار کی طرح لگتا ہے: یہ سوالات کی دوبارہ نمونہ سازی اور کثیرت کے مسائل کو حل کرتا ہے جو REST کے لیے عام ہیں - جس کے بغیر، شاید، اس پر غور کرنا ممکن نہیں ہوگا۔ استفسار کی زبانکم از کم ویب کے لیے؛
  • دوسری طرف، گراف کیو ایل کا سخت اسکیما مایوس کن ہے۔ اس کے مطابق، RDF کی مکمل اضطراری صلاحیت کے مقابلے اس کی "خود شناسی" بہت محدود معلوم ہوتی ہے۔ اور جائیداد کے راستوں کا کوئی ینالاگ نہیں ہے، اس لیے یہ بھی واضح نہیں ہے کہ یہ "Graph-" کیوں ہے۔

II MongoDB کے لیے اڈاپٹر

ایک رجحان جو پچھلے ایک کی تکمیل کرتا ہے۔

  • ابھی Stardog میں شاید - خاص طور پر، سبھی ایک ہی GraphQL پر - MongoDB ڈیٹا کی میپنگ کو ورچوئل RDF گراف میں ترتیب دیں۔
  • Ontotext GraphDB نے حال ہی میں کی اجازت دیتا ہے MongoDB استفسار پر SPARQL میں ٹکڑے داخل کریں۔

اگر ہم JSON ذرائع کے اڈاپٹر کے بارے میں زیادہ وسیع پیمانے پر بات کریں، جو ان ذرائع میں RDF کے طور پر ذخیرہ کردہ JSON کی نمائندگی کرنے کے لیے کم و بیش "اڑتے ہوئے" کی اجازت دیتے ہیں، تو ہم کافی دیرینہ یاد کر سکتے ہیں۔ SPARQL پیدا کریں۔جس کو ایڈجسٹ کیا جا سکتا ہے، مثال کے طور پر، اپاچی جینا کو۔

پہلے دو رجحانات کا خلاصہ کرتے ہوئے، ہم کہہ سکتے ہیں کہ RDF ذخیرہ "پولی گلوٹ استقامت" کے حالات میں انضمام اور آپریشن کے لیے مکمل تیاری کا مظاہرہ کرتے ہیں۔ تاہم، یہ جانا جاتا ہے کہ یہ مؤخر الذکر طویل عرصے سے فیشن سے باہر ہے، اور اس کی جگہ لے رہا ہے۔ آ رہا ہے ملٹی ماڈل RDF اسٹوریج کی دنیا میں ملٹی ماڈلنگ کے بارے میں کیا خیال ہے؟

مختصر میں، کوئی راستہ نہیں. میں ملٹی ماڈل DBMSs کے موضوع پر ایک علیحدہ مضمون وقف کرنا چاہوں گا، لیکن ابھی کے لیے یہ نوٹ کیا جا سکتا ہے کہ فی الحال گراف ماڈل پر "بیسڈ" کوئی ملٹی ماڈل DBMS نہیں ہیں (RDF کو اس کی ایک قسم سمجھا جا سکتا ہے) . کچھ چھوٹی ملٹی ماڈلنگ - متبادل ایل پی جی گراف ماڈل کے لیے آر ڈی ایف اسٹوریج سپورٹ - پر بات کی جائے گی۔ سیکشن V.

III OLTP بمقابلہ OLAP

تاہم، ایک ہی گارٹنر لکھتے ہیںکہ ملٹی ماڈل بنیادی طور پر اس کے لیے ایک لازمی شرط نہیں ہے۔ آپریٹنگ کمرے ڈی بی ایم ایس۔ یہ قابل فہم ہے: "ملٹی ویریٹیٹ اسٹوریج" کی صورت حال میں، بنیادی مسائل لین دین کے ساتھ پیدا ہوتے ہیں۔

لیکن OLTP-OLAP پیمانے پر RDF اسٹوریج کہاں ہیں؟ میں اس طرح جواب دوں گا: نہ وہاں نہ یہاں۔ یہ بتانے کے لیے کہ ان کا مقصد کیا ہے، کچھ تیسرے مخفف کی ضرورت ہے۔ ایک آپشن کے طور پر میں تجویز کروں گا۔ OLIP - آن لائن انٹلیکچوئل پروسیسنگ۔

تاہم، پھر بھی:

  • GraphDB میں لاگو MongoDB کے ساتھ انضمام کے طریقہ کار کم نہیں ہیں۔ ارادہ کیا کارکردگی کے مسائل لکھنے کے لیے کام کرنا؛
  • Stardog اور بھی آگے اور مکمل طور پر جاتا ہے۔ دوبارہ لکھتا ہے انجن، دوبارہ ریکارڈنگ کی کارکردگی کو بہتر بنانے کے مقصد کے ساتھ۔

اب میں ایک نئے کھلاڑی کو مارکیٹ میں متعارف کرواتا ہوں۔ IBM Netezza اور Amazon Redshift کے تخلیق کاروں سے - AnzoGraph™. اس پر مبنی پروڈکٹ کے اشتہار کی ایک تصویر مضمون کے آغاز میں پوسٹ کی گئی تھی۔ AnzoGraph خود کو GOLAP حل کے طور پر رکھتا ہے۔ آپ کو ونڈو فنکشنز کے ساتھ SPARQL کیسے پسند ہے؟ -

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

چہارم راکس ڈی بی

پہلے سے ہی زیادہ ایک لنک تھا Stardog 7 Beta کے اعلان کے لیے، جس میں کہا گیا تھا کہ Stardog RocksDB کو ایک بنیادی اسٹوریج سسٹم کے طور پر استعمال کرنے جا رہا ہے - ایک کلیدی قدر اسٹور، گوگل کے LevelDB کا ایک فیس بک فورک۔ یہ ایک خاص رجحان کے بارے میں بات کرنے کے قابل کیوں ہے؟

سب سے پہلے، کی طرف سے فیصلہ ویکیپیڈیا مضمون، نہ صرف RDF اسٹوریج کو RocksDB میں "ٹرانسپلانٹ" کیا جاتا ہے۔ ArangoDB، MongoDB، MySQL اور MariaDB، Cassandra میں RocksDB کو اسٹوریج انجن کے طور پر استعمال کرنے کے منصوبے ہیں۔

دوم، متعلقہ موضوعات پر پروجیکٹس (یعنی پروڈکٹس نہیں) RocksDB پر بنائے جاتے ہیں۔

مثال کے طور پر، ای بے میں RocksDB استعمال کرتا ہے۔ پلیٹ فارم آپ کے "علم کے گراف" کے لیے۔ ویسے، یہ پڑھنا مضحکہ خیز ہے: استفسار کی زبان گھر میں پیدا ہونے والے فارمیٹ کے طور پر شروع ہوئی، لیکن حال ہی میں یہ بہت زیادہ SPARQL کی طرح تبدیل ہو رہی ہے۔. جیسا کہ مذاق میں ہے: اس سے کوئی فرق نہیں پڑتا ہے کہ ہم کتنا علمی گراف بناتے ہیں، پھر بھی ہم RDF کے ساتھ ختم ہوتے ہیں۔

ایک اور مثال - جو چند ماہ قبل سامنے آئی ویکی ڈیٹا ہسٹری استفسار سروس. اس کے تعارف سے پہلے، Wikidata کی تاریخی معلومات تک رسائی حاصل کی جانی تھی۔ MWAPI معیاری Mediawiki API میں۔ اب خالص SPARQL کے ساتھ بہت کچھ ممکن ہے۔ "ہڈ کے نیچے" RocksDB بھی ہے۔ ویسے، ایسا لگتا ہے کہ WDHQS اس شخص نے بنایا تھا جس نے Google Knowledge Graph میں Freebase درآمد کیا تھا۔

V. ایل پی جی سپورٹ

میں آپ کو ایل پی جی گراف اور آر ڈی ایف گراف کے درمیان بنیادی فرق کی یاد دلاتا ہوں۔

ایل پی جی میں، اسکیلر خصوصیات کو کنارے کی مثالوں کے لیے تفویض کیا جا سکتا ہے، جب کہ RDF میں انھیں صرف کنارے کی "قسموں" کے لیے تفویض کیا جا سکتا ہے (لیکن نہ صرف اسکیلر خصوصیات، بلکہ عام کنکشنز بھی)۔ ایل پی جی کے مقابلے آر ڈی ایف کی یہ حد قابو پانا ایک یا ایک اور ماڈلنگ تکنیک. RDF کے مقابلے ایل پی جی کی حدود پر قابو پانا زیادہ مشکل ہے، لیکن ایل پی جی گراف آر ڈی ایف گراف کے مقابلے ہراری کی نصابی کتاب کی تصویروں کی طرح ہیں، اسی لیے لوگ انہیں چاہتے ہیں۔

ظاہر ہے، "ایل پی جی سپورٹ" کا کام دو حصوں میں آتا ہے:

  1. آر ڈی ایف ماڈل میں تبدیلیاں کرنا جو اس میں ایل پی جی ڈھانچے کی نقل کرنا ممکن بناتی ہیں۔
  2. RDF استفسار کی زبان میں تبدیلیاں کرنا جو اس ترمیم شدہ ماڈل میں ڈیٹا تک رسائی کو ممکن بناتا ہے، یا مقبول LPG استفسار کی زبانوں میں اس ماڈل سے سوالات کرنے کی صلاحیت کو نافذ کرتا ہے۔

V.1. ڈیٹا ماڈل

یہاں کئی ممکنہ طریقے ہیں۔

V.1.1. سنگلٹن پراپرٹی

RDF اور LPG کو ہم آہنگ کرنے کا سب سے زیادہ لفظی نقطہ نظر شاید ہے۔ سنگلٹن پراپرٹی:

  • اس کے بجائے، مثال کے طور پر، predicate :isMarriedTo predicates استعمال کیا جاتا ہے :isMarriedTo1, :isMarriedTo2 میں. د.
  • یہ پیشین گوئیاں پھر نئے ٹرپلٹس کا موضوع بن جاتی ہیں: :isMarriedTo1 :since "2013-09-13"^^xsd:date وغیرہ
  • پیشین گوئی کی ان مثالوں کا ایک عام پیشین گوئی کے ساتھ کنکشن فارم کے ٹرپلٹس سے قائم ہوتا ہے۔ :isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo.
  • ظاہر ہے ، rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type، لیکن اس کے بارے میں سوچیں کہ آپ کو صرف کیوں نہیں لکھنا چاہئے۔ :isMarriedTo1 rdf:type :isMarriedTo.

"ایل پی جی سپورٹ" کا مسئلہ یہاں RDFS سطح پر حل ہوتا ہے۔ اس طرح کے فیصلے کو مناسب میں شامل کرنے کی ضرورت ہے۔ معیار. RDF اسٹورز کے لیے کچھ تبدیلیوں کی ضرورت ہو سکتی ہے جو منسلک نتائج کی حمایت کرتے ہیں، لیکن فی الحال، سنگلٹن پراپرٹی کو صرف ایک اور ماڈلنگ تکنیک کے طور پر سوچا جا سکتا ہے۔

V.1.2. Reification درست ہو گیا

کم بولی نقطہ نظر اس احساس سے پیدا ہوتا ہے کہ جائیداد کی مثالیں تینوں کے ذریعہ مکمل طور پر فوری ہیں۔ ٹرپلٹس کے بارے میں کچھ کہنے کے قابل ہونے سے، ہم جائیداد کی مثالوں کے بارے میں بات کر سکیں گے۔

ان طریقوں میں سے سب سے زیادہ مضبوط ہے۔ RDF*، عرف RDR، پیدا ہونا بلیز گراف کی گہرائیوں میں۔ یہ شروع سے ہی ہے۔ منتخب اپنے اور AnzoGraph کے لیے۔ نقطہ نظر کی مضبوطی کا تعین اس حقیقت سے ہوتا ہے کہ اس کے فریم ورک کے اندر پیش کیے جاتے ہیں میں متعلقہ تبدیلیاں آر ڈی ایف سیمنٹکس. نقطہ، تاہم، انتہائی سادہ ہے. RDF کے ٹرٹل سیریلائزیشن میں اب آپ کچھ اس طرح لکھ سکتے ہیں:

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

V.1.3. دوسرے نقطہ نظر

آپ رسمی سیمنٹکس سے پریشان نہیں ہو سکتے، لیکن صرف یہ فرض کر لیں کہ ٹرپلٹس کے کچھ شناخت کنندگان ہیں، جو یقیناً یو آر آئی ہیں، اور ان یو آر آئی کے ساتھ نئے ٹرپلٹس بنائیں۔ باقی صرف SPARQL میں ان URIs تک رسائی دینا ہے۔ تو پہنچتا ہے سٹار ڈاگ

Allegrograph میں چلا گیا درمیانی راستے میں. یہ معلوم ہے کہ الیگروگراف میں ٹرپلٹ شناخت کنندہ وہاں ہے، لیکن جب ٹرپل صفات کو نافذ کرتے ہیں تو وہ باہر نہیں رہتے ہیں۔ تاہم، یہ ابھی بھی رسمی سیمنٹکس سے بہت دور ہے۔ یہ قابل ذکر ہے کہ ٹرپلٹ اوصاف URI نہیں ہیں، اور ان صفات کی قدریں بھی صرف لفظی ہو سکتی ہیں۔ ایل پی جی کے پیروکاروں کو وہی ملتا ہے جو وہ چاہتے تھے۔ خاص طور پر ایجاد کردہ NQX فارمیٹ میں، RDF* کے لیے اوپر کی طرح کی ایک مثال اس طرح نظر آتی ہے:

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

V.2. سوالات کی زبانیں۔

ماڈل کی سطح پر کسی نہ کسی طریقے سے ایل پی جی کو سپورٹ کرنے کے بعد، آپ کو ایسے ماڈل میں ڈیٹا پر سوالات کرنا ممکن بنانا ہوگا۔

  • بلیز گراف برائے RDF* سوالات کی حمایت کرتا ہے۔ SPARQL* и Gremlin. ایک SPARQL* استفسار اس طرح لگتا ہے:

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

  • Anzograph بھی حمایت کرتا ہے SPARQL* اور حمایت کرنے جا رہا ہے بیجلیھ، Neo4j میں ایک استفسار کی زبان۔
  • Stardog اس کی اپنی حمایت کرتا ہے توسیع SPARQL اور ایک بار پھر گریملن۔ آپ SPARQL میں ٹرپلٹ URI اور "میٹا انفارمیشن" کچھ اس طرح استعمال کر کے حاصل کر سکتے ہیں:

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

  • Allegrograph بھی اس کی اپنی حمایت کرتا ہے۔ توسیع SPARQL:

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

ویسے، گراف ڈی بی نے ایک وقت میں ایل پی جی کو سپورٹ کیے بغیر ٹنکرپپ/گریملن کو سپورٹ کیا تھا، لیکن یہ ورژن 8.0 یا 8.1 میں رک گیا۔

VI لائسنسوں میں سختی ۔

"انتخاب کے ٹرپل اسٹور" اور "اوپن سورس ٹرپل اسٹور" سیٹوں کے چوراہے میں کوئی حالیہ اضافہ نہیں کیا گیا ہے۔ نئے اوپن سورس RDF اسٹورز روزمرہ کے استعمال کے لیے ایک اچھا انتخاب ہونے سے بہت دور ہیں، اور نئے ٹرپل اسٹورز جنہیں میں استعمال کرنا چاہوں گا (جیسے AnzoGraph) بند سورس ہیں۔ بلکہ، ہم کمی کے بارے میں بات کر سکتے ہیں...

بلاشبہ، اوپن سورس کو ماضی میں بند نہیں کیا گیا تھا، لیکن کچھ اوپن سورس ریپوزٹریز کو اب آہستہ آہستہ منتخب کرنے کے قابل نہیں دیکھا جاتا ہے۔ Virtuoso، جس کا اوپن سورس ایڈیشن ہے، میری رائے میں، کیڑے میں ڈوب رہا ہے۔ Blazegraph AWS نے خریدا اور ایمیزون نیپچون کی بنیاد بنائی۔ اب یہ واضح نہیں ہے کہ آیا کم از کم ایک اور ریلیز ہوگی۔ صرف جینا باقی ہے...

اگر اوپن سورس بہت اہم نہیں ہے، لیکن آپ اسے آزمانا چاہتے ہیں، تو پھر سب کچھ پہلے سے کم گلابی ہے۔ مثال کے طور پر:

  • سٹار ڈاگ رک جاتا ہے مفت ورژن تقسیم کریں (تاہم، باقاعدہ ورژن کی آزمائشی مدت دگنی ہو گئی ہے)؛
  • в گراف ڈی بی کلاؤڈجہاں پہلے آپ مفت بنیادی منصوبہ منتخب کر سکتے تھے، وہاں نئے صارف کی رجسٹریشن معطل کر دی گئی ہے۔

عام طور پر، اوسط IT شخص کے لیے، جگہ زیادہ سے زیادہ ناقابل رسائی ہوتی جا رہی ہے؛ اس کی ترقی کارپوریشنوں کی بہتات بنتی جا رہی ہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں