Semantic Web සහ Linked Data යනු අභ්යවකාශයට සමාන ය: එහි ජීවයක් නොමැත. අඩු වැඩි කාලයක් එහි යාමට... "මට ගගනගාමියෙකු වීමට අවශ්යයි" යන ප්රතිචාරයට ඔවුන් කුඩා කාලයේ ඔබට කීවේ කුමක්දැයි මම නොදනිමි. නමුත් ඔබට පෘථිවියේ සිටියදී සිදුවන දේ නිරීක්ෂණය කළ හැකිය; ආධුනික තාරකා විද්යාඥයෙකු වීමට හෝ වෘත්තිකයෙකු වීමට පවා වඩා පහසුය.
ලිපිය RDF ආචයන ලෝකයේ මෑත කාලීන, මාස කිහිපයකට වඩා පැරණි නොවන ප්රවණතා කෙරෙහි අවධානය යොමු කරනු ඇත. පළමු ඡේදයේ රූපකය කැපුමට යටින් ඇති එපික් ප්රමාණයේ වෙළඳ ප්රචාරණ රූපයෙන් ආභාෂය ලබා ඇත.
I. RDF ප්රවේශය සඳහා GraphQL
කොටුවෙන් පිටත මෙම අවස්ථාව සපයනු ලබන්නේ:
ගබඩාව එවැනි අවස්ථාවක් ලබා නොදෙන්නේ නම්, සුදුසු "විසඳුමක්" ලිවීමෙන් ස්වාධීනව ක්රියාත්මක කළ හැකිය. උදාහරණයක් ලෙස ප්රංශ ව්යාපෘතියේදී ඔවුන් කළේ මෙයයි
Semantic Web සහ Linked Data හි ඕතඩොක්ස් අනුගාමිකයෙකුගේ දෘෂ්ටි කෝණයෙන් බලන කල, මේ සියල්ල ඇත්ත වශයෙන්ම කණගාටුදායක ය, මන්ද එය ඊළඟ දත්ත සිලෝ වටා ගොඩනගා ඇති ඒකාබද්ධ කිරීම් සඳහා නිර්මාණය කර ඇති අතර සුදුසු වේදිකා නොවේ (RDF ගබඩා, ඇත්ත වශයෙන්ම) .
GraphQL SPARQL සමඟ සංසන්දනය කිරීමෙන් ලැබෙන හැඟීම් දෙගුණයක් වේ.
- එක් අතකින්, GraphQL SPARQL හි දුරස්ථ ඥාතියෙකු ලෙස පෙනේ: එය නැවත නියැදීමේ ගැටළු සහ REST සඳහා සාමාන්ය බහු විමසුම් විසඳයි - එසේ නොමැතිව, බොහෝ විට, එය සලකා බැලීමට නොහැකි වනු ඇත. විමසුම් භාෂාව, අවම වශයෙන් වෙබ් සඳහා;
- අනෙක් අතට, GraphQL හි දෘඩ සැලැස්ම බලාපොරොත්තු සුන් කරයි. ඒ අනුව, RDF හි පූර්ණ ප්රත්යාවර්තකත්වයට සාපේක්ෂව එහි “අන්තර්විවේචනය” ඉතා සීමිත බව පෙනේ. දේපල මාර්ගවල ප්රතිසමයක් නොමැත, එබැවින් එය “ප්රස්තාරය” වන්නේ මන්දැයි පවා පැහැදිලි නැත.
II. MongoDB සඳහා ඇඩප්ටර
පෙර ප්රවණතාවයට අනුපූරක ප්රවණතාවක්.
- දැන් Stardog හි
විය හැකිය - විශේෂයෙන්ම, සියල්ලම එකම GraphQL මත - MongoDB දත්ත අථත්ය RDF ප්රස්ථාරවලට සිතියම්ගත කිරීම වින්යාස කරන්න; - Ontotext GraphDB මෑතකදී ඇත
එය ඉඩ MongoDB විමසුමේ SPARQL වෙත කොටස් ඇතුල් කරන්න.
RDF ලෙස මෙම මූලාශ්රවල ගබඩා කර ඇති JSON නියෝජනය කිරීමට වැඩි හෝ අඩුවෙන් "පියාඹන විට" ඉඩ සලසන JSON මූලාශ්ර වෙත ඇඩප්ටර ගැන අපි වඩාත් පුළුල්ව කතා කරන්නේ නම්, අපට තරමක් දිගුකාලීනව සිහිපත් කළ හැකිය.
පළමු ප්රවණතා දෙක සාරාංශගත කරමින්, RDF ගබඩාවන් “බහු භාෂා කල්පවත්නා” තත්වයන් තුළ ඒකාබද්ධ කිරීම සහ ක්රියාත්මක කිරීම සඳහා පූර්ණ සූදානම පෙන්නුම් කරන බව අපට පැවසිය හැකිය. කෙසේ වෙතත්, මෙම දෙවැන්න දිගු කලක් විලාසිතාවෙන් බැහැර වී ඇති අතර එය ප්රතිස්ථාපනය වෙමින් පවතින බව දන්නා කරුණකි
කෙටියෙන් කිවහොත්, ක්රමයක් නැත. බහු මාදිලියේ DBMS මාතෘකාව සඳහා වෙනම ලිපියක් කැප කිරීමට මම කැමතියි, නමුත් දැනට ප්රස්ථාර ආකෘතියක් මත "පදනම්" බහු-ආකෘති DBMS නොමැති බව සටහන් කළ හැකිය (RDF එහි වර්ගයක් ලෙස සැලකිය හැකිය) . සමහර කුඩා බහු-ආකෘති - විකල්ප LPG ප්රස්ථාර ආකෘතියක් සඳහා RDF ගබඩා සහාය - සාකච්ඡා කරනු ඇත
III. OLTP එදිරිව OLAP
කෙසේ වෙතත්, එකම ගාට්නර්
නමුත් OLTP-OLAP පරිමාණයෙන් RDF ගබඩා පිහිටා ඇත්තේ කොහේද? මම මේ ආකාරයෙන් පිළිතුරු දෙන්නෙමි: එහි හෝ මෙහි නැත. ඒවා අදහස් කරන්නේ කුමක් සඳහාද යන්න දැක්වීමට, තුන්වන කෙටි යෙදුමක් අවශ්ය වේ. විකල්පයක් ලෙස මම යෝජනා කරමි OLIP - මාර්ගගත බුද්ධිමය සැකසුම්.
කෙසේ වෙතත්, තවමත්:
- GraphDB හි ක්රියාත්මක කරන ලද MongoDB සමඟ ඒකාබද්ධ කිරීමේ යාන්ත්රණ අවම නොවේ
අදහස් කර ඇත කාර්ය සාධන ගැටළු ලිවීමට කටයුතු කිරීමට; - ස්ටාර්ඩෝග් තව දුරටත් හා සම්පූර්ණයෙන්ම ගමන් කරයි
නැවත ලියයි එන්ජිම, නැවතත් පටිගත කිරීමේ කාර්ය සාධනය වැඩි දියුණු කිරීමේ අරමුණින්.
දැන් මම නව ක්රීඩකයෙකු වෙළඳපොළට හඳුන්වා දෙන්නම්. IBM Netezza සහ Amazon Redshift හි නිර්මාතෘවරුන්ගෙන් -
SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { … }
IV. රොක්ස්ඩීබී
දැනටමත් ඉහළයි
පළමුව, විනිශ්චය කිරීම
දෙවනුව, RocksDB හි අදාළ මාතෘකා පිළිබඳ ව්යාපෘති (එනම් නිෂ්පාදන නොවේ) නිර්මාණය වේ.
උදාහරණයක් ලෙස, eBay RocksDB භාවිතා කරයි
තවත් උදාහරණයක් - මාස කිහිපයකට පෙර දර්ශනය වූ එකක්
V. LPG සහාය
LPG ප්රස්ථාර සහ RDF ප්රස්ථාර අතර ඇති ප්රධාන වෙනස මම ඔබට මතක් කර දෙන්නම්.
LPG වලදී, අදිශ ගුණාංග දාර අවස්ථාවන්ට පැවරිය හැකි අතර, RDF හි ඒවා දාර "වර්ග" වලට පමණක් පැවරිය හැකිය (නමුත් අදිශ ගුණාංග පමණක් නොව සාමාන්ය සම්බන්ධතා ද). LPG හා සසඳන විට RDF හි මෙම සීමාව
නිසැකවම, "LPG ආධාරක" කාර්යය කොටස් දෙකකට වැටේ:
- එය තුළ LPG ව්යුහයන් අනුකරණය කිරීමට හැකි වන පරිදි RDF ආකෘතියේ වෙනස්කම් සිදු කිරීම;
- මෙම නවීකරණය කරන ලද ආකෘතියේ දත්ත වෙත ප්රවේශ වීමට හැකි වන පරිදි 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 මට්ටමින් මෙහි විසඳනු ලැබේ. එවැනි තීරණයක් සුදුසු පරිදි ඇතුළත් කිරීම අවශ්ය වේ
V.1.2. නැවත සකස් කිරීම නිවැරදිව සිදු කර ඇත
අඩු බොළඳ ප්රවේශයන් ඇති වන්නේ දේපල අවස්ථා ත්රිත්ව මගින් සම්පූර්ණයෙන්ම අස්ථායී බව අවබෝධ කර ගැනීමෙනි. තෙරුවන් ගැන යමක් පැවසීමට හැකි වීමෙන්, දේපල අවස්ථා ගැන කතා කිරීමට අපට හැකි වනු ඇත.
මෙම ප්රවේශයන් අතරින් වඩාත්ම ශක්තිමත් වේ
<<:bob :isMarriedTo :alice>> :since "2013-09-13"^^xsd:date .
V.1.3. වෙනත් ප්රවේශයන්
ඔබට විධිමත් අර්ථ ශාස්ත්රය ගැන කරදර විය නොහැක, නමුත් ත්රිත්වවලට නිශ්චිත හඳුනාගැනීම් ඇති බව උපකල්පනය කරන්න, ඒවා ඇත්තෙන්ම URIs වන අතර මෙම URI සමඟ නව ත්රිත්ව නිර්මාණය කරන්න. ඉතිරිව ඇත්තේ SPARQL හි මෙම URI වෙත ප්රවේශය ලබා දීම පමණි. ඒ නිසා
Allegrograph හි
:bob :marriedTo :alice {"since" : "2013-09-13"}
V.2. විමසුම් භාෂා
ආදර්ශ මට්ටමින් එක් ආකාරයකින් හෝ වෙනත් ආකාරයකින් LPG සඳහා සහය දැක්වීමෙන්, එවැනි ආකෘතියක දත්ත පිළිබඳ විමසීම් කිරීමට ඔබට හැකි විය යුතුය.
SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }
- Anzograph ද සහාය දක්වයි
SPARQL* සහ සහාය දීමට යයිසයිෆර් , Neo4j හි විමසුම් භාෂාවකි. - Stardog තමන්ගේම සහාය දක්වයි
පුළුල් කිරීම SPARQL සහනැවතත් ග්රෙම්ලින්. ඔබට මෙවැනි දෙයක් භාවිතයෙන් SPARQL හි ත්රිත්ව URI සහ "meta-information" ලබා ගත හැක:
SELECT * {
BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)
?id :since ?since
}
- ඇලෙග්රෝග්රැෆ් ද එහි ම සහාය දක්වයි
පුළුල් කිරීම 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