{"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\/et\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","title":{"rendered":"Mis toimub praegu RDF-lao projektidega?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Semantiline veeb ja lingitud andmed on nagu l\u00e4hikosmos: seal elamiseks ei ole. Et sinna minna pikemaks ajaks... noh, ma ei tea, mida teile lapsep\u00f5lves \u00f6eldi vastuseks \u00abtahan astronautiks saada\u00bb. Kuid toimuva j\u00e4lgimine on v\u00f5imalik ka Maalt; astronoomiks saamine on palju lihtsam, olgu siis harrastajatena v\u00f5i isegi professionaalidena.<\/p>\n<p><\/p>\n<p>K\u00e4esolevas artiklis k\u00e4sitletakse v\u00e4rskeid, mitte vanemaid kui paar kuud, trende RDF-andmebaasidest. Esimese l\u00f5igu metafoor tuli ideaalsest suurusest reklaampildist allpool.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<b class=\"spoiler_title\">Epic pilt<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Mis toimub praegu RDF-lao projektidega?\" 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 RDF-i juurde p\u00e4\u00e4semiseks<\/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\/\">R\u00e4\u00e4gitakse<\/a><\/noindex>, et GraphQL p\u00fcrgib olema universaalne andmebaaside juurdep\u00e4\u00e4su keel. Kuidas on aga lood GraphQL-i juurdep\u00e4\u00e4suga RDF-ile?<\/p>\n<p><\/p>\n<p>\u00abKastist v\u00e4ljaspool\u00bb pakuvad seda v\u00f5imalust:<\/p>\n<p><\/p>\n<ul>\n<li>Stardog (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/graphql-and-paths\/\">blogi<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_executing_graphql_queries\">dokumentatsioon<\/a><\/noindex>);<\/li>\n<li>TopQuadranti tooted (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/2018\/07\/05\/graphql-webinar\/\">veebinar<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/technology\/graphql\/\">dokumentatsioon<\/a><\/noindex>).<\/li>\n<\/ul>\n<p><\/p>\n<p>Kui andmebaas ei paku sellist v\u00f5imalust, siis rakendatakse seda iseseisvalt, kirjutades vastava \u00abtuvastaja\u00bb (resolver). Nii tehti n\u00e4iteks Prantsuse projektis <noindex><a rel=\"nofollow\" href=\"https:\/\/framagit.org\/datatourisme\/api\/tree\/master\/src\/Resolver\">DataTourisme<\/a><\/noindex>. V\u00f5i v\u00f5ib-olla ei ole midagi kirjutada, vaid lihtsalt kasutada <noindex><a rel=\"nofollow\" href=\"https:\/\/www.hypergraphql.org\/\">HyperGraphQL<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Ortodoxse semantilise veeb ja lingitud andmete pooldaja seisukohalt on see muidugi kurb, kuna see tundub olevat m\u00f5eldud integratsioonide jaoks, mis on \u00fcles ehitatud veel \u00fche andme silosse, mitte plaatvormide jaoks (loomulikult RDF-andmebaaside jaoks).<\/p>\n<p><\/p>\n<p>Kokkuv\u00f5ttes j\u00e4\u00e4b GraphQL-i ja SPARQL-i v\u00f5rdlemise mulje kahetiseks.<\/p>\n<p><\/p>\n<ul>\n<li>\u00dchelt poolt n\u00e4eb GraphQL v\u00e4lja nagu kauge sugulane SPARQL-ile: see lahendab REST-is esinevad toimetamisprobleemid ja mitmekesised p\u00e4ringud \u2014 ilma milleta ei saaks ilmselt r\u00e4\u00e4kida <em>p\u00e4ringute keelest<\/em>, olgu see kasv\u00f5i veebis;<\/li>\n<li>Teiselt poolt muretses GraphQL-i range skeemilisus. Seega tundub selle \u00abintrospektiivsus\u00bb olevat v\u00f5rreldes RDF-i t\u00e4ieliku reflektiivsusega v\u00e4ga piiratud. Ja puudub mingi analoog property paths, mist\u00f5ttu ei ole isegi selge, miks seda nimetatakse \u00abGraph-\u00bb.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ii-adaptery-k-mongodb\">II. Adapterid MongoDB-le<\/h2>\n<p><\/p>\n<p>Trend, mis t\u00e4iendab eelmist.<\/p>\n<p><\/p>\n<ul>\n<li>Stardogis on n\u00fc\u00fcd <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/native-mongodb-support-is-here\/\">v\u00f5ib-olla<\/a><\/noindex> \u2014 eelk\u00f5ige k\u00f5ik samal GraphQL-il \u2014 seadistada MongoDB andmete kuvamine virtuaalsetes RDF-graafikutes;<\/li>\n<li>GraphDB on hiljuti <noindex><a rel=\"nofollow\" href=\"http:\/\/graphdb.ontotext.com\/documentation\/8.8\/standard\/integrating-graphdb-with-mongodb.html\">kaugelt sulgeda vahekaarte, mis on avatud teistel seadmetel.<\/a><\/noindex> kohanenud SPARQL-i fragmentidega MongoDB Query-sse.<\/li>\n<\/ul>\n<p><\/p>\n<p>R\u00e4\u00e4kides laiemalt, adapteritest JSON-allikatele, mis v\u00f5imaldavad enam-v\u00e4hem \u00ablive\u00bb esitada nendes allikates hoitavat JSON-i kui RDF-i, v\u00f5ib mainida ka \u00fcsna pikka aega olemas olnud <noindex><a rel=\"nofollow\" href=\"https:\/\/ci.mines-stetienne.fr\/sparql-generate\/\">SPARQL Generate<\/a><\/noindex>, mida saab liita, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/sparql-generate\/sparql-generate\">n\u00e4iteks<\/a><\/noindex>, Apache Jena.<\/p>\n<p><\/p>\n<p>Kokkuv\u00f5ttes v\u00f5ib \u00f6elda, et RDF-andmehoidlad n\u00e4itavad t\u00e4ielikku valmisolekut integreerimiseks ja toimimiseks \u201emitme variandi salvestamise\u201d (polyglot persistence) tingimustes. On teada, et see viimane pole enam moes ja selle asemele <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3105622\">tuleb<\/a><\/noindex> multimudel. Aga kuidas on lood multimudeliga RDF-andmehoidlate maailmas?<\/p>\n<p><\/p>\n<p>L\u00fchidalt \u00f6eldes, mitte kuigi h\u00e4sti. Multimudelite andmebaaside teema v\u00e4\u00e4rib eraldi artiklit, kuid praegu v\u00f5ib m\u00e4rkida, et multimudeelset andmebaasi, mis p\u00f5hineks graafimudelil (mida v\u00f5ib pidada ka RDF-ks), hetkel ei ole. V\u00e4ikesest multimudelsusest \u2013 alternatiivsete graafimudelite LPG toetamisest RDF-andmehoidlate poolt \u2013 r\u00e4\u00e4gitakse <noindex><a rel=\"nofollow\" href=\"#v-podderzhka-lpg\">peat\u00fckis V<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2 id=\"iii-oltp-vs-olap\">III. OLTP vs. OLAP<\/h2>\n<p><\/p>\n<p>Siiski, sama Gartner <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3467318\">kirjutab<\/a><\/noindex>, et multimudelisus on tingimus sine qua non eelk\u00f5ige <em>operatiivsete<\/em> andmebaaside jaoks. See on arusaadav: \u201emitme variandi salvestamise\u201d olukorras on peamised probleemid seotud transaktsioonilisusega.<\/p>\n<p><\/p>\n<p>Aga kus asuvad RDF-andmehoidlad OLTP\u2014OLAP skaalal? Vastaksin nii: ei seal, ega siin. Nende kavandatule viitamiseks on vajalik mingi kolmas akron\u00fc\u00fcm. Alternatiivina pakuksin <em>OLIP<\/em> \u2014 Online Intellektuaalne Protsessimine.<\/p>\n<p><\/p>\n<p>Kuid siiski:<\/p>\n<p><\/p>\n<ul>\n<li>GraphDB-s rakendatud MongoDB integreerimismehhanismid on suunatud <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ontotext.com\/company\/news\/ontotexts-graphdb-8-8-0-enriches-the-knowledge-graph-experience\/\">peamiselt kirjutamisj\u00f5udluse probleemide ringi k\u00f5rvaldamiseks;<\/a><\/noindex> Stardog l\u00e4heb veelgi kaugemale ja kirjutab<\/li>\n<li>mootori t\u00e4ielikult \u00fcmber, taaskord eesm\u00e4rgiga parandada kirjutamisj\u00f5udlust. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">N\u00fc\u00fcd lubage mul tutvustada uut m\u00e4ngijat turul. IBM Netezza ja Amazon Redshift looja poolt \u2014<\/a><\/noindex> AnzoGraph<\/li>\n<\/ul>\n<p><\/p>\n<p>. Toote reklaamis olev pilt saadi artikli alguses. AnzoGraph positsioneerib end kui GOLAP lahendusena. Kuidas k\u00f5lab SPARQL aknafunktsioonidega? \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/product\/anzograph\/\">SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { \u2026 }<\/a><\/noindex>IV. RocksDB<\/p>\n<p><\/p>\n<pre><code class=\"sql\">\u00dclalpool on juba<\/code><\/pre>\n<p><\/p>\n<h2 id=\"iv-rocksdb\">mainitud viidet<\/h2>\n<p><\/p>\n<p>Stardog 7 Beta teadetele, kus r\u00e4\u00e4giti, et Stardog plaanib kasutada RocksDB-d alumise salvestuss\u00fcsteemina \u2014 v\u00f5tme-v\u00e4\u00e4rtuse salvestus, Facebooki hargne LevelDB-st. Miks v\u00f5iks r\u00e4\u00e4kida mingist trendist? <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">Esiteks, Wikipedias<\/a><\/noindex> \u00fctleb, et RocksDB-le \u201eistuvad\u201d mitte ainult RDF-andmehoidlad. On projekte, mis kasutavad RocksDB-d salvestusajamiks ArangoDB, MongoDB, MySQL ja MariaDB, Cassandra.<\/p>\n<p><\/p>\n<p>Teiseks, RocksDB-l tehakse teemasid (st mitte tooteid) vastava temaatika projekti. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/RocksDB#Alternative_backend\">\u0441\u0442\u0430\u0442\u044c\u0435 \u0432 \u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438<\/a><\/noindex>, \u043d\u0430 RocksDB \u00ab\u043f\u0435\u0440\u0435\u0441\u0430\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f\u00bb \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e RDF-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430. \u0415\u0441\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e RocksDB \u043a\u0430\u043a \u0434\u0432\u0438\u0436\u043a\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432 ArangoDB, MongoDB, MySQL \u0438 MariaDB, Cassandra.<\/p>\n<p><\/p>\n<p>\u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043d\u0430 RocksDB \u0434\u0435\u043b\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u044b (\u0442. \u0435. \u043d\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b) \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438.<\/p>\n<p><\/p>\n<p>N\u00e4iteks kasutab eBay RocksDB-d <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/eBay\/beam\">platvormis<\/a><\/noindex> oma \"teadmiste graafiku\" jaoks. Muide, on naljakas lugeda: <em>the query language started as a home grown format, but more recently it has been transitioning to be much more like SPARQL<\/em>. Nagu anekdoodis: kui palju tahes teadmiste graafikust teha, tuleb ikka v\u00e4lja RDF.<\/p>\n<p><\/p>\n<p>Teine n\u00e4ide on m\u00f5ned kuud tagasi ilmunud <noindex><a rel=\"nofollow\" href=\"https:\/\/www.wikidata.org\/wiki\/Wikidata:History_Query_Service\">Wikidata History Query Service<\/a><\/noindex>. Enne selle tulekut tuli ajalooliste Vikidata andmete saamiseks p\u00f6\u00f6rduda <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mediawiki.org\/wiki\/Wikidata_Query_Service\/User_Manual\/MWAPI\">MWAPI<\/a><\/noindex> kaudu tavalise Mediawiki API poole. N\u00fc\u00fcd on palju v\u00f5imalik puhtal SPARQL-il. \"Kapoti all\" on seal samuti RocksDB. \u00dctlesin, et WDHQS-i l\u00f5i inimene, kes tegeles Freebase'i importimisega Google Knowledge Graph'i.<\/p>\n<p><\/p>\n<h2 id=\"v-podderzhka-lpg\">V. LPG toe<\/h2>\n<p><\/p>\n<p>Tuletan meelde peamist erinevust LPG-graafikute ja RDF-graafikute vahel.<\/p>\n<p><\/p>\n<p>LPG-s v\u00f5ivad servade eksemplaridele olla lisatud skalaarsed omadused, samas kui RDF-s saavad neid lisada ainult servade \"t\u00fc\u00fcbid\" (aga mitte ainult skalaarsed omadused, vaid ka tavalised seosed). See piiramine RDF-s v\u00f5rreldes LPG-ga <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/swbp-n-aryRelations\/\">\u00fcletatakse<\/a><\/noindex> erinevate modelleerimistehnikate abil. LPG-d piiravad omadused v\u00f5rreldes RDF-ga on aga keerulisemad \u00fcletada, kuid LPG-graafikud on rohkem nagu Harari \u00f5pikust pildid, seet\u00f5ttu soovivad inimesed neid.<\/p>\n<p><\/p>\n<p>On ilmne, et \"LPG toe\" \u00fclesanne jaguneb kaheks osaks:<\/p>\n<p><\/p>\n<ol>\n<li>muudatuste sisseviimine RDF mudelisse, mis v\u00f5imaldab simuleerida LPG-struktuure;<\/li>\n<li>muudatuste tegemine RDF p\u00e4ringute keeles, et v\u00f5imaldada andmete p\u00e4rimist selles muudetud mudelis, \u2014 v\u00f5i rakendamine v\u00f5imaluse osas teha p\u00e4ringuid sellele mudelile tuntud LPG p\u00e4ringute keeltes.<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"v1--model-dannyh\">V.1. Andmemudel<\/h3>\n<p><\/p>\n<p>Siin on mitu v\u00f5imalikku l\u00e4henemist.<\/p>\n<p><\/p>\n<p><strong>V.1.1. Singleton Property<\/strong><\/p>\n<p><\/p>\n<p>K\u00f5ige s\u00f5nas\u00f5naline l\u00e4henemine RDF ja LPG harmoneerimisele on t\u00f5en\u00e4oliselt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC4350149\/\">singleton property<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li>N\u00e4iteks kui kasutatakse predikaati <code>:isMarriedTo<\/code> kasutatakse predikaate <code>:isMarriedTo1<\/code>, <code>:isMarriedTo2<\/code> jne.<\/li>\n<li>Seej\u00e4rel saavad need predikaadid uute tripletide subjektideks: <code>:isMarriedTo1 :since &quot;2013-09-13&quot;^^xsd:date<\/code> ja nii edasi.<\/li>\n<li>Nende predikaatide eksemplaride seos \u00fcldise predikaadiga luuakse tripletidega, mis on kujul <code>:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo<\/code>.<\/li>\n<li>Ilmselgelt, et <code>rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type<\/code>, kuid m\u00f5elge, miks ei tasu kirjutada lihtsalt <code>:isMarriedTo1 rdf:type :isMarriedTo<\/code>.<\/li>\n<\/ul>\n<p><\/p>\n<p>LPG toe \u00fclesanne lahendatakse siin RDFS tasemel. Selline lahendus n\u00f5uab vastava <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf-schema\/\">standard<\/a><\/noindex>. M\u00f5ned muudatused v\u00f5ivad olla vajalikud RDF-ladu jaoks, mis toetavad j\u00e4rjepidevuste liitmist, ja seni v\u00f5ib Singleton Propertyt vaadata lihtsalt kui veel \u00fchte modelleerimise tehnikat.<\/p>\n<p><\/p>\n<p><strong>V.1.2. Reifikatsioon \u00f5iges vormis<\/strong><\/p>\n<p><\/p>\n<p>V\u00e4hem naiivsemate l\u00e4henemiste juured on arusaam, et omaduste eksemplarid on t\u00e4iesti instantsitud triplettidega. Olles suuteline r\u00e4\u00e4kima millestki tripletitest, saame r\u00e4\u00e4kida ka omaduste eksemplaridest.<\/p>\n<p><\/p>\n<p>K\u00f5ige t\u00f5sisem l\u00e4henemine on <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1409.3288\">RDF*<\/a><\/noindex>, tuntud ka kui RDR, <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">s\u00fcndinud<\/a><\/noindex> Blazegraphi sisemuses. Seda on algusest peale <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">kasutanud<\/a><\/noindex> ka AnzoGraph. L\u00e4henemise t\u00f5sidust m\u00e4\u00e4rab see, et selle raames <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1406.3399\">pakuvad<\/a><\/noindex> on vastavad muudatused <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf11-mt\/\">RDF semantikas.<\/a><\/noindex>Kuid olemus on \u00e4\u00e4rmiselt lihtne. RDF-i Turtle-sarjal on n\u00fc\u00fcd v\u00f5imalik kirjutada umbes nii:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">&lt;&lt;:bob :isMarriedTo :alice&gt;&gt; :since &quot;2013-09-13&quot;^^xsd:date .<\/code><\/pre>\n<p><\/p>\n<p><strong>V.1.3. Muud l\u00e4henemised<\/strong><\/p>\n<p><\/p>\n<p>Ei ole m\u00f5tet vaeva n\u00e4ha formaalse semantikaga, vaid lihtsalt eeldada, et tripletitel on teatud identifikaatorid, mis on loomulikult URI-d, ja luua uusi triplette nende URI-dega. Peab vaid tagama nende URI-de juurdep\u00e4\u00e4su SPARQL-is. Nii <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_motivation_implementation\">tulnud<\/a><\/noindex> Stardog. <\/p>\n<p><\/p>\n<p>Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html\">l\u00e4ks<\/a><\/noindex> vahepealse tee. On teada, et Allegrographi tripletite identifikaatorid <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-index.html\">on<\/a><\/noindex>, kuid triple attributes'i rakendamisel nad v\u00e4lja ei paista. Siiski on enne formaalse semantika juurde j\u00f5udmine veel pikk tee. Sealjuures on huvitav, et tripletite attribuudid ei ole URI-d ja nende v\u00e4\u00e4rtused v\u00f5ivad olla vaid literatuurid. LPG propageerijad saavad t\u00e4pselt seda, mida nad soovisid. Eraldi leiutatud formaadis NQX n\u00e4eb n\u00e4ide, mis sarnaneb \u00fclaltoodud n\u00e4itele RDF* jaoks, v\u00e4lja j\u00e4rgmiselt:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">:bob :marriedTo :alice {&quot;since&quot; : &quot;2013-09-13&quot;}<\/code><\/pre>\n<p><\/p>\n<h3 id=\"v2-yazyki-zaprosov\">V.2. K\u00fcsimuste keeled<\/h3>\n<p><\/p>\n<p>Toetades LPG-d mingil viisil mudeli tasandil, tuleb v\u00f5imaldada andmestiku p\u00e4ringut sellises mudelis.<\/p>\n<p><\/p>\n<ul>\n<li>Blazegraph toetab RDF* p\u00e4ringutes <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">SPARQL*<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/blazegraph\/tinkerpop3\/blob\/master\/README.md\">Gremlin.<\/a><\/noindex>SPARQL* p\u00e4ring n\u00e4eb v\u00e4lja nii:<\/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 toetab samuti <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">SPARQL*<\/a><\/noindex> ja plaanib toetada <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/cambridge-semantics-adds-opencypher-anzograph-2\/\">Cypher,<\/a><\/noindex>p\u00e4ringukeelt Neo4j-s. <\/li>\n<li>Stardog toetab oma <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_integration_with_sparql_2\">laiendamine<\/a><\/noindex> SPARQL-i ja <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_example_2\">j\u00e4llegi<\/a><\/noindex> Gremlini. SPARQL-is URI tripleti ja \"metaandmete\" saamiseks saab kasutada j\u00e4rgmist konstruktsiooni:<\/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 toetab samuti oma <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html#Querying-Attributes-using-SPARQL\">laiendamine<\/a><\/noindex> SPARQL-i:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\"> SELECT * { (&quot;since&quot; ?since)  franz:attributesNameValue  ( :bob :marriedTo ?wife ) }<\/code><\/pre>\n<p><\/p>\n<p>Muide, GraphDB toetas m\u00f5nda aega Tinkerpop\/Gremlini, toetamata seejuures LPG-d, kuid versioonis 8.0 v\u00f5i 8.1 l\u00f5petati see.<\/p>\n<p><\/p>\n<h2 id=\"vi-uzhestochenie-licenziy\">VI. T\u00f5hustatud litsentsid<\/h2>\n<p><\/p>\n<p>Viimastel aegadel ei ole \u201evalikuv\u00f5imaluste triplestore\u201c ja \u201eavatud l\u00e4htekoodiga triplestore\u201c vahel mingeid juurdekasve toimunud. Uutel avatud l\u00e4htekoodiga RDF-hoidlatele ei ole tegelikult mingit v\u00f5imalust igap\u00e4evaseks kasutamiseks, ja nende uute RDF-hoidlate l\u00e4htekood (nt AnzoGraph) on suletud. Pigem v\u00f5ib r\u00e4\u00e4kida hoopis v\u00e4henemisest...<\/p>\n<p><\/p>\n<p>Muidugi, avatud l\u00e4htekood ei muutu kunagi suletuks, kuid m\u00f5ned avatud l\u00e4htekoodiga hoidlad lakkuvad j\u00e4rk-j\u00e4rgult olema t\u00f5sised valikud. Virtuoso, mis pakub avatud l\u00e4htekoodiga versiooni, n\u00e4ib minu arvates olevat kahedesuguste probleemide all. Blazegraph on ostnud AWS ja see moodustab Amazon Neptune'i aluse; hetkel on raske \u00f6elda, kas veel \u00fcks v\u00e4ljaanne ilmub. J\u00e4\u00e4nud on vaid Jena...<\/p>\n<p><\/p>\n<p>Kui avatud l\u00e4htekood ei ole just v\u00e4ga oluline ja lihtsalt tahaks proovida, siis on olukord samuti v\u00e4hem roosiline kui varem. N\u00e4iteks:<\/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\">l\u00f5petab<\/a><\/noindex> tasuta versiooni levitamise (\u00fcllatuseks on tavap\u00e4rase katseperioodi aeg kahekordistunud);<\/li>\n<li>ja <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.ontotext.com\/\">GraphDB Cloud<\/a><\/noindex>, kus varem oli v\u00f5imalik valida tasuta p\u00f5hiplaan, on uute kasutajate registreerimine peatatud.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00dcldiselt muutub tavalisele IT-kasutajale kosmos \u00fcha k\u00e4tte saamatu, selle omandamine j\u00e4\u00e4b vaid korporatsioonide p\u00e4rusmaaks.<\/p>\n<p>Allikas: <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.1.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\/et\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47 Mis toimub praegu RDF-hoidlate maailmas? | ProHoster","description":"Semantic Web ja Linked Data on nagu l\u00e4hikosmos: seal ei ole elu. Et sinna minna pikemaks ajaks... noh, ei tea, mida sulle lapsena \u00f6eldi, kui soovisid \u201ekosmonautiks saada\u201c.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/33363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=33363"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/33363\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/25082"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=33363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=33363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=33363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}