{"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\/nl\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","title":{"rendered":"Wat gebeurt er nu met RDF-opslagplaatsen?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>De Semantic Web en Linked Data zijn vergelijkbaar met de nabijgelegen ruimte: daar is geen leven. Om er voor een meer of minder lange tijd naartoe te gaan... nou, ik weet niet wat ze je als kind zeiden toen je zei: 'ik wil astronaut worden'. Maar je kunt de gebeurtenissen volgen vanuit de aarde; een amateur- of zelfs professionele astronoom worden is veel eenvoudiger.<\/p>\n<p><\/p>\n<p>In dit artikel zullen de recente trends uit de wereld van RDF-opslagplekken besproken worden, die niet ouder zijn dan enkele maanden. De metafoor in de eerste alinea werd ge\u00efnspireerd door een epische reclameafbeelding onderaan.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<b class=\"spoiler_title\">Epische afbeelding<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Wat gebeurt er nu met RDF-opslagplaatsen?\" 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 voor toegang tot 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\/\">Er wordt gezegd<\/a><\/noindex>, dat GraphQL pretendeert de universele taal voor database toegang te worden. Hoe zit het echter met de mogelijkheid om toegang te krijgen tot RDF met GraphQL?<\/p>\n<p><\/p>\n<p>Deze mogelijkheid wordt \"uit de doos\" aangeboden door:<\/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\">documentatie<\/a><\/noindex>);<\/li>\n<li>producten van TopQuadrant (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/2018\/07\/05\/graphql-webinar\/\">webinar<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.topquadrant.com\/technology\/graphql\/\">documentatie<\/a><\/noindex>).<\/li>\n<\/ul>\n<p><\/p>\n<p>Als de opslagplaats deze mogelijkheid niet biedt, kan je deze zelf implementeren door een passende \"resolver\" te schrijven. Zo hebben ze het bijvoorbeeld gedaan in het Franse project <noindex><a rel=\"nofollow\" href=\"https:\/\/framagit.org\/datatourisme\/api\/tree\/master\/src\/Resolver\">DataTourisme<\/a><\/noindex>. Of je kunt nu gewoon gebruik maken van <noindex><a rel=\"nofollow\" href=\"https:\/\/www.hypergraphql.org\/\">HyperGraphQL<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Vanuit het perspectief van een orthodoxe aanhanger van Semantic Web en Linked Data is dit natuurlijk treurig, omdat het lijkt te zijn bedoeld voor integraties die zijn opgebouwd rond nieuwe data silo's, en niet voor platformen (uiteraard RDF-opslagplaatsen).<\/p>\n<p><\/p>\n<p>De indrukken van de vergelijking tussen GraphQL en SPARQL blijven dubbelzinnig.<\/p>\n<p><\/p>\n<ul>\n<li>Aan de ene kant lijkt GraphQL een verre verwant van SPARQL: het lost typische problemen van REST op zoals overselectie en meervoudige verzoeken \u2014 zonder dat, zou je waarschijnlijk niet kunnen worden beschouwd als <em>een querytaal<\/em>, zelfs niet voor het web;<\/li>\n<li>Aan de andere kant is het teleurstellend dat GraphQL zo rigide is in zijn schema. Daardoor lijkt de \"introspectiviteit\" ervan zeer beperkt in vergelijking met de volledige reflectiviteit van RDF. Er is ook geen equivalent voor property paths, waardoor het zelfs niet duidelijk is waarom het \"Graph-\" heet.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ii-adaptery-k-mongodb\">II. Adapters voor MongoDB<\/h2>\n<p><\/p>\n<p>Een trend die complementair is aan de vorige.<\/p>\n<p><\/p>\n<ul>\n<li>in Stardog nu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/native-mongodb-support-is-here\/\">mogelijk<\/a><\/noindex> \u2014 vooral allemaal op hetzelfde GraphQL \u2014 het instellen van datamapping van MongoDB in virtuele RDF-grafen;<\/li>\n<li>GraphDB staat sinds kort <noindex><a rel=\"nofollow\" href=\"http:\/\/graphdb.ontotext.com\/documentation\/8.8\/standard\/integrating-graphdb-with-mongodb.html\">toe<\/a><\/noindex> om fragmenten van MongoDB Query in SPARQL in te voegen.<\/li>\n<\/ul>\n<p><\/p>\n<p>Als we het breder hebben over adapters voor JSON-bronnen, die meer of minder \"on-the-fly\" de opgeslagen JSON in deze bronnen als RDF kunnen presenteren, kunnen we herinneren aan de al langere tijd bestaande <noindex><a rel=\"nofollow\" href=\"https:\/\/ci.mines-stetienne.fr\/sparql-generate\/\">SPARQL Genereren<\/a><\/noindex>, dat kan worden aangepast, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/sparql-generate\/sparql-generate\">bijvoorbeeld<\/a><\/noindex>, aan Apache Jena.<\/p>\n<p><\/p>\n<p>Samenvattend de eerste twee trends, kan worden gezegd dat RDF-opslagplaatsen volledig klaar zijn voor integraties en functioneren in omstandigheden van \"polyglot persistence\". Het is echter bekend dat deze laatste al lang niet meer in de mode is, en wordt vervangen door <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3105622\">multimodelheid. Hoe staat het met multimodelheid in de wereld van RDF-opslagplaatsen?<\/a><\/noindex> Als ik het kort samenvat, dan eigenlijk niet. Het onderwerp van multimodale databases verdient een apart artikel, voor nu kan worden opgemerkt dat er momenteel geen multimodale databases zijn \"gebaseerd\" op het grafmodel (een variant daarvan kan worden beschouwd als RDF). Er zal worden gesproken over een bepaalde kleine multimodelheid - de ondersteuning van RDF-opslagplaatsen voor een alternatieve grafmodel LPG - in<\/p>\n<p><\/p>\n<p>hoofdstuk V <noindex><a rel=\"nofollow\" href=\"#v-podderzhka-lpg\">III. OLTP vs. OLAP<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2 id=\"iii-oltp-vs-olap\">Toch schrijft hetzelfde Gartner<\/h2>\n<p><\/p>\n<p>dat multimodelheid een sine qua non is in de eerste plaats voor <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3467318\">operationele<\/a><\/noindex>databases. Dat is ook begrijpelijk: in een situatie van \"polyglot persistence\" ontstaan de belangrijkste problemen met transactiecapaciteit. <em>Waar staan RDF-opslagplaatsen op de OLTP-OLAP schaal? Ik zou antwoorden: nergens. Voor het aanduiden van wat ze bedoeld zijn, is er een derde afkorting nodig. Als optie zou ik voorstellen<\/em> OLIP<\/p>\n<p><\/p>\n<p>\u2014 Online Intellectuele Verwerking. <em>Echter, de in GraphDB geimplementeerde integratiemechanismen met MongoDB zijn niet in de laatste plaats<\/em> bedoeld<\/p>\n<p><\/p>\n<p>om problemen met schrijfprestaties te omzeilen;<\/p>\n<p><\/p>\n<ul>\n<li>Stardog gaat zelfs verder en herschrijft volledig <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ontotext.com\/company\/news\/ontotexts-graphdb-8-8-0-enriches-the-knowledge-graph-experience\/\">de engine, wederom met als doel de schrijfprestaties te verbeteren.<\/a><\/noindex> En nu, staat u mij toe om een nieuwe speler op de markt voor te stellen, van de makers van IBM Netezza en Amazon Redshift -<\/li>\n<li>AnzoGraph <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">. De afbeelding uit de reclame van het product is aan het begin van het artikel geplaatst. AnzoGraph positioneert zichzelf als een GOLAP-oplossing. Wat vindt u van SPARQL met venstervariabelen? -<\/a><\/noindex> SELECT ?maand (COUNT(?gebeurtenis) OVER (PARTITION BY ?maand) AS ?gebeurtenissen) WHERE { \u2026 }<\/li>\n<\/ul>\n<p><\/p>\n<p>IV. RocksDB <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/product\/anzograph\/\">Boven was er al<\/a><\/noindex>een verwijzing<\/p>\n<p><\/p>\n<pre><code class=\"sql\">naar de aankondiging van Stardog 7 Beta, waarin werd vermeld dat Stardog van plan is om RocksDB te gebruiken als onderliggende opslagoplossing - een \"key-value\" opslag, de Facebook-fork van Google\u2019s LevelDB. Waarom zou men al moeten spreken van een bepaalde trend?<\/code><\/pre>\n<p><\/p>\n<h2 id=\"iv-rocksdb\">Ten eerste, volgens<\/h2>\n<p><\/p>\n<p>een artikel op Wikipedia <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">, worden niet alleen RDF-opslagplaatsen \"overgezet\" naar RocksDB. Er zijn projecten waarbij RocksDB als opslagengine wordt gebruikt in ArangoDB, MongoDB, MySQL en MariaDB, Cassandra.<\/a><\/noindex> over de aankondiging van Stardog 7 Beta, waarin werd vermeld dat Stardog RocksDB zal gebruiken als de onderliggende opslag \u2014 een \u2018key-value\u2019 opslag, een Facebook-fork van Google's LevelDB. Waarom is het al tijd om te spreken van een bepaalde trend?<\/p>\n<p><\/p>\n<p>Ten eerste, op basis van <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/RocksDB#Alternative_backend\">een artikel op Wikipedia<\/a><\/noindex>, wordt RocksDB niet alleen gebruikt door RDF-opslag. Er zijn projecten die RocksDB als opslagengine gebruiken in ArangoDB, MongoDB, MySQL en MariaDB, Cassandra.<\/p>\n<p><\/p>\n<p>Ten eerste worden er op RocksDB projecten (d.w.z. geen producten) van de desbetreffende thematiek gemaakt.<\/p>\n<p><\/p>\n<p>Bijvoorbeeld, eBay gebruikt RocksDB in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/eBay\/beam\">het platform<\/a><\/noindex> voor zijn 'kennisgrafiek'. Trouwens, het is leuk om te lezen: <em>de querytaal begon als een in-house formaat, maar recentelijk is het veel meer als SPARQL aan het worden.<\/em>. Zoals in de grap: hoeveel knowledge graphs we ook maken, het blijft allemaal RDF.<\/p>\n<p><\/p>\n<p>Een ander voorbeeld is de onlangs gelanceerde <noindex><a rel=\"nofollow\" href=\"https:\/\/www.wikidata.org\/wiki\/Wikidata:History_Query_Service\">Wikidata History Query Service<\/a><\/noindex>. Voor zijn komst moest men voor historische gegevens van Wikidata terugvallen op <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mediawiki.org\/wiki\/Wikidata_Query_Service\/User_Manual\/MWAPI\">MWAPI<\/a><\/noindex> via de standaard Mediawiki API. Nu is er veel mogelijk met pure SPARQL. 'Onder de motorkap' draait ook RocksDB. Overigens lijkt het erop dat WDHQS is ontwikkeld door iemand die zich bezig hield met de import van Freebase naar de Google Knowledge Graph.<\/p>\n<p><\/p>\n<h2 id=\"v-podderzhka-lpg\">V. Ondersteuning van LPG<\/h2>\n<p><\/p>\n<p>Ik herinner me het belangrijkste verschil tussen LPG-graphen en RDF-graphen.<\/p>\n<p><\/p>\n<p>In LPG kunnen schalare eigenschappen aan exemplaren van randen worden toegevoegd, terwijl in RDF deze alleen aan 'typen' randen kunnen worden gekoppeld (daarentegen kunnen niet alleen schalare eigenschappen, maar ook gewone verbindingen worden gekoppeld). Deze beperking van RDF in vergelijking met LPG <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/swbp-n-aryRelations\/\">wordt overwonnen<\/a><\/noindex> door verschillende modelingtechnieken. De beperking van LPG in vergelijking met RDF is moeilijker te overwinnen, maar LPG-graphen lijken meer op afbeeldingen uit het boek van Harari, daarom willen mensen ze.<\/p>\n<p><\/p>\n<p>Het is duidelijk dat de taak van 'ondersteuning van LPG' in twee delen valt:<\/p>\n<p><\/p>\n<ol>\n<li>het aanbrengen van wijzigingen in het RDF-model die het mogelijk maken om LPG-constructies na te bootsen;<\/li>\n<li>het aanbrengen van wijzigingen in de querytaal van RDF die het mogelijk maken om gegevens in dit gewijzigde model op te vragen, of de mogelijkheid te implementeren om queries in populaire LPG-querytalen te doen.<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"v1--model-dannyh\">V.1. Datastructuur<\/h3>\n<p><\/p>\n<p>Hier zijn verschillende mogelijke benaderingen.<\/p>\n<p><\/p>\n<p><strong>V.1.1. Singleton Property<\/strong><\/p>\n<p><\/p>\n<p>De meest letterlijke aanpak om RDF en LPG te harmoniseren is waarschijnlijk <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>In plaats van bijvoorbeeld het predicaat <code>:isMarriedTo<\/code> worden de predikaten gebruikt: <code>:isMarriedTo1<\/code>, <code>:isMarriedTo2<\/code> enz.<\/li>\n<li>Vervolgens worden deze predikaten subjecten van nieuwe triplets: <code>:isMarriedTo1 :sinds \"2013-09-13\"^^xsd:date<\/code> enz.<\/li>\n<li>De verbinding tussen deze exemplaren van predikaten en het algemene predicaat wordt vastgesteld door triplets van het soort <code>:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo<\/code>.<\/li>\n<li>Het is duidelijk dat <code>rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type<\/code>, maar denk na over waarom je niet gewoon moet schrijven <code>:isMarriedTo1 rdf:type :isMarriedTo<\/code>.<\/li>\n<\/ul>\n<p><\/p>\n<p>De taak van 'ondersteuning van LPG' wordt hier op het niveau van RDFS opgelost. Een dergelijke oplossing vereist wijzigingen in de desbetreffende <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf-schema\/\">standaard<\/a><\/noindex>Sommige wijzigingen kunnen vereist zijn van RDF-opslagplaatsen die de aansluiting van gevolgtrekkingen ondersteunen, en voorlopig kan Singleton Property eenvoudig worden gezien als weer een andere modelleertechniek.<\/p>\n<p><\/p>\n<p><strong>V.1.2. Reificatie Goed Gedaan<\/strong><\/p>\n<p><\/p>\n<p>Minder na\u00efeve benaderingen voortkomen uit de erkenning dat eigenschapsinstanties volledig zijn ge\u00efnstantieerd door triplets. Door iets te kunnen zeggen over triplets, kunnen we ook iets zeggen over eigenschapsinstanties.<\/p>\n<p><\/p>\n<p>De meest robuuste van deze benaderingen is <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1409.3288\">RDF*<\/a><\/noindex>, ook wel RDR genoemd, <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">geboren<\/a><\/noindex> in de schoot van Blazegraph. Vanaf het begin <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">heeft het<\/a><\/noindex> gekozen voor zichzelf en AnzoGraph. De robuustheid van de benadering wordt bepaald door het feit dat binnen het kader <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1406.3399\">bijbehorende wijzigingen worden voorgesteld<\/a><\/noindex> in <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf11-mt\/\">RDF Semantics<\/a><\/noindex>. De essentie is echter zeer eenvoudig. In de Turtle-serialisatie van RDF kan nu ongeveer zo worden geschreven:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">&lt;&gt; :sinds \"2013-09-13\"^^xsd:date.<\/code><\/pre>\n<p><\/p>\n<p><strong>V.1.3. Overige benaderingen<\/strong><\/p>\n<p><\/p>\n<p>Je kunt de formele semantiek negeren en gewoon aannemen dat triplets bepaalde identificatoren hebben, die natuurlijk URI's zijn, en nieuwe triplets samenstellen met deze URI's. Je hoeft alleen toegang te geven tot deze URI's in SPARQL. Zo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_motivation_implementation\">doet<\/a><\/noindex> Stardog. <\/p>\n<p><\/p>\n<p>In Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html\">zijn ze<\/a><\/noindex> de tussenweg ingeslagen. Het is bekend dat triplet-identificatoren in Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-index.html\">bestaande<\/a><\/noindex>, maar bij de implementatie van triple attributen komen ze niet naar buiten. Echter, de formele semantiek is nog ver weg. Opmerkelijk is dat triplet-attributen geen URI zijn, en de waarden van deze attributen kunnen ook slechts literalen zijn. Voorstanders van LPG krijgen precies wat ze wilden. In een speciaal uitgevonden formaat NQX lijkt een voorbeeld, vergelijkbaar met het bovenstaande voor RDF*, zo:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">:bob :getrouwdMet :alice {\"sinds\" : \"2013-09-13\"}<\/code><\/pre>\n<p><\/p>\n<h3 id=\"v2-yazyki-zaprosov\">V.2. Taal voor aanvragen<\/h3>\n<p><\/p>\n<p>Nadat LPG op de een of andere manier op modelniveau is ondersteund, moet er de mogelijkheid zijn om aanvragen voor gegevens in zo'n model te doen.<\/p>\n<p><\/p>\n<ul>\n<li>Blazegraph ondersteunt voor aanvragen aan RDF* <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">SPARQL*<\/a><\/noindex> en <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/blazegraph\/tinkerpop3\/blob\/master\/README.md\">Gremlin<\/a><\/noindex>. Een aanvraag op SPARQL* ziet er als volgt uit:<\/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 ondersteunt ook <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">SPARQL*<\/a><\/noindex> en is van plan om <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/cambridge-semantics-adds-opencypher-anzograph-2\/\">Cypher<\/a><\/noindex>, de querytaal in Neo4j. <\/li>\n<li>Stardog ondersteunt zijn eigen <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_integration_with_sparql_2\">uitbreiding<\/a><\/noindex> SPARQL en <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_example_2\">weer<\/a><\/noindex> Gremlin. Je kunt in SPARQL de URI van het triplet en \"meta-informatie\" verkrijgen met behulp van ongeveer de volgende constructie:<\/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 ondersteunt ook zijn eigen <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html#Querying-Attributes-using-SPARQL\">uitbreiding<\/a><\/noindex> SPARQL:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\"> SELECT * { (\"sinds\" ?since) franz:attributesNameValue ( :bob :getrouwdMet ?wife ) }<\/code><\/pre>\n<p><\/p>\n<p>Overigens heeft GraphDB een tijdlang Tinkerpop\/Gremlin ondersteund, zonder LPG te ondersteunen, maar dit is in versie 8.0 of 8.1 gestopt.<\/p>\n<p><\/p>\n<h2 id=\"vi-uzhestochenie-licenziy\">VI. Verstrenging van licenties<\/h2>\n<p><\/p>\n<p>Er zijn de laatste tijd geen toevoegingen geweest in de overlap tussen 'triplestore of choice' en 'open source triplestore'. Nieuwe RDF-opslagplaatsen met open source blijven ver verwijderd van een goede keuze voor dagelijks gebruik, en de broncode van nieuwe RDF-opslagplaatsen die men zou willen gebruiken (zoals AnzoGraph) is gesloten. Het lijkt eerder alsof er iets van afneemt\u2026<\/p>\n<p><\/p>\n<p>Natuurlijk wordt open source niet gewoon gesloten, maar sommige opslagplaatsen met open source worden geleidelijk minder serieus overwogen als waardige keuze. Virtuoso, dat een opensource-editie heeft, lijkt naar mijn mening vol bugs te zitten. Blazegraph is gekocht door AWS en ligt ten grondslag aan Amazon Neptune; het is nu onduidelijk of er nog een andere release zal komen. Alleen Jena blijft over\u2026<\/p>\n<p><\/p>\n<p>Als open source echter niet heel belangrijk is en je gewoon een proef wilt doen, dan ziet het er ook minder rooskleurig uit dan vroeger. Bijvoorbeeld:<\/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\">heeft<\/a><\/noindex> de verspreiding van de gratis versie gestopt (de proefperiode is echter wel verdubbeld);<\/li>\n<li>in <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.ontotext.com\/\">GraphDB Cloud<\/a><\/noindex>, waar je eerder een gratis basisplan kon kiezen, is de registratie van nieuwe gebruikers stopgezet.<\/li>\n<\/ul>\n<p><\/p>\n<p>Al met al wordt de ruimte steeds minder toegankelijk voor de gewone IT-gebruiker, en het beheersen ervan is steeds meer het domein van bedrijven.<\/p>\n<p>Bron: <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.3 - 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\/nl\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47Wat gebeurt er momenteel met RDF-opslagplaatsen? | ProHoster","description":"Semantic Web en Linked Data zijn als nabijgelegen ruimte: er is leven noch wezen. Om daar voor een langere periode heen te gaan\u2026 nou, ik weet niet wat je in je kindertijd te horen kreeg toen je zei 'ik wil astronaut worden'.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/33363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=33363"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/33363\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/25082"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=33363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=33363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=33363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}