आता आरडीएफ स्टोरेजचे काय होत आहे?

Semantic Web и Linked Data подобны ближнему космосу: жизни там нет. Чтобы отправиться туда на более-менее длительный срок… ну, не знаю, что говорили вам в детстве в ответ на «хочу стать космонавтом». Но понаблюдать за происходящим можно и находясь на Земле; стать астрономом-любителем или даже профессионалом гораздо проще.

В статье речь пойдет о свежих, не старее нескольких месяцев, трендах из мира RDF-хранилищ. Метафора в первом абзаце была навеяна эпических размеров рекламной картинкой под катом.


महाकाव्य चित्र

आता आरडीएफ स्टोरेजचे काय होत आहे?

I. RDF प्रवेशासाठी GraphQL

ते म्हणतातGraphQL चे उद्दिष्ट एक सार्वत्रिक डेटाबेस प्रवेश भाषा बनण्याचे आहे. GraphQL वापरून RDF मध्ये प्रवेश करण्याच्या क्षमतेबद्दल काय?

बॉक्सच्या बाहेर ही संधी द्वारे प्रदान केली जाते:

जर रेपॉजिटरी अशी संधी प्रदान करत नसेल, तर ते योग्य "रिझोल्व्हर" लिहून स्वतंत्रपणे लागू केले जाऊ शकते. त्यांनी हेच केले, उदाहरणार्थ, फ्रेंच प्रकल्पात डेटा टुरिझम. किंवा आपण यापुढे काहीही लिहू शकत नाही, परंतु फक्त घ्या हायपरग्राफक्यूएल.

सिमेंटिक वेब आणि लिंक्ड डेटाच्या ऑर्थोडॉक्स अनुयायीच्या दृष्टिकोनातून, हे सर्व अर्थातच दुःखद आहे, कारण ते पुढील डेटा सायलोच्या आसपास तयार केलेल्या एकत्रीकरणासाठी डिझाइन केलेले दिसते आणि योग्य प्लॅटफॉर्म (आरडीएफ स्टोअर्स, अर्थातच) नाहीत. .

GraphQL ची SPARQL सोबत तुलना केल्यावर मिळणारे इंप्रेशन दुप्पट आहेत.

  • एकीकडे, GraphQL हा SPARQL च्या दूरच्या नातेवाईकासारखा दिसतो: ते REST साठी वैशिष्ट्यपूर्ण असलेल्या प्रश्नांच्या पुनर्नमुनाकरण आणि गुणाकाराच्या समस्यांचे निराकरण करते - त्याशिवाय, कदाचित, याचा विचार करणे शक्य होणार नाही. क्वेरी भाषा, किमान वेबसाठी;
  • दुसरीकडे, GraphQL ची कठोर योजना निराशाजनक आहे. त्यानुसार, आरडीएफच्या पूर्ण रिफ्लेक्सिव्हिटीच्या तुलनेत त्याची "आत्मनिरीक्षणता" खूपच मर्यादित दिसते. आणि मालमत्तेच्या मार्गांचे कोणतेही अॅनालॉग नाही, म्हणून ते "ग्राफ-" का आहे हे अगदी स्पष्ट नाही.

II. MongoDB साठी अडॅप्टर

मागील एकास पूरक कल.

  • в Stardog теперь कदाचित - विशेषतः, सर्व समान GraphQL वर - MongoDB डेटाचे मॅपिंग आभासी RDF आलेखामध्ये कॉन्फिगर करा;
  • GraphDB с недавних пор तो संमत MongoDB क्वेरीवर SPARQL मध्ये तुकडे घाला.

जर आपण JSON स्त्रोतांच्या अडॅप्टर्सबद्दल अधिक विस्तृतपणे बोललो, जे या स्त्रोतांमध्ये आरडीएफ म्हणून संग्रहित JSON चे प्रतिनिधित्व करण्यासाठी कमी-अधिक प्रमाणात परवानगी देतात SPARQL व्युत्पन्न करा, जे समायोजित केले जाऊ शकते, उदाहरणार्थ, अपाचे जेना ला.

पहिल्या दोन ट्रेंडचा सारांश, आम्ही असे म्हणू शकतो की RDF स्टोरेज "पॉलीग्लॉट पर्सिस्टन्स" च्या परिस्थितीत एकत्रीकरण आणि ऑपरेशनसाठी पूर्ण तयारी दर्शवतात. हे ज्ञात आहे, तथापि, हे नंतरचे फॅशनच्या बाहेर गेले आहे आणि ते बदलले जात आहे येत आहे मल्टी-मॉडेल. आरडीएफ स्टोरेजच्या जगात मल्टी-मॉडेलिंगचे काय?

थोडक्यात, कोणताही मार्ग नाही. मी मल्टी-मॉडेल डीबीएमएसच्या विषयावर एक स्वतंत्र लेख समर्पित करू इच्छितो, परंतु सध्या हे लक्षात घेतले जाऊ शकते की ग्राफ मॉडेलवर सध्या कोणतेही मल्टी-मॉडेल डीबीएमएस "आधारित" नाहीत (आरडीएफचा एक प्रकार मानला जाऊ शकतो) . काही लहान मल्टी-मॉडेलिंग - वैकल्पिक एलपीजी आलेख मॉडेलसाठी आरडीएफ स्टोरेज सपोर्ट - यावर चर्चा केली जाईल विभाग V.

III. OLTP वि. OLAP

तथापि, त्याच गार्टनर तो लिहितोते मल्टीमॉडेल हे प्रामुख्याने अटीतटीचे आहे ऑपरेटिंग रूम DBMS. हे समजण्यासारखे आहे: "मल्टीव्हेरिएट स्टोरेज" च्या परिस्थितीत, मुख्य समस्या व्यवहारात उद्भवतात.

पण OLTP-OLAP स्केलवर RDF स्टोरेज कुठे आहेत? मी या प्रकारे उत्तर देईन: ना तिकडे ना इथे. ते कशासाठी अभिप्रेत आहेत हे सूचित करण्यासाठी, काही तृतीय संक्षेप आवश्यक आहे. एक पर्याय म्हणून मी सुचवेन OLIP - ऑनलाइन बौद्धिक प्रक्रिया.

तथापि, तरीही:

  • GraphDB मध्ये लागू केलेल्या MongoDB सह एकत्रीकरण यंत्रणा कमी नाहीत हेतू लेखन कार्यप्रदर्शन समस्यांवर काम करण्यासाठी;
  • स्टारडॉग आणखी पुढे आणि पूर्णपणे जातो पुन्हा लिहितो इंजिन, पुन्हा रेकॉर्डिंग कार्यप्रदर्शन सुधारण्याच्या ध्येयासह.

А теперь разрешите представить нового игрока на рынке. от создателей IBM Netezza и Amazon Redshift — AnzoGraph. त्यावर आधारित उत्पादनाच्या जाहिरातीतील एक चित्र लेखाच्या सुरुवातीला पोस्ट केले होते. अँझोग्राफ स्वतःला GOLAP सोल्यूशन म्हणून स्थान देतो. तुम्हाला विंडो फंक्शन्ससह SPARQL कसे आवडते? -

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

IV. रॉक्सडीबी

आधीच उच्च एक दुवा होता स्टारडॉग 7 बीटाच्या घोषणेसाठी, ज्यामध्ये असे म्हटले आहे की स्टारडॉग रॉक्सडीबीचा वापर अंतर्निहित स्टोरेज सिस्टम म्हणून करणार आहे - एक की-व्हॅल्यू स्टोअर, Google च्या लेव्हलडीबीचा फेसबुक फोर्क. एखाद्या विशिष्ट ट्रेंडबद्दल बोलणे योग्य का आहे?

प्रथम, द्वारे न्याय विकिपीडिया लेख, केवळ RDF स्टोरेज RocksDB मध्ये "प्रत्यारोपित" नाहीत. ArangoDB, MongoDB, MySQL आणि MariaDB, Cassandra मध्ये स्टोरेज इंजिन म्हणून RocksDB वापरण्याचे प्रकल्प आहेत.

दुसरे म्हणजे, RocksDB वर संबंधित विषयांवरील प्रकल्प (म्हणजे उत्पादने नव्हे) तयार केले जातात.

उदाहरणार्थ, eBay मध्ये RocksDB वापरते व्यासपीठ तुमच्या "ज्ञान आलेख" साठी. तसे, हे वाचणे मजेदार आहे: क्वेरी लँग्वेजची सुरुवात घरगुती स्वरुपात झाली, परंतु अलीकडे ती SPARQL सारखी बनत आहे.. विनोदाप्रमाणे: आपण कितीही ज्ञानाचा आलेख बनवला तरीही आपण RDF सहच संपतो.

दुसरे उदाहरण - काही महिन्यांपूर्वी दिसलेले एक विकिडेटा इतिहास क्वेरी सेवा. त्याच्या परिचयापूर्वी, विकिडेटा ऐतिहासिक माहितीद्वारे प्रवेश करणे आवश्यक होते MWAPI मानक Mediawiki API वर. आता शुद्ध SPARQL सह बरेच काही शक्य आहे. “अंडर द हुड” येथे रॉक्सडीबी देखील आहे. तसे, WDHQS बनवले गेले, असे दिसते, ज्याने फ्रीबेस Google नॉलेज ग्राफमध्ये आयात केला.

V. LPG सपोर्ट

मी तुम्हाला एलपीजी आलेख आणि आरडीएफ आलेखांमधील मुख्य फरकाची आठवण करून देतो.

एलपीजीमध्ये, स्केलर गुणधर्म एज उदाहरणांसाठी नियुक्त केले जाऊ शकतात, तर आरडीएफमध्ये ते फक्त एज "प्रकार" (परंतु केवळ स्केलर गुणधर्मच नव्हे तर सामान्य कनेक्शन देखील) नियुक्त केले जाऊ शकतात. एलपीजीच्या तुलनेत आरडीएफची ही मर्यादा मात एक किंवा दुसरे मॉडेलिंग तंत्र. आरडीएफच्या तुलनेत एलपीजीच्या मर्यादांवर मात करणे अधिक कठीण आहे, परंतु एलपीजी आलेख हे आरडीएफ आलेखापेक्षा हरारी पाठ्यपुस्तकातील चित्रांसारखे आहेत, म्हणूनच लोकांना ते हवे आहेत.

अर्थात, “एलपीजी सपोर्ट” चे कार्य दोन भागात मोडते:

  1. आरडीएफ मॉडेलमध्ये बदल करणे ज्यामुळे एलपीजी संरचनांचे अनुकरण करणे शक्य होते;
  2. RDF क्वेरी भाषेत बदल करणे ज्यामुळे या सुधारित मॉडेलमधील डेटामध्ये प्रवेश करणे शक्य होते किंवा लोकप्रिय LPG क्वेरी भाषांमध्ये या मॉडेलवर क्वेरी करण्याची क्षमता लागू करणे.

V.1. डेटा मॉडेल

येथे अनेक संभाव्य दृष्टिकोन आहेत.

V.1.1. सिंगलटन प्रॉपर्टी

आरडीएफ आणि एलपीजीचा ताळमेळ साधण्याचा सर्वात शाब्दिक दृष्टिकोन आहे सिंगलटन मालमत्ता:

  • त्याऐवजी, उदाहरणार्थ, 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.

"LPG सपोर्ट" ची समस्या येथे RDFS स्तरावर सोडवली जाते. अशा निर्णयासाठी योग्य मध्ये समावेश करणे आवश्यक आहे मानक. RDF स्टोअर्ससाठी काही बदल आवश्यक असू शकतात जे संलग्न परिणामांना समर्थन देतात, परंतु आत्तासाठी, सिंगलटन प्रॉपर्टीला फक्त दुसरे मॉडेलिंग तंत्र मानले जाऊ शकते.

V.1.2. रीफिकेशन योग्य झाले

कमी निरागस दृष्टीकोन हे लक्षात येण्यापासून उद्भवते की मालमत्तेची उदाहरणे त्रिगुणांद्वारे पूर्णपणे तात्कालिक आहेत. त्रिगुणांबद्दल काही सांगण्यास सक्षम असल्याने, आम्ही मालमत्तेच्या उदाहरणांबद्दल बोलू शकू.

या दृष्टिकोनांपैकी सर्वात मजबूत आहे RDF*, उर्फ ​​RDR, जन्म ब्लेझग्राफच्या खोलीत. अगदी सुरुवातीपासूनच आहे निवडून आले स्वतःसाठी आणि AnzoGraph साठी. दृष्टिकोनाची दृढता त्याच्या चौकटीत असलेल्या वस्तुस्थितीद्वारे निश्चित केली जाते देऊ केले मध्ये संबंधित बदल आरडीएफ अर्थशास्त्र. मुद्दा मात्र अत्यंत सोपा आहे. RDF च्या टर्टल सिरियलायझेशनमध्ये तुम्ही आता असे काहीतरी लिहू शकता:

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

V.1.3. इतर दृष्टिकोन

तुम्हाला औपचारिक शब्दार्थांचा त्रास होऊ शकत नाही, परंतु फक्त असे गृहीत धरा की ट्रिपलेटमध्ये काही विशिष्ट अभिज्ञापक आहेत, जे अर्थातच यूआरआय आहेत आणि या यूआरआयसह नवीन ट्रिपलेट तयार करा. फक्त SPARQL मध्ये या URI ला प्रवेश देणे बाकी आहे. तर पोहोचते स्टारडॉग.

अॅलेग्रोग्राफमध्ये गेला मध्यंतरी मार्गाने. हे ज्ञात आहे की अॅलेग्रोग्राफमध्ये ट्रिपलेट आयडेंटिफायर्स आहे, परंतु तिहेरी गुणधर्म लागू करताना ते चिकटत नाहीत. तथापि, ते अद्याप औपचारिक शब्दार्थापासून खूप दूर आहे. हे लक्षात घेण्यासारखे आहे की ट्रिपलेट विशेषता URI नाहीत आणि या गुणधर्मांची मूल्ये देखील केवळ शाब्दिक असू शकतात. LPG अनुयायांना जे हवे होते तेच मिळते. खास शोधलेल्या NQX फॉरमॅटमध्ये, RDF* साठी वरील प्रमाणेच एक उदाहरण असे दिसते:

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

V.2. प्रश्न भाषा

मॉडेल स्तरावर एलपीजीला एकप्रकारे किंवा दुसर्‍या मार्गाने सपोर्ट केल्यामुळे, तुम्हाला अशा मॉडेलमधील डेटावर क्वेरी करणे शक्य करणे आवश्यक आहे.

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

  • Anzograph देखील समर्थन करते स्पार्कल* आणि समर्थन करणार आहे सायफर, Neo4j मधील क्वेरी भाषा.
  • स्टारडॉग स्वतःचे समर्थन करतो विस्तार स्पार्कल आणि पुन्हा ग्रेमलिन. तुम्ही 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 मध्ये थांबले.

सहावा. परवाने कडक करणे

Никаких прибавлений в пересечении множеств «triplestore of choice» и «open source triplestore» в последнее время не случалось. Новым RDF-хранилищам с открытым исходным кодом далеко до того, чтобы стать хорошим выбором для повседневного использования, а исходный код новых RDF-хранилищ, которые хотелось бы поиспользовать (того же AnzoGraph), закрыт. Скорее можно говорить даже об убавлениях…

अर्थात, ओपन सोर्स भूतकाळात बंद केले गेले नव्हते, परंतु काही ओपन सोर्स रिपॉझिटरीज यापुढे निवडण्यासारखे दिसत नाहीत. व्हर्चुओसो, ज्याची ओपनसोर्स आवृत्ती आहे, माझ्या मते, बगमध्ये बुडत आहे. ब्लेझग्राफ AWS ने विकत घेतला आणि Amazon Neptune चा आधार तयार केला; आता आणखी किमान एक रिलीज होईल की नाही हे स्पष्ट नाही. उरली फक्त जेना...

जर ओपन सोर्स फार महत्वाचे नसेल, परंतु तुम्हाला ते वापरून पहायचे असेल, तर सर्व काही पूर्वीपेक्षा कमी गुलाबी आहे. उदाहरणार्थ:

  • स्टारडॉग थांबते विनामूल्य आवृत्ती वितरित करा (तथापि, नियमित आवृत्तीचा चाचणी कालावधी दुप्पट झाला आहे);
  • в ग्राफडीबी क्लाउड, где раньше можно было выбрать бесплатный базовый план, приостановлена регистрация новых пользователей .

सर्वसाधारणपणे, सरासरी आयटी व्यक्तीसाठी, जागा अधिकाधिक दुर्गम होत चालली आहे; तिचा विकास कॉर्पोरेशनचा मोठा बनत आहे.

स्त्रोत: www.habr.com

एक टिप्पणी जोडा