اکنون در مورد مخازن RDF چه خبر است؟

وب معنایی و داده های پیوندی مانند فضای بیرونی هستند: در آنجا زندگی وجود ندارد. برای رفتن به آنجا برای مدت کم و بیش طولانی... نمی دانم در کودکی در پاسخ به «من می خواهم فضانورد شوم» به شما چه می گفتند. اما شما می توانید آنچه را که روی زمین اتفاق می افتد تماشا کنید. تبدیل شدن به یک ستاره شناس آماتور یا حتی یک حرفه ای بسیار آسان تر است.

این مقاله بر روی روندهای تازه دنیای ذخیره سازی RDF تمرکز خواهد کرد که بیش از چند ماه قدمت ندارد. استعاره در پاراگراف اول از یک تصویر تبلیغاتی حماسی در زیر برش الهام گرفته شده است.


عکس حماسی

اکنون در مورد مخازن RDF چه خبر است؟

I. GraphQL برای دسترسی RDF

میگویندکه GraphQL ادعا می کند که زبان جهانی دسترسی به پایگاه داده است. و در مورد توانایی دسترسی با استفاده از GraphQL به RDF چطور؟

خارج از جعبه، این فرصت توسط:

اگر مخزن چنین فرصتی را فراهم نکند، به طور مستقل با نوشتن "resolver" (resolver) مناسب پیاده سازی می شود. مثلاً در پروژه فرانسوی این کار انجام شد توریسم داده. یا از قبل نمی توانید چیزی بنویسید، اما فقط بگیرید HyperGraphQL.

از دیدگاه یک طرفدار متعارف وب معنایی و داده های پیوندی، همه اینها البته غم انگیز است، زیرا به نظر می رسد برای ادغام های ساخته شده در اطراف سیلو داده بعدی و پلتفرم های نامناسب (البته ذخیره سازی RDF) در نظر گرفته شده است. .

برداشت های حاصل از مقایسه GraphQL با SPARQL دو برابر است.

  • از یک طرف، GraphQL شبیه یکی از بستگان دور SPARQL به نظر می رسد: مشکلات انتخاب مجدد و پرس و جوهای متعددی را که برای REST معمولی هستند را حل می کند - بدون آن، احتمالاً نمی توان در نظر گرفت. زبان پرس و جوحداقل برای وب؛
  • از سوی دیگر، طرح سفت و سخت GraphQL را ناراحت می کند. بر این اساس، "درون نگری" آن در مقایسه با انعکاس کامل RDF بسیار محدود به نظر می رسد. و هیچ مشابهی از مسیرهای دارایی وجود ندارد، بنابراین حتی خیلی واضح نیست که چرا "Graph-" است.

II. آداپتورهای MongoDB

روندی مکمل روند قبلی.

  • اکنون در استارداگ شاید - به ویژه، همه در یک GraphQL - نمایش داده های MongoDB را در نمودارهای RDF مجازی پیکربندی کنید.
  • Ontotext GraphDB اخیرا اجازه می دهد تا در قطعات SPARQL در Query MongoDB قرار دهید.

اگر به طور گسترده تر صحبت کنیم، در مورد آداپتورهایی به منابع JSON که کم و بیش به "در حال پرواز" اجازه می دهند JSON ذخیره شده در این منابع را به عنوان RDF نشان دهند، می توانیم منبع موجود را برای مدتی طولانی به یاد بیاوریم. SPARQL ایجاد کنیدکه قابل تنظیم است مثلا، به آپاچی ینا.

با جمع بندی دو روند اول، می توان گفت که مخازن RDF آمادگی کامل برای یکپارچه سازی و عملکرد در شرایط "ذخیره سازی چندگانه" (تداوم چند زبانه) را نشان می دهند. با این حال، مشخص است که این دومی مدتهاست که از مد افتاده است و جایگزین آن شده است آینده چند مدل سازی و در مورد چند مدل سازی در دنیای ذخیره سازی RDF چطور؟

خلاصه به هیچ وجه. من می خواهم مقاله جداگانه ای را به موضوع DBMS چند مدل اختصاص دهم، اما در حال حاضر می توانید ببینید که DBMS چند مدلی "بر اساس" مدل نمودار وجود ندارد (RDF را می توان تغییری از آن در نظر گرفت). در مورد برخی مدل‌سازی‌های چندگانه کوچک - پشتیبانی توسط ذخیره‌سازی‌های RDF از یک مدل نمودار جایگزین LPG - در این مقاله مورد بحث قرار خواهد گرفت. بخش V.

III. OLTP در مقابل OLAP

با این حال، همان گارتنر می نویسد:که مدل سازی چندگانه در درجه اول یک شرط ضروری است اتاق های عمل DBMS. این قابل درک است: در وضعیت "ذخیره سازی چندگانه"، مشکلات اصلی با تراکنشی به وجود می آیند.

اما مخازن RDF در کجای مقیاس OLTP-OLAP قرار دارند؟ من اینطور جواب می دهم: نه آنجا و نه اینجا. برای نشان دادن اینکه آنها برای چه چیزی در نظر گرفته شده اند، یک علامت اختصاری سوم مورد نیاز است. به عنوان یک گزینه من پیشنهاد می کنم OLIP - پردازش فکری آنلاین.

با این حال، هنوز:

  • مکانیسم‌های یکپارچه‌سازی پیاده‌سازی شده در GraphDB با MongoDB کم اهمیت نیستند مورد نظر برای کار در مورد مسائل مربوط به عملکرد نوشتن؛
  • Stardog حتی فراتر و کاملتر می رود بازنویسی می کند موتور، دوباره با هدف بهبود عملکرد نوشتن.

و حالا اجازه دهید یک بازیکن جدید را به بازار معرفی کنم. از سازندگان IBM Netezza و Amazon Redshift - AnzoGraph™. تصویری از تبلیغ یک محصول بر اساس آن در ابتدای مطلب قرار داده شد. AnzoGraph خود را به عنوان یک راه حل GOLAP قرار می دهد. چگونه SPARQL را با توابع پنجره دوست دارید؟ -

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

IV. RocksDB

بالاتر از قبل یک لینک وجود داشت به اعلام Stardog 7 Beta، که گفته بود Stardog قرار است از RocksDB به عنوان یک سیستم ذخیره سازی زیربنایی استفاده کند - ذخیره سازی key-value، فورک فیس بوک LevelDB گوگل. چرا ارزش صحبت در مورد یک روند خاص را دارد؟

اول، قضاوت بر اساس مقاله ویکی پدیا، نه تنها مخازن RDF به RocksDB "پیوند" می شوند. پروژه هایی برای استفاده از RocksDB به عنوان موتور ذخیره سازی در ArangoDB، MongoDB، MySQL و MariaDB، Cassandra وجود دارد.

ثانیا، پروژه ها (یعنی نه محصولات) موضوع مربوطه در RocksDB ساخته می شوند.

به عنوان مثال، eBay از RocksDB در استفاده می کند بستر های نرم افزاری برای "گراف دانش" شما. به هر حال، خواندن آن خنده دار است: زبان پرس و جو به عنوان یک قالب خانگی شروع شد، اما اخیراً در حال تغییر است و بسیار شبیه SPARQL است.. مثل یک شوخی: مهم نیست که چقدر نمودار دانش انجام می دهیم، باز هم RDF دریافت می کنیم.

مثال دیگری - چند ماه پیش ظاهر شد سرویس پرس و جو تاریخچه ویکی داده. قبل از معرفی، اطلاعات تاریخی ویکی داده باید از طریق آن قابل دسترسی بود MWAPI به API استاندارد Mediawiki. اکنون در SPARQL خالص خیلی چیزها امکان پذیر است. "زیر کاپوت" نیز RocksDB وجود دارد. به هر حال، WDHQS این کار را انجام داد، به نظر می رسد شخصی که در وارد کردن Freebase به نمودار دانش گوگل نقش داشته است.

V. پشتیبانی LPG

اجازه دهید تفاوت اصلی بین نمودارهای LPG و نمودارهای RDF را به شما یادآوری کنم.

در LPG، خواص اسکالر را می توان به نمونه های لبه متصل کرد، در حالی که در RDF آنها را فقط می توان به "انواع" لبه ها متصل کرد (اما نه تنها ویژگی های اسکالر، بلکه لینک های معمولی). این محدودیت RDF در مقایسه با LPG غلبه بر نوعی تکنیک مدل سازی غلبه بر محدودیت های LPG در مقایسه با RDF دشوارتر است، اما نمودارهای LPG بیشتر شبیه تصاویر کتاب درسی هراری هستند تا نمودارهای RDF، بنابراین مردم آنها را می خواهند.

بدیهی است که وظیفه "پشتیبانی از LPG" به دو بخش تقسیم می شود:

  1. ایجاد تغییراتی در مدل RDF که شبیه سازی سازه های LPG را در آن ممکن می سازد.
  2. ایجاد تغییراتی در زبان پرس و جوی RDF که دسترسی به داده ها را در این مدل اصلاح شده ممکن می کند، یا پیاده سازی قابلیت پرس و جو از این مدل در زبان های رایج پرس و جو LPG.

V.1. مدل داده

چندین رویکرد ممکن در اینجا وجود دارد.

V.1.1. ملک تک تن

لفظی ترین رویکرد برای هماهنگ کردن RDF و LPG احتمالاً است ملک تک تن:

  • به جای مثلاً محمول :isMarriedTo محمول ها استفاده می شود :isMarriedTo1, :isMarriedTo2 و t د.
  • سپس این محمول ها موضوع سه قلوهای جدید می شوند: :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. Reification درست انجام شد

رویکردهای کمتر ساده لوحانه ناشی از این درک است که نمونه های دارایی کاملاً توسط سه قلوها نمونه سازی می شوند. با توانایی صحبت در مورد سه قلوها، می توانیم در مورد مصادیق ملک نیز صحبت کنیم.

محکم ترین این رویکردها است RDF*با نام مستعار RDR، بدنیا آمدن در روده Blazegraph. از اول است انتخاب شده است برای خودم و انزوگراف استحکام رویکرد با این واقعیت تعیین می شود که در چارچوب آن ارایه شده تغییرات مربوطه در معناشناسی RDF. نکته اما بسیار ساده است. در سریال سازی لاک پشت RDF، اکنون می توانید چیزی شبیه به این بنویسید:

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

V.1.3. رویکردهای دیگر

شما نمی توانید به معنای شناسی رسمی دست یابید، بلکه به سادگی در نظر بگیرید که سه گانه ها دارای شناسه هایی هستند که البته URI هستند و با این URI ها سه گانه جدید بسازید. تنها چیزی که باقی می ماند این است که به این URI ها در SPARQL دسترسی داشته باشیم. بنابراین می رسد سگ ستاره ای

در Allegrograph رفت به روشی میانی مشخص است که شناسه های سه قلوها در Allegrograph وجود دارد، اما هنگامی که ویژگی های سه گانه پیاده سازی می شوند، از بین نمی روند. با این حال، حتی معناشناسی رسمی نیز بسیار دور است. قابل ذکر است که ویژگی های سه گانه URI نیستند و مقادیر این ویژگی ها نیز فقط می توانند تحت اللفظی باشند. طرفداران LPG دقیقاً همان چیزی را که می خواستند به دست می آورند. در فرمت NQX که مخصوصاً اختراع شده است، یک مثال مشابه با نمونه بالا برای RDF* به شکل زیر است:

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

V.2. زبان های پرس و جو

با پشتیبانی از LPG به یک روش در سطح مدل، باید امکان جستجوی داده ها را در چنین مدلی فراهم کنید.

  • Blazegraph برای پرس و جوهای RDF* پشتیبانی می کند SPARQL* и گرمیلی. یک کوئری SPARQL* به شکل زیر است:

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

  • آنزوگراف نیز پشتیبانی می کند SPARQL* و قراره حمایت کنه رمز، زبان پرس و جو در Neo4j.
  • Stardog خودش را حفظ می کند بزرگ شدن SPARQL و از نو موجود خیالی. شما می توانید URI یک سه گانه و "متا اطلاعات" را در SPARQL با استفاده از چیزی شبیه به این دریافت کنید:

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

  • Allegrograph نیز خود را پشتیبانی می کند بزرگ شدن SPARQL:

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

اتفاقاً GraphDB یک بار بدون پشتیبانی از LPG از Tinkerpop/Gremlin پشتیبانی می کرد، اما در نسخه 8.0 یا 8.1 متوقف شد.

VI. تشدید مجوزها

اخیراً هیچ افزوده‌ای به تقاطع مجموعه‌های «فروشگاه سه‌گانه انتخابی» و «فروشگاه منبع باز» صورت نگرفته است. فروشگاه‌های RDF منبع باز جدید انتخاب خوبی برای استفاده روزمره نیستند و کد منبع برای فروشگاه‌های سه‌گانه جدیدی که می‌خواهم استفاده کنم (مثلا AnzoGraph) بسته است. بلکه می توان از کاهش ...

البته، منبع باز قبلی بسته نشده است، اما برخی از مخازن منبع باز به تدریج دیگر شایسته انتخاب تلقی نمی شوند. Virtuoso که یک نسخه متن باز دارد به نظر من غرق در باگ است. Blazegraph توسط AWS خریداری شد و اساس نپتون آمازون را تشکیل داد. اکنون مشخص نیست که آیا حداقل یک نسخه دیگر وجود خواهد داشت یا خیر. فقط جنا مونده...

اگر منبع باز خیلی مهم نیست، اما فقط می خواهید امتحان کنید، پس همه چیز نسبت به قبل کمتر گلگون است. مثلا:

  • سگ ستاره ای متوقف می شود نسخه رایگان را توزیع کنید (با این حال، دوره آزمایشی نسخه معمولی دو برابر شده است).
  • в GraphDB Cloud، جایی که قبلاً می توانستید طرح پایه رایگان را انتخاب کنید، ثبت نام کاربر جدید به حالت تعلیق درآمده است.

به طور کلی، فضا برای یک فرد عادی فناوری اطلاعات روز به روز غیر قابل دسترس تر می شود، توسعه آن در حال تبدیل شدن به بسیاری از شرکت ها است.

منبع: www.habr.com

اضافه کردن نظر