አሁን በRDF ማከማቻዎች ላይ ምን እየሆነ ነው?

የትርጉም ድር እና የተገናኘ ዳታ እንደ ውጫዊ ጠፈር ናቸው፡ እዚያ ምንም ሕይወት የለም። ብዙ ወይም ባነሰ ረጅም ጊዜ ወደዚያ ለመሄድ... “ጠፈርተኛ መሆን እፈልጋለሁ” ብለው በልጅነታቸው ምን እንደነገሩዎት አላውቅም። ነገር ግን በምድር ላይ በሚሆኑበት ጊዜ ምን እየተከሰተ እንዳለ መመልከት ይችላሉ; አማተር የሥነ ፈለክ ተመራማሪ ወይም እንዲያውም ባለሙያ መሆን በጣም ቀላል ነው።

ጽሑፉ ከበርካታ ወራት ያልበለጡ፣ ከዓለም የRDF ማከማቻ አዝማሚያዎች ላይ ያተኩራል። በመጀመሪያው አንቀጽ ላይ ያለው ዘይቤ ተመስጧዊ በሆነው በቁርጡ ስር ባለው እጅግ በጣም ግዙፍ የማስታወቂያ ምስል ነው።


ኢፒክ ስዕል

አሁን በRDF ማከማቻዎች ላይ ምን እየሆነ ነው?

I. GraphQL ለ RDF መዳረሻ

እነሱ አሉGraphQL ዓላማው ሁለንተናዊ የውሂብ ጎታ መዳረሻ ቋንቋ ለመሆን ነው። GraphQL በመጠቀም RDF የመድረስ ችሎታስ?

ከሳጥኑ ውጭ ይህ እድል የቀረበው በ:

ማከማቻው እንደዚህ አይነት እድል ካልሰጠ, ተገቢውን "መፍትሄ" በመጻፍ በተናጥል ሊተገበር ይችላል. ለምሳሌ በፈረንሣይ ፕሮጀክት ውስጥ ያደረጉት ይህንኑ ነው። ዳታቱሪዝም. ወይም ከአሁን በኋላ ምንም ነገር መጻፍ አይችሉም፣ ግን ዝም ብለው ይውሰዱ HyperGraphQL.

ከኦርቶዶክስ የትርጓሜ ድር እና የተገናኘ መረጃ አንፃር ፣ ይህ ሁሉ ፣ በእርግጥ ፣ የሚያሳዝን ነው ፣ ምክንያቱም በሚቀጥለው የውሂብ silo ዙሪያ ለተገነቡ ውህደቶች የተነደፈ ስለሚመስል ፣ እና ተስማሚ መድረኮች (አርዲኤፍ መደብሮች ፣ በእርግጥ) .

GraphQLን ከSPARQL ጋር በማነጻጸር ያለው ግንዛቤ ሁለት እጥፍ ነው።

  • በአንድ በኩል ፣ GraphQL የ SPARQL የሩቅ ዘመድ ይመስላል-ለ REST የተለመዱትን የመልሶ ማቋቋም እና የብዙ መጠይቆችን ችግሮች ይፈታል - ያለ እሱ ፣ ምናልባት ፣ ከግምት ውስጥ ማስገባት አይቻልም። የጥያቄ ቋንቋ, ቢያንስ ለድር;
  • በሌላ በኩል፣ የግራፍQL ግትር ንድፍ ተስፋ አስቆራጭ ነው። በዚህ መሠረት የእሱ "ውስጠ-ግንዛቤ" ከ RDF ሙሉ አንጸባራቂነት ጋር ሲነጻጸር በጣም የተገደበ ይመስላል. እና የንብረት ዱካዎች አናሎግ የለም, ስለዚህ ለምን "ግራፍ-" እንደሆነ እንኳን በጣም ግልጽ አይደለም.

II. ለMongoDB አስማሚዎች

ከቀዳሚው ጋር የሚጣመር አዝማሚያ።

  • አሁን በስታርዶግ ውስጥ ሊሆን ይችላል - በተለይም ሁሉም በተመሳሳይ GraphQL ላይ - የሞንጎዲቢ ውሂብን ካርታ ወደ ምናባዊ RDF ግራፎች ያዋቅሩ;
  • Ontotext GraphDB በቅርቡ አለው። ይህ ይፈቅዳል በሞንጎዲቢ መጠይቅ ላይ ቁርጥራጮችን ወደ SPARQL ያስገቡ።

በእነዚህ ምንጮች ውስጥ የተከማቸውን JSON እንደ RDF ለመወከል ብዙ ወይም ባነሰ “በመብረር ላይ” ስለሚፈቅዱ ስለ JSON ምንጮች አስማሚዎች በሰፊው ከተነጋገርን የረጅም ጊዜ የቆዩትን እናስታውሳለን። SPARQL አመንጭሊስተካከል የሚችል፣ ለምሳሌ, ወደ Apache Jena.

የመጀመሪያዎቹን ሁለት አዝማሚያዎች ማጠቃለል, የ RDF ማከማቻዎች በ "ፖሊግሎት ጽናት" ሁኔታዎች ውስጥ ለመዋሃድ እና ለመሥራት ሙሉ ዝግጁነት ያሳያሉ ማለት እንችላለን. ይሁን እንጂ ይህ የኋለኛው ከረዥም ጊዜ ጀምሮ ከፋሽን ወጥቷል, እና እየተተካ እንደሆነ ይታወቃል እየምጣ ባለብዙ ሞዴል. በ RDF ማከማቻ ዓለም ውስጥ ስለ ባለብዙ ሞዴሊንግስ?

በአጭሩ፣ በምንም መንገድ። ለባለብዙ-ሞዴል ዲቢኤምኤስ ርዕስ የተለየ መጣጥፍ መስጠት እፈልጋለሁ ፣ ግን ለአሁኑ በአሁኑ ጊዜ ምንም ባለብዙ-ሞዴል ዲቢኤምኤስ በግራፍ ሞዴል ላይ “የተመሰረቱ” አለመኖሩን ልብ ሊባል ይችላል (RDF እንደ እሱ ዓይነት ሊቆጠር ይችላል) . አንዳንድ ትንሽ ባለብዙ ሞዴሊንግ - RDF ማከማቻ ድጋፍ ለተለዋጭ LPG ግራፍ ሞዴል - በ ውስጥ ውይይት ይደረጋል ክፍል V.

III. OLTP vs. ኦላፕ

ሆኖም ግን, ተመሳሳይ ጋርትነር ሲል ጽፏልያ መልቲሞዴል በዋነኛነት ለ ሳይን ኳ ያልሆነ ሁኔታ ነው። የቀዶ ጥገና ክፍሎች ዲቢኤምኤስ ይህ ለመረዳት የሚቻል ነው: "ባለብዙ ማከማቻ" ሁኔታ ውስጥ, ዋና ችግሮች ግብይት ጋር ይነሳሉ.

ግን የ RDF ማከማቻዎች በ OLTP-OLAP ልኬት ላይ የት ይገኛሉ? እኔ በዚህ መንገድ እመልሳለሁ: እዚያም እዚህም የለም. የታሰቡትን ለማመልከት፣ አንዳንድ ሦስተኛው ምህጻረ ቃል ያስፈልጋል። እንደ አማራጭ ሀሳብ አቀርባለሁ። ኦሊፕ - የመስመር ላይ አእምሯዊ ሂደት።

ሆኖም፣ አሁንም፡-

  • በግራፍዲቢ ውስጥ የተተገበረው ከMongoDB ጋር ያለው የውህደት ስልቶች ትንሽ አይደሉም የታሰበ ነው። የአፈፃፀም ጉዳዮችን ለመጻፍ ዙሪያ ለመስራት;
  • ስታርዶግ የበለጠ እና ሙሉ በሙሉ ይሄዳል እንደገና ይጽፋል ሞተር, እንደገና የመቅዳት አፈጻጸምን ለማሻሻል ግብ ጋር.

አሁን አንድ አዲስ ተጫዋች ለገበያ ላስተዋውቅ። ከ IBM Netzza እና Amazon Redshift ፈጣሪዎች - አንዞግራፍ™. በጽሁፉ መጀመሪያ ላይ የአንድ ምርት ማስታወቂያ ምስል ተለጥፏል። አንዞግራፍ እራሱን እንደ GOLAP መፍትሄ አድርጎ ያስቀምጣል። SPARQLን ከመስኮት ተግባራት ጋር እንዴት ይወዳሉ? -

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

IV. RocksDB

ቀድሞውኑ ከፍ ያለ አገናኝ ነበር ስታርዶግ ሮክስ ዲቢን እንደ መሰረታዊ የማከማቻ ስርዓት ሊጠቀም ነው ያለው የስታርዶግ 7 ቤታ ማስታወቂያ - ቁልፍ እሴት ማከማቻ ፣ የጎግል ደረጃ ዲቢ የፌስቡክ ሹካ። ስለ አንድ የተወሰነ አዝማሚያ ማውራት ለምን ጠቃሚ ነው?

በመጀመሪያ ፣ በመመዘን Wikipedia articleየ RDF ማከማቻዎች ብቻ ሳይሆኑ ወደ RocksDB "የተተከሉ" ናቸው። በ ArangoDB፣ MongoDB፣ MySQL እና MariaDB፣ Cassandra ውስጥ RocksDB እንደ ማከማቻ ሞተር የሚጠቀሙ ፕሮጀክቶች አሉ።

በሁለተኛ ደረጃ፣ በሚመለከታቸው ርዕሰ ጉዳዮች ላይ ፕሮጀክቶች (ማለትም፣ ምርቶች አይደሉም) በRoksDB ላይ ተፈጥረዋል።

ለምሳሌ፣ ኢቤይ RocksDBን ይጠቀማል መድረክ ለእርስዎ "የእውቀት ግራፍ" በነገራችን ላይ ማንበብ ያስቃል፡- የጥያቄ ቋንቋው የተጀመረው እንደ ቤት ያደገ ቅርጸት ነው፣ ነገር ግን ከቅርብ ጊዜ ወዲህ እንደ SPARQL ይበልጥ እየተሸጋገረ ነው።. እንደ ቀልዱ: ምንም ያህል የእውቀት ግራፍ ብንሰራ, አሁንም በ RDF እንጨርሰዋለን.

ሌላ ምሳሌ - ከጥቂት ወራት በፊት የታየ የዊኪዳታ ታሪክ መጠይቅ አገልግሎት. ከመግቢያው በፊት የዊኪዳታ ታሪካዊ መረጃ ማግኘት ነበረበት MWAPI ወደ መደበኛው Mediawiki API አሁን በንጹህ SPARQL ብዙ ይቻላል. "በመከለያው ስር" በተጨማሪም RocksDB አለ። በነገራችን ላይ WDHQS የተሰራው ፍሪቤዝ ወደ ጎግል እውቀት ግራፍ ባመጣው ሰው ይመስላል።

V. LPG ድጋፍ

በ LPG ግራፎች እና RDF ግራፎች መካከል ያለውን ዋና ልዩነት ላስታውስዎ።

በኤልፒጂ ውስጥ የስክላር ባህርያት ወደ ጠርዝ አጋጣሚዎች ሊመደቡ ይችላሉ, በ RDF ውስጥ ግን "አይነቶችን" (ነገር ግን የመለኪያ ባህሪያት ብቻ ሳይሆን ተራ ግንኙነቶች) ብቻ ሊመደቡ ይችላሉ. ይህ የRDF ገደብ ከ LPG ጋር ሲነጻጸር ማሸነፍ አንድ ወይም ሌላ የሞዴል ዘዴ. ከ RDF ጋር ሲወዳደር የ LPG ውሱንነት ለማሸነፍ በጣም ከባድ ነው፣ ነገር ግን LPG ግራፎች ከ RDF ግራፎች ይልቅ ከሀረሪ መማሪያ መፅሃፍ ጋር ይመሳሰላሉ፣ ለዚህም ነው ሰዎች የሚፈልጉት።

በግልጽ እንደሚታየው የ “LPG ድጋፍ” ተግባር በሁለት ክፍሎች ይከፈላል-

  1. በውስጡ የ LPG አወቃቀሮችን ለመምሰል በሚያስችል የ RDF ሞዴል ላይ ለውጦችን ማድረግ;
  2. በዚህ በተሻሻለው ሞዴል ውስጥ ውሂብን ለመድረስ በሚያስችል የRDF መጠይቅ ቋንቋ ላይ ለውጦችን ማድረግ ወይም ለዚህ ሞዴል መጠይቆችን በታዋቂ LPG መጠይቅ ቋንቋዎች መተግበር።

V.1. የውሂብ ሞዴል

እዚህ ብዙ ሊሆኑ የሚችሉ አቀራረቦች አሉ.

V.1.1. የነጠላቶን ንብረት

RDF እና LPGን ለማስማማት በጣም ትክክለኛው አቀራረብ ምናልባት ሊሆን ይችላል። ነጠላ ንብረት:

  • በምትኩ, ለምሳሌ, ተሳቢው :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. ማሻሻያ በትክክል ተከናውኗል

ያነሱ የዋህነት አቀራረቦች የሚመነጩት የንብረት ሁኔታዎች በሶስትዮሽ ሙሉ በሙሉ ፈጣን መሆናቸውን ከመገንዘብ ነው። ስለ ትሪፕሎች አንድ ነገር ለመናገር በመቻላችን ስለ ንብረት ጉዳዮች ማውራት እንችላለን።

ከእነዚህ ዘዴዎች ውስጥ በጣም ጠንካራው አርዲኤፍ*፣ አርዲአር ፣ ተወለደ በ Blazegraph ጥልቀት ውስጥ. ገና ከመጀመሪያው ነው። ተመርጧል ለራስዎ እና ለአንዞግራፍ. የአቀራረብ ጥንካሬ የሚወሰነው በማዕቀፉ ውስጥ ባለው እውነታ ነው አቅርቧል ውስጥ ተዛማጅ ለውጦች RDF ትርጓሜ. ነጥቡ ግን እጅግ በጣም ቀላል ነው። በኤሊ የ RDF ተከታታይነት አሁን እንደዚህ ያለ ነገር መጻፍ ይችላሉ-

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

V.1.3. ሌሎች አቀራረቦች

በመደበኛ የትርጓሜ ትምህርት መጨነቅ አይችሉም፣ ነገር ግን በቀላሉ ሶስት ፕሌቶች የተወሰኑ መለያዎች እንዳሏቸው ያስቡ፣ እነሱም፣ በእርግጥ፣ ዩአርአይዎች፣ እና ከእነዚህ ዩአርአይዎች ጋር አዲስ ሶስት እጥፍ ይፈጥራሉ። የቀረው በSPARQL ውስጥ የእነዚህን ዩአርአይዎች መዳረሻ መስጠት ነው። ስለዚህ ይደርሳል ስታርዶግ

በአሌግሮግራፍ ሄደ በመካከለኛው መንገድ. በአሌግሮግራፍ ውስጥ የሶስትዮሽ መለያዎች መኖራቸው ይታወቃል ናትነገር ግን የሶስትዮሽ ባህሪያትን ሲተገብሩ አይቆዩም. ሆኖም፣ አሁንም ከመደበኛ የትርጓሜ ትምህርት በጣም የራቀ ነው። የሶስትዮሽ ባህሪያት ዩአርአይዎች አለመሆናቸው ትኩረት የሚስብ ነው ፣ እና የእነዚህ ባህሪዎች እሴቶች እንዲሁ ቃል በቃል ብቻ ሊሆኑ ይችላሉ። የ LPG ተከታዮች በትክክል የሚፈልጉትን ያገኛሉ። በልዩ የፈለሰፈው NQX ቅርጸት፣ ከላይ ካለው ጋር ተመሳሳይ የሆነ ምሳሌ ለ RDF* ይህን ይመስላል።

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

V.2. የጥያቄ ቋንቋዎች

በአምሳያው ደረጃ LPGን በአንድ ወይም በሌላ መንገድ ከደገፉ በእንደዚህ ዓይነት ሞዴል ውስጥ በመረጃ ላይ መጠይቆችን ማድረግ ያስፈልግዎታል።

  • Blazegraph ለ RDF* መጠይቆች ይደግፋል ስፓርክኤል* и Gremlin. የSPARQL* ጥያቄ ይህን ይመስላል፡-

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

  • አንዞግራፍም ይደግፋል ስፓርክኤል* እና ሊደግፍ ነው። ቀፎ፣ የጥያቄ ቋንቋ በNeo4j።
  • ስታርዶግ የራሱን ይደግፋል ማስፋፋት SPARQL እና እንደገና ግሬምሊን እንደዚህ ያለ ነገር በመጠቀም በSPARQL ውስጥ የሶስትዮሽ ዩአርአይ እና “ሜታ-መረጃ” ማግኘት ይችላሉ።

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

  • አሌግሮግራፍም የራሱን ይደግፋል ማስፋፋት ስፓርክኤል፡

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

በነገራችን ላይ ግራፍዲቢ በአንድ ጊዜ LPGን ሳይደግፍ Tinkerpop/Gremlinን ደግፏል፣ነገር ግን ይህ በስሪት 8.0 ወይም 8.1 ቆሟል።

VI. የፈቃድ ማጥበብ

በ"triplestore of choice" እና "open source triplestore" ስብስቦች መገናኛ ላይ በቅርብ ጊዜ የተጨመሩ ነገሮች የሉም። አዲሱ የክፍት ምንጭ RDF ማከማቻዎች ለዕለታዊ አጠቃቀም ጥሩ ምርጫ ከመሆን በጣም ሩቅ ናቸው፣ እና እኔ ልጠቀምባቸው የምፈልጋቸው አዲሶቹ ባለ ሶስት እጥፍ መደብሮች (እንደ አንዞግራፍ ያሉ) የተዘጉ ምንጮች ናቸው። ይልቁንስ ስለ መቀነስ ማውራት እንችላለን...

በእርግጥ ክፍት ምንጭ ከዚህ ቀደም አልተዘጋም ነገር ግን አንዳንድ የክፍት ምንጭ ማከማቻዎች ቀስ በቀስ እንደ ምርጫ አይታዩም። የክፍት ምንጭ እትም ያለው Virtuoso በእኔ አስተያየት በትልች ውስጥ ሰምጦ ነው። Blazegraph በ AWS የተገዛ እና የአማዞን ኔፕቱን መሠረት ፈጠረ; አሁን ቢያንስ አንድ ተጨማሪ መለቀቅ ይኑር አይኑር ግልፅ አይደለም። ጄና ብቻ ቀረች...

ክፍት ምንጭ በጣም አስፈላጊ ካልሆነ ፣ ግን እሱን መሞከር ይፈልጋሉ ፣ ከዚያ ሁሉም ነገር እንዲሁ ከበፊቱ ያነሰ ሮዝ ነው። ለምሳሌ:

  • ስታርዶግ ይቆማል ነፃውን ስሪት ማሰራጨት (ይሁን እንጂ የመደበኛ ስሪት የሙከራ ጊዜ በእጥፍ ጨምሯል);
  • в ግራፍዲቢ ደመና, ከዚህ ቀደም ነፃ መሰረታዊ እቅድ መምረጥ የሚችሉበት, አዲስ የተጠቃሚ ምዝገባዎች ታግደዋል.

በአጠቃላይ፣ ለአማካይ የአይቲ ሰው፣ ቦታ ከጊዜ ወደ ጊዜ ተደራሽ እየሆነ መጥቷል፣ እድገቱ የኮርፖሬሽኖች ዕጣ እየሆነ ነው።

ምንጭ: hab.com

አስተያየት ያክሉ