{"id":33363,"date":"2019-10-31T21:52:11","date_gmt":"2019-10-31T18:52:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/chto-sejchas-proishodit-s-rdf-hranilishhami\/"},"modified":"2019-10-31T21:52:11","modified_gmt":"2019-10-31T18:52:11","slug":"chto-sejchas-proishodit-s-rdf-hranilishhami","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","title":{"rendered":"Ce se \u00eent\u00e2mpl\u0103 acum cu depozitele RDF?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Web-ul Semantic \u0219i Linked Data sunt asem\u0103n\u0103toare cu spa\u021biul cosmic apropiat: acolo nu exist\u0103 via\u021b\u0103. Pentru a ajunge acolo pentru o perioad\u0103 mai lung\u0103 de timp... ei bine, nu \u0219tiu ce v-au spus \u00een copil\u0103rie c\u00e2nd a\u021bi spus \u201evreau s\u0103 fiu astronaut\u201d. Dar se poate observa ceea ce se \u00eent\u00e2mpl\u0103 \u0219i de pe P\u0103m\u00e2nt; s\u0103 devii astronom amator sau chiar profesionist este mult mai simplu.<\/p>\n<p><\/p>\n<p>Articolul se va concentra pe tendin\u021bele recente din lumea depozitelor RDF, care nu au mai mult de c\u00e2teva luni. Metafora din primul paragraf a fost inspirat\u0103 de o imagine publicitar\u0103 de dimensiuni epice.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<b class=\"spoiler_title\">Imagine epic\u0103<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Ce se \u00eent\u00e2mpl\u0103 acum cu depozitele RDF?\" src=\"\/wp-content\/uploads\/2019\/05\/3d157fb2f771f3dc622dacc8dab0a9ee.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h2 id=\"i-graphql-dlya-dostupa-k-rdf\">I. GraphQL pentru acces la RDF<\/h2>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.zdnet.com\/article\/graphql-for-databases-a-layer-for-universal-database-access\/\">Se spune<\/a><\/noindex>, pentru c\u0103 GraphQL pretinde c\u0103 va deveni un limbaj universal pentru accesul la baze de date. Dar cum stau lucrurile cu posibilitatea de acces folosind GraphQL la RDF?<\/p>\n<p><\/p>\n<p>Aceast\u0103 posibilitate este oferit\u0103 \u201edin cutie\u201d de:<\/p>\n<p><\/p>\n<ul>\n<li>Stardog (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/graphql-and-paths\/\">blog<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_executing_graphql_queries\">documenta\u021bia<\/a><\/noindex>);<\/li>\n<li>produsele TopQuadrant (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/2018\/07\/05\/graphql-webinar\/\">un webinar<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/technology\/graphql\/\">documenta\u021bia<\/a><\/noindex>).<\/li>\n<\/ul>\n<p><\/p>\n<p>Dac\u0103 depozitul nu ofer\u0103 aceast\u0103 posibilitate, aceasta poate fi implementat\u0103 manual, scriind un \u201erezolvitor\u201d corespunz\u0103tor. A\u0219a au procedat, de exemplu, \u00een proiectul francez <noindex><a rel=\"nofollow\" href=\"https:\/\/framagit.org\/datatourisme\/api\/tree\/master\/src\/Resolver\">DataTourisme<\/a><\/noindex>. Sau poate c\u0103 acum nu mai trebuie s\u0103 scrii nimic \u0219i pur \u0219i simplu s\u0103 iei <noindex><a rel=\"nofollow\" href=\"https:\/\/www.hypergraphql.org\/\">HyperGraphQL<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Din perspectiva unui sus\u021bin\u0103tor ortodox al Web-ului Semantic \u0219i Linked Data, toate acestea sunt, desigur, triste, deoarece par s\u0103 fie destinate integr\u0103rilor construite \u00een jurul unor noi silozuri de date, nu platformelor potrivite (desigur, depozitelor RDF).<\/p>\n<p><\/p>\n<p>Impresiile despre compararea GraphQL cu SPARQL sunt contradictorii.<\/p>\n<p><\/p>\n<ul>\n<li>Pe de o parte, GraphQL arat\u0103 ca un \u201erude \u00eendep\u0103rtat\u0103\u201d a SPARQL: rezolv\u0103 problemele tipice ale REST legate de suprasarcin\u0103 \u0219i de multiplicitatea cererilor \u2013 f\u0103r\u0103 de care, probabil, nu ar putea fi considerat <em>un limbaj de interogare<\/em>, chiar \u0219i pentru web;<\/li>\n<li>Pe de alt\u0103 parte, m\u0103 \u00eentristeaz\u0103 rigiditatea schema GraphQL. \u00cen consecin\u021b\u0103, \u201eintrospec\u021bia\u201d sa pare foarte limitat\u0103 comparativ cu reflexivitatea complet\u0103 a RDF. \u0218i nu exist\u0103 niciun echivalent al c\u0103ilor propriet\u0103\u021bii, a\u0219a c\u0103 nici nu este foarte clar de ce este denumit \u201eGraph-\u201d.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ii-adaptery-k-mongodb\">II. Adaptori pentru MongoDB<\/h2>\n<p><\/p>\n<p>O tendin\u021b\u0103 complementar\u0103 celei anterioare.<\/p>\n<p><\/p>\n<ul>\n<li>\u00een Stardog acum <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/native-mongodb-support-is-here\/\">se poate<\/a><\/noindex> \u2014 \u00een principal, tot pe acela\u0219i GraphQL \u2014 pentru a configura afi\u0219area datelor MongoDB \u00een grafuri RDF virtuale;<\/li>\n<li>GraphDB, de ceva vreme, <noindex><a rel=\"nofollow\" href=\"http:\/\/graphdb.ontotext.com\/documentation\/8.8\/standard\/integrating-graphdb-with-mongodb.html\">permite<\/a><\/noindex> \u00eenser\u00e2nd \u00een SPARQL fragmente \u00een interogarea MongoDB.<\/li>\n<\/ul>\n<p><\/p>\n<p>Dac\u0103 vorbim mai larg despre adaptoare pentru sursele JSON, care permit reprezentarea mai mult sau mai pu\u021bin \u201edin mers\u201d a JSON-ului stocat \u00een aceste surse ca RDF, ne putem aminti \u0219i de <noindex><a rel=\"nofollow\" href=\"https:\/\/ci.mines-stetienne.fr\/sparql-generate\/\">SPARQL Generate<\/a><\/noindex>, care poate fi instalat, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/sparql-generate\/sparql-generate\">de exemplu<\/a><\/noindex>, la Apache Jena.<\/p>\n<p><\/p>\n<p>Rezum\u00e2nd primele dou\u0103 tendin\u021be, se poate spune c\u0103 depozitele RDF demonstreaz\u0103 o disponibilitate total\u0103 pentru integrare \u0219i pentru func\u021bionarea \u00een condi\u021biile \u201estoc\u0103rii variate\u201d (polyglot persistence). Totu\u0219i, este cunoscut faptul c\u0103 aceast\u0103 ultim\u0103 tendin\u021b\u0103 nu mai este la mod\u0103, iar \u00een locul ei <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3105622\">urmeaz\u0103<\/a><\/noindex> multimodalitatea. Cum stau lucrurile cu multimodalitatea \u00een lumea depozitelor RDF?<\/p>\n<p><\/p>\n<p>Pe scurt, nu prea bine. Subiectul sistemelor de gestionare a bazelor de date multimodale ar merita un articol separat, deocamdat\u0103 se poate observa c\u0103 nu exist\u0103 sisteme de gestionare a bazelor de date multimodale \u201ebazate\u201d pe modelul grafic (o variant\u0103 a acestuia poate fi considerat\u0103 RDF). Se va discuta despre o oarecare mic\u0103 multimodalitate - suportul de c\u0103tre depozitele RDF al unui model grafic alternativ LPG - \u00een <noindex><a rel=\"nofollow\" href=\"#v-podderzhka-lpg\">sec\u021biunea V<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2 id=\"iii-oltp-vs-olap\">III. OLTP vs. OLAP<\/h2>\n<p><\/p>\n<p>Totu\u0219i, acela\u0219i Gartner <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3467318\">scrie<\/a><\/noindex>, c\u0103 multimodalitatea este o condi\u021bie sine qua non \u00een primul r\u00e2nd pentru <em>baze de date<\/em> opera\u021bionale. \u0218i este de \u00een\u021beles: \u00een situa\u021bia \u201estoc\u0103rii variate\u201d, principalele probleme apar cu tranzac\u021bionalitatea.<\/p>\n<p><\/p>\n<p>Dar unde se afl\u0103 depozitele RDF pe scala OLTP\u2014OLAP? A\u0219 r\u0103spunde astfel: nici \u00een st\u00e2nga, nici \u00een dreapta. Pentru a desemna ceea ce sunt destinate, este nevoie de un alt acronim. Ca variant\u0103, a\u0219 propune <em>OLIP<\/em> \u2014 Procesare Intelectual\u0103 Online.<\/p>\n<p><\/p>\n<p>Cu toate acestea:<\/p>\n<p><\/p>\n<ul>\n<li>mecanismele de integrare implementate \u00een GraphDB nu sunt \u00een ultimul r\u00e2nd <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ontotext.com\/company\/news\/ontotexts-graphdb-8-8-0-enriches-the-knowledge-graph-experience\/\">destinate<\/a><\/noindex> oferirii de solu\u021bii pentru problemele de performan\u021b\u0103 a scrierii;<\/li>\n<li>Stardog merge \u0219i mai departe \u0219i rescrie complet <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">motorul, tot cu scopul de a \u00eembun\u0103t\u0103\u021bi performan\u021ba scrierii.<\/a><\/noindex> Acum permite\u021bi-mi s\u0103 prezint un nou juc\u0103tor pe pia\u021b\u0103. de la creatorii IBM Netezza \u0219i Amazon Redshift \u2014<\/li>\n<\/ul>\n<p><\/p>\n<p>AnzoGraph <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/product\/anzograph\/\">. Imaginea din reclama produsului bazat pe acesta a fost publicat\u0103 la \u00eenceputul articolului. AnzoGraph se pozi\u021bioneaz\u0103 ca o solu\u021bie GOLAP. Ce zice\u021bi de SPARQL cu func\u021bii fereastr\u0103? \u2014<\/a><\/noindex>SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE {  \u2026  }<\/p>\n<p><\/p>\n<pre><code class=\"sql\">IV. RocksDB<\/code><\/pre>\n<p><\/p>\n<h2 id=\"iv-rocksdb\">Mai sus a fost<\/h2>\n<p><\/p>\n<p>o referin\u021b\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">la anun\u021bul Stardog 7 Beta, care men\u021biona c\u0103 Stardog inten\u021bioneaz\u0103 s\u0103 utilizeze ca sistem de stocare de baz\u0103 RocksDB - un depozit \u201echeie-valoare\u201d, un fork al Google LevelDB creat de Facebook. De ce merit\u0103 deja s\u0103 vorbim despre o oarecare tendin\u021b\u0103?<\/a><\/noindex> \u00cen primul r\u00e2nd, conform<\/p>\n<p><\/p>\n<p>articolului de pe Wikipedia <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/RocksDB#Alternative_backend\">, pe RocksDB \u201etrec\u201d nu doar depozitele RDF. Exist\u0103 proiecte care folosesc RocksDB ca motor de stocare \u00een ArangoDB, MongoDB, MySQL \u0219i MariaDB, Cassandra.<\/a><\/noindex>\u00cen al doilea r\u00e2nd, pe RocksDB sunt realizate proiecte (adic\u0103 nu produse) de tematica corespunz\u0103toare.<\/p>\n<p><\/p>\n<p>\u00cen al doilea r\u00e2nd, pe RocksDB se dezvolt\u0103 proiecte (adic\u0103 nu produse) de tematic\u0103 corespunz\u0103toare.<\/p>\n<p><\/p>\n<p>De exemplu, eBay folose\u0219te RocksDB \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/eBay\/beam\">platforma<\/a><\/noindex> pentru \u201egraful s\u0103u de cuno\u0219tin\u021be\u201d. Apropo, este amuzant s\u0103 cite\u0219ti: <em>limbajul de interogare a \u00eenceput ca un format creat intern, dar mai recent a \u00eenceput s\u0103 semene mult mai mult cu SPARQL<\/em>. Ca \u00een gluma aceea: c\u00e2\u021bi grafuri de cuno\u0219tin\u021be facem, tot RDF iese.<\/p>\n<p><\/p>\n<p>Un alt exemplu - ap\u0103rut cu c\u00e2teva luni \u00een urm\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.wikidata.org\/wiki\/Wikidata:History_Query_Service\">Wikidata History Query Service<\/a><\/noindex>. \u00cenainte de asta, pentru informa\u021bii istorice despre Wikidata trebuia s\u0103 apel\u0103m la <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mediawiki.org\/wiki\/Wikidata_Query_Service\/User_Manual\/MWAPI\">MWAPI<\/a><\/noindex> prin API-ul standard Mediawiki. Acum, multe sunt posibile \u00een SPARQL pur. \u201eSub capot\u0103\u201d este tot RocksDB. Apropo, WDHQS a fost realizat de cineva care s-a ocupat cu importul Freebase \u00een Google Knowledge Graph.<\/p>\n<p><\/p>\n<h2 id=\"v-podderzhka-lpg\">V. Suport pentru LPG<\/h2>\n<p><\/p>\n<p>Amintesc principalul diferent dintre grafurile LPG \u0219i cele RDF.<\/p>\n<p><\/p>\n<p>\u00cen LPG, instan\u021bele arcelor pot avea propriet\u0103\u021bi scalare ata\u0219ate, \u00een timp ce \u00een RDF acestea pot fi ata\u0219ate doar la \u201etipurile\u201d de arce (dar nu doar propriet\u0103\u021bi scalare, ci \u0219i rela\u021bii obi\u0219nuite). Aceast\u0103 limitare a RDF \u00een compara\u021bie cu LPG <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/swbp-n-aryRelations\/\">este dep\u0103\u0219it\u0103<\/a><\/noindex> prin diferite tehnici de modelare. Totu\u0219i, limitarea LPG \u00een compara\u021bie cu RDF este mai greu de dep\u0103\u0219it, dar grafurile LPG sunt mai asem\u0103n\u0103toare cu imaginile din manualul lui Harari, de aceea oamenii le doresc.<\/p>\n<p><\/p>\n<p>Evident, sarcina \u201esprijinirii LPG\u201d se \u00eemparte \u00een dou\u0103 p\u0103r\u021bi:<\/p>\n<p><\/p>\n<ol>\n<li>introducerea \u00een modelul RDF a modific\u0103rilor care permit imitarea structurilor LPG;<\/li>\n<li>introducerea \u00een limbajul de interogare RDF a modific\u0103rilor care permit accesul la date \u00een acest model modificat, sau realizarea posibilit\u0103\u021bii de a face interog\u0103ri \u00een acest model \u00een limbaje populare de interogare la LPG.<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"v1--model-dannyh\">V.1. Model de date<\/h3>\n<p><\/p>\n<p>Aici exist\u0103 c\u00e2teva abord\u0103ri posibile.<\/p>\n<p><\/p>\n<p><strong>V.1.1. Proprietatea Singleton<\/strong><\/p>\n<p><\/p>\n<p>Cea mai literal\u0103 abordare de armonizare a RDF \u0219i LPG este probabil, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC4350149\/\">proprietatea singleton<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li>\u00cen loc de, de exemplu, predicatul <code>:isMarriedTo<\/code> se folosesc predicatele <code>:isMarriedTo1<\/code>, <code>:isMarriedTo2<\/code> etc.<\/li>\n<li>Apoi, aceste predicate devin subiec\u021bi ai noilor triplete: <code>:isMarriedTo1 :since \"2013-09-13\"^^xsd:date<\/code> \u0219i altele.<\/li>\n<li>Leg\u0103tura acestor instan\u021be de predicate cu predicatul comun este stabilit\u0103 prin triplete de tipul <code>:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo<\/code>.<\/li>\n<li>Este evident c\u0103 <code>rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type<\/code>, dar g\u00e2ndi\u021bi-v\u0103 de ce nu ar trebui s\u0103 scrie\u021bi pur \u0219i simplu <code>:isMarriedTo1 rdf:type :isMarriedTo<\/code>.<\/li>\n<\/ul>\n<p><\/p>\n<p>Sarcina \u201esprijinirii LPG\u201d este rezolvat\u0103 aici la nivelul RDFS. Aceast\u0103 solu\u021bie necesit\u0103 introducerea \u00een cadrul <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf-schema\/\">standard<\/a><\/noindex>. Este posibil s\u0103 fie necesare modific\u0103ri de la depozitele RDF care suport\u0103 ata\u0219area efectelor, iar p\u00e2n\u0103 atunci, Singleton Property poate fi perceput pur \u0219i simplu ca o alt\u0103 tehnic\u0103 de modelare.<\/p>\n<p><\/p>\n<p><strong>V.1.2. Reificarea corect\u0103<\/strong><\/p>\n<p><\/p>\n<p>Abord\u0103rile mai pu\u021bin naive deriv\u0103 din con\u0219tientizarea c\u0103 instan\u021bele propriet\u0103\u021bilor pot fi cu adev\u0103rat instantiate prin triplete. Av\u00e2nd capacitatea de a spune ceva despre triplete, vom ob\u021bine \u0219i capacitatea de a vorbi despre instan\u021bele propriet\u0103\u021bilor.<\/p>\n<p><\/p>\n<p>Cea mai solid\u0103 dintre aceste abord\u0103ri este <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1409.3288\">RDF*<\/a><\/noindex>, cunoscut \u0219i ca RDR, <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">n\u0103scut<\/a><\/noindex> \u00een cadrul Blazegraph. Acesta a fost ales <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">de la bun \u00eenceput<\/a><\/noindex> pentru sine \u0219i AnzoGraph. Soliditatea abord\u0103rii este definit\u0103 de faptul c\u0103 \u00een cadrul s\u0103u <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1406.3399\">oferite<\/a><\/noindex> modific\u0103rile corespunz\u0103toare \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf11-mt\/\">Semantica RDF<\/a><\/noindex>. Esen\u021ba, totu\u0219i, este extrem de simpl\u0103. \u00cen serializarea Turtle a RDF, acum se va putea scrie aproximativ a\u0219a:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">&lt;&gt; :since \"2013-09-13\"^^xsd:date .<\/code><\/pre>\n<p><\/p>\n<p><strong>V.1.3. Alte abord\u0103ri<\/strong><\/p>\n<p><\/p>\n<p>Po\u021bi s\u0103 nu te complici cu semantica formal\u0103 \u0219i pur \u0219i simplu s\u0103 consideri c\u0103 tripletele au ni\u0219te identificatori, care sunt, desigur, URI, \u0219i s\u0103 compui noi triplete cu aceste URI. R\u0103m\u00e2ne doar s\u0103 acorzi acces la aceste URI \u00een SPARQL. A\u0219a <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_motivation_implementation\">din surse interne \u0219i observatori. O declara\u021bie oficial\u0103 pe aceast\u0103 tem\u0103 nu a fost \u00eenc\u0103 f\u0103cut\u0103.<\/a><\/noindex> Stardog. <\/p>\n<p><\/p>\n<p>\u00cen Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html\">au realizat<\/a><\/noindex> pe un drum intermediar. Este cunoscut c\u0103 identificatorii tripletelor \u00een Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-index.html\">are<\/a><\/noindex>, dar la implementarea atributelor triple \u00een exterior nu sunt expu\u0219i. Totu\u0219i, este departe de semantica formal\u0103. Notabil este c\u0103 atributelor tripletelor nu sunt URI, iar valorile acestor atribute pot fi \u0219i ele doar literaluri. Adep\u021bii LPG ob\u021bin exact ceea ce au dorit. \u00centr-un format special inventat NQX, un exemplu similar cu cel de mai sus pentru RDF* arat\u0103 astfel:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">:bob :marriedTo :alice {\"since\" : \"2013-09-13\"}<\/code><\/pre>\n<p><\/p>\n<h3 id=\"v2-yazyki-zaprosov\">V.2. Limbaje de interogare<\/h3>\n<p><\/p>\n<p>Sus\u021bin\u00e2nd LPG \u00eentr-un fel sau altul la nivelul modelului, trebuie s\u0103 oferim posibilitatea de a interoga datele \u00eentr-un astfel de model.<\/p>\n<p><\/p>\n<ul>\n<li>Blazegraph pentru interog\u0103rile RDF* suport\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">SPARQL*<\/a><\/noindex> \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/blazegraph\/tinkerpop3\/blob\/master\/README.md\">Gremlin<\/a><\/noindex>. O interogare SPARQL* arat\u0103 astfel:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\"> SELECT * { &lt;&gt; :since ?since }<\/code><\/pre>\n<p><\/p>\n<ul>\n<li>AnzoGraph de asemenea suport\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">SPARQL*<\/a><\/noindex> \u0219i inten\u021bioneaz\u0103 s\u0103 sus\u021bin\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/cambridge-semantics-adds-opencypher-anzograph-2\/\">Cypher<\/a><\/noindex>, limbajul de interogare \u00een Neo4j. <\/li>\n<li>Stardog suport\u0103 propriul s\u0103u <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_integration_with_sparql_2\">extensie<\/a><\/noindex> SPARQL \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_example_2\">iar\u0103\u0219i<\/a><\/noindex> Gremlin. Ob\u021binerea \u00een SPARQL a URI-ului tripletului \u0219i a \u201emetainforma\u021biei\u201d se poate face cu o construc\u021bie de genul urm\u0103tor:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\">SELECT * {\n    BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)\n    ?id :since ?since\n}<\/code><\/pre>\n<p><\/p>\n<ul>\n<li>Allegrograph de asemenea suport\u0103 propriul s\u0103u <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html#Querying-Attributes-using-SPARQL\">extensie<\/a><\/noindex> SPARQL:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\"> SELECT * { (\"since\" ?since)  franz:attributesNameValue  ( :bob :marriedTo ?wife ) }<\/code><\/pre>\n<p><\/p>\n<p>Apropo, GraphDB a sus\u021binut o vreme Tinkerpop\/Gremlin, f\u0103r\u0103 a sus\u021bine LPG, dar \u00een versiunea 8.0 sau 8.1 acest lucru a \u00eencetat.<\/p>\n<p><\/p>\n<h2 id=\"vi-uzhestochenie-licenziy\">VI. \u00cent\u0103rirea licen\u021belor<\/h2>\n<p><\/p>\n<p>Nu au avut loc \u00een ultima vreme ad\u0103ug\u0103ri \u00een intersec\u021bia \u201etriplestore of choice\u201d \u0219i \u201eopen source triplestore\u201d. Noile depozite RDF cu surs\u0103 deschis\u0103 sunt departe de a fi o alegere bun\u0103 pentru utilizarea zilnic\u0103, iar codul surs\u0103 al noilor depozite RDF pe care ne-am dorit s\u0103 le folosim (precum AnzoGraph) este \u00eenchis. Mai degrab\u0103, se poate vorbi chiar despre sc\u0103deri...<\/p>\n<p><\/p>\n<p>Desigur, un cod surs\u0103 deschis nu devine \u00eenchis, dar unele depozite cu surs\u0103 deschis\u0103 \u00eencet \u00eenceteaz\u0103 s\u0103 fie considerate alegeri demne. Virtuoso, care are o edi\u021bie opensource, \u00een opinia mea, se scufund\u0103 \u00een buguri. Blazegraph a fost achizi\u021bionat de AWS \u0219i a stat la baza Amazon Neptune; acum nu este clar dac\u0103 va mai exista vreo versiune. R\u0103m\u00e2ne doar Jena...<\/p>\n<p><\/p>\n<p>Dac\u0103 sursa deschis\u0103 nu este foarte important\u0103 \u0219i vrei doar s\u0103 \u00eencerci, atunci lucrurile sunt la fel de sumbre ca \u00eenainte. De exemplu:<\/p>\n<p><\/p>\n<ul>\n<li>Stardog <noindex><a rel=\"nofollow\" href=\"https:\/\/community.stardog.com\/t\/update-to-enterprise-and-community-trials\/1533\">tremeaz\u0103<\/a><\/noindex> distribuie o versiune gratuit\u0103 (\u00een orice caz, perioada de prob\u0103 standard a crescut de dou\u0103 ori);<\/li>\n<li>\u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.ontotext.com\/\">GraphDB Cloud<\/a><\/noindex>, unde \u00eenainte se putea alege un plan de baz\u0103 gratuit, a fost suspendat\u0103 \u00eenregistrarea utilizatorilor noi.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00cen general, pentru IT-i\u0219tii obi\u0219nui\u021bi, cosmosul devine tot mai inaccesibil, iar explorarea lui devine apanajul corpora\u021biilor.<\/p>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/451206\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430\u00a0\u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb. \u041d\u043e \u043f\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0437\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0441\u044c \u043d\u0430 \u0417\u0435\u043c\u043b\u0435; \u0441\u0442\u0430\u0442\u044c \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u043e\u043c-\u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u043c \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u043e\u043c \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043f\u0440\u043e\u0449\u0435. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e \u0441\u0432\u0435\u0436\u0438\u0445, \u043d\u0435 \u0441\u0442\u0430\u0440\u0435\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25082,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33363","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 RDF-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u043c\u0438? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:52:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:52:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Ce se \u00eent\u00e2mpl\u0103 acum cu depozitele RDF? | ProHoster","description":"Webul Semantic \u0219i Datele Legate sunt asem\u0103n\u0103toare cu spa\u021biul cosmic apropiat: nu exist\u0103 via\u021b\u0103 acolo. Pentru a ajunge acolo pentru o perioad\u0103 mai lung\u0103... ei bine, nu \u0219tiu ce v-au spus \u00een copil\u0103rie c\u00e2nd a\u021bi spus \u201evreau s\u0103 devin cosmonaut\u201d.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 RDF-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u043c\u0438? | ProHoster","og:description":"Semantic Web \u0438 Linked Data \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u0431\u043b\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u043e\u0441\u043c\u043e\u0441\u0443: \u0436\u0438\u0437\u043d\u0438 \u0442\u0430\u043c \u043d\u0435\u0442. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0440\u043e\u043a\u2026 \u043d\u0443, \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u0430\u043c \u0432 \u0434\u0435\u0442\u0441\u0442\u0432\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u00ab\u0445\u043e\u0447\u0443 \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u043c\u00bb.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:52:11+00:00","article:modified_time":"2019-10-31T18:52:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33363","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 14:56:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:42:22","updated":"2026-01-21 14:56:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/33363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=33363"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/33363\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/25082"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=33363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=33363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=33363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}