{"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\/es\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","title":{"rendered":"\u00bfQu\u00e9 est\u00e1 pasando actualmente con los almacenes RDF?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La Web Sem\u00e1ntica y los Datos Conectados son como el espacio cercano: no hay vida all\u00ed. Para ir all\u00ed durante un per\u00edodo m\u00e1s o menos largo... bueno, no s\u00e9 qu\u00e9 te dijeron en tu infancia cuando dijiste \"quiero ser astronauta\". Pero puedes observar lo que sucede desde la Tierra; convertirse en un astr\u00f3nomo aficionado o incluso profesional es mucho m\u00e1s f\u00e1cil.<\/p>\n<p><\/p>\n<p>En este art\u00edculo se hablar\u00e1 de las tendencias recientes, no m\u00e1s antiguas de unos meses, en el mundo de los almacenes RDF. La met\u00e1fora en el primer p\u00e1rrafo fue inspirada por una imagen publicitaria de dimensiones \u00e9picas que se encuentra a continuaci\u00f3n.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<b class=\"spoiler_title\">Imagen \u00e9pica<\/b><\/p>\n<p><img decoding=\"async\" alt=\"\u00bfQu\u00e9 est\u00e1 pasando actualmente con los almacenes 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 para acceder a 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 dice<\/a><\/noindex>, que GraphQL pretende convertirse en el lenguaje universal de acceso a bases de datos. Pero, \u00bfc\u00f3mo est\u00e1n las cosas con la posibilidad de acceso utilizando GraphQL a RDF?<\/p>\n<p><\/p>\n<p>\"Fuera de la caja\" esta posibilidad la ofrecen:<\/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\">documentaci\u00f3n<\/a><\/noindex>);<\/li>\n<li>los productos de 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\/\">documentaci\u00f3n<\/a><\/noindex>).<\/li>\n<\/ul>\n<p><\/p>\n<p>Si el almac\u00e9n no ofrece esta posibilidad, se implementa por uno mismo, escribiendo un \"resolutor\" correspondiente. As\u00ed lo hicieron, por ejemplo, en el proyecto franc\u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/framagit.org\/datatourisme\/api\/tree\/master\/src\/Resolver\">DataTourisme<\/a><\/noindex>. O ya no hace falta escribir nada, simplemente toma <noindex><a rel=\"nofollow\" href=\"https:\/\/www.hypergraphql.org\/\">HyperGraphQL<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Desde el punto de vista de un ortodoxo defensor de la Web Sem\u00e1ntica y los Datos Conectados, todo esto es, por supuesto, desalentador, ya que parece estar destinado a integraciones construidas alrededor de nuevos data silos, y no adecuadas para esas plataformas (por supuesto, almacenes RDF).<\/p>\n<p><\/p>\n<p>Las impresiones de comparar GraphQL con SPARQL son contradictorias.<\/p>\n<p><\/p>\n<ul>\n<li>Por un lado, GraphQL parece un pariente lejano de SPARQL: aborda problemas caracter\u00edsticos de REST como la sobreselecci\u00f3n y la multiplicidad de consultas \u2014 sin los cuales, supongo, no podr\u00eda considerarse <em>lenguaje de consultas<\/em>, aunque solo para la web;<\/li>\n<li>Por otro lado, decepciona la r\u00edgida esquematizaci\u00f3n de GraphQL. Por lo tanto, su \"introspectividad\" parece muy limitada en comparaci\u00f3n con la completa reflexividad de RDF. Y no hay ning\u00fan an\u00e1logo a los property paths, as\u00ed que incluso no est\u00e1 muy claro por qu\u00e9 se llama \"Graph-\".<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ii-adaptery-k-mongodb\">II. Adaptadores para MongoDB<\/h2>\n<p><\/p>\n<p>Una tendencia complementaria a la anterior.<\/p>\n<p><\/p>\n<ul>\n<li>en Stardog ahora <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/native-mongodb-support-is-here\/\">posiblemente<\/a><\/noindex> \u2014 en particular, todo a trav\u00e9s del mismo GraphQL \u2014 es configurar la visualizaci\u00f3n de datos de MongoDB en gr\u00e1ficos RDF virtuales;<\/li>\n<li>GraphDB desde hace poco <noindex><a rel=\"nofollow\" href=\"http:\/\/graphdb.ontotext.com\/documentation\/8.8\/standard\/integrating-graphdb-with-mongodb.html\">permite<\/a><\/noindex> permite insertar fragmentos de MongoDB Query en SPARQL.<\/li>\n<\/ul>\n<p><\/p>\n<p>Hablando m\u00e1s ampliamente sobre los adaptadores a fuentes JSON, que permiten representar m\u00e1s o menos \"sobre la marcha\" el JSON almacenado en estas fuentes como RDF, se puede recordar tambi\u00e9n el ya bastante antiguo <noindex><a rel=\"nofollow\" href=\"https:\/\/ci.mines-stetienne.fr\/sparql-generate\/\">SPARQL Generate<\/a><\/noindex>, que se puede adaptar, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/sparql-generate\/sparql-generate\">por ejemplo<\/a><\/noindex>, a Apache Jena.<\/p>\n<p><\/p>\n<p>Resumiendo las primeras dos tendencias, se puede decir que los almacenes RDF demuestran una total disposici\u00f3n para integrar y funcionar en un entorno de \"almacenamiento polivalente\" (polyglot persistence). Sin embargo, es conocido que esta \u00faltima ya no est\u00e1 de moda, y est\u00e1 siendo reemplazada por <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3105622\">la multimodalidad.<\/a><\/noindex> \u00bfY cu\u00e1l es la situaci\u00f3n de la multimodalidad en el mundo de los almacenes RDF?<\/p>\n<p><\/p>\n<p>En resumen, es inexistente. La tem\u00e1tica de las bases de datos multimodales merece un art\u00edculo aparte, por ahora se puede notar que no existen bases de datos multimodales \"basadas\" en el modelo gr\u00e1fico (una variedad de este podr\u00eda considerarse el RDF). Sobre una peque\u00f1a multimodalidad \u2014 el soporte de modelos gr\u00e1ficos alternativos por parte de los almacenes RDF \u2014 se hablar\u00e1 en <noindex><a rel=\"nofollow\" href=\"#v-podderzhka-lpg\">la secci\u00f3n V<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2 id=\"iii-oltp-vs-olap\">III. OLTP vs. OLAP<\/h2>\n<p><\/p>\n<p>Sin embargo, el mismo Gartner <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gartner.com\/en\/documents\/3467318\">Quartz, Madagascar es el \u00fanico pa\u00eds en \u00c1frica donde la velocidad de descarga de contenido supera los 10 Mbps.<\/a><\/noindex>, se\u00f1ala que la multimodalidad es una condici\u00f3n sine qua non en primer lugar para <em>las bases de datos<\/em> operacionales. Esto es comprensible: en la situaci\u00f3n de \"almacenamiento polivalente\" los principales problemas surgen con la transaccionalidad.<\/p>\n<p><\/p>\n<p>Pero, \u00bfd\u00f3nde se encuentran los almacenes RDF en la escala OLTP\u2014OLAP? Yo responder\u00eda as\u00ed: ni aqu\u00ed, ni all\u00ed. Para designar a lo que est\u00e1n destinados, se necesita alg\u00fan tipo de tercer acr\u00f3nimo. Como opci\u00f3n, propondr\u00eda <em>OLIP<\/em> \u2014 Procesamiento Intelectual Online.<\/p>\n<p><\/p>\n<p>Sin embargo, a\u00fan as\u00ed:<\/p>\n<p><\/p>\n<ul>\n<li>los mecanismos de integraci\u00f3n realizados en GraphDB no est\u00e1n dise\u00f1ados en menor medida <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ontotext.com\/company\/news\/ontotexts-graphdb-8-8-0-enriches-the-knowledge-graph-experience\/\">para sortear problemas de rendimiento de escritura;<\/a><\/noindex> Stardog va a\u00fan m\u00e1s all\u00e1 y reescribe completamente<\/li>\n<li>el motor, nuevamente con el objetivo de mejorar el rendimiento de escritura. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">Y ahora perm\u00edtanme presentar un nuevo jugador en el mercado. De los creadores de IBM Netezza y Amazon Redshift \u2014<\/a><\/noindex> AnzoGraph.<\/li>\n<\/ul>\n<p><\/p>\n<p>La imagen de la publicidad del producto se incluy\u00f3 al inicio del art\u00edculo. AnzoGraph se posiciona como una soluci\u00f3n GOLAP. \u00bfQu\u00e9 les parece SPARQL con funciones de ventana? \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\">Ya se mencion\u00f3 anteriormente<\/code><\/pre>\n<p><\/p>\n<h2 id=\"iv-rocksdb\">un enlace<\/h2>\n<p><\/p>\n<p>al anuncio de Stardog 7 Beta, donde se mencionaba que Stardog tiene la intenci\u00f3n de utilizar RocksDB como sistema de almacenamiento subyacente \u2014 un almac\u00e9n de \"clave-valor\", un fork de Facebook de LevelDB de Google. \u00bfPor qu\u00e9 ya se puede hablar de una cierta tendencia? <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/blog\/announcing-stardog-7-beta\/\">En primer lugar, seg\u00fan<\/a><\/noindex> un art\u00edculo de Wikipedia<\/p>\n<p><\/p>\n<p>, no solo los almacenes RDF est\u00e1n \"migrando\" a RocksDB. Hay proyectos que utilizan RocksDB como motor de almacenamiento en ArangoDB, MongoDB, MySQL y MariaDB, Cassandra. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/RocksDB#Alternative_backend\">En segundo lugar, se est\u00e1n realizando proyectos sobre RocksDB (es decir, no productos) en la tem\u00e1tica correspondiente.<\/a><\/noindex>, en RocksDB no solo se 'transplantan' almacenes RDF. Hay proyectos que utilizan RocksDB como motor de almacenamiento en ArangoDB, MongoDB, MySQL y MariaDB, Cassandra.<\/p>\n<p><\/p>\n<p>En segundo lugar, se est\u00e1n desarrollando proyectos (es decir, no productos) relacionados con RocksDB.<\/p>\n<p><\/p>\n<p>Por ejemplo, eBay utiliza RocksDB en <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/eBay\/beam\">la plataforma<\/a><\/noindex> para su \u00abgr\u00e1fica de conocimiento\u00bb. Por cierto, es curioso leer: <em>the query language started as a home grown format, but more recently it has been transitioning to be much more like SPARQL<\/em>. Como en el chiste: no importa cu\u00e1ntas gr\u00e1ficas de conocimiento hagamos, siempre resulta ser RDF.<\/p>\n<p><\/p>\n<p>Otro ejemplo es el que apareci\u00f3 hace unos meses <noindex><a rel=\"nofollow\" href=\"https:\/\/www.wikidata.org\/wiki\/Wikidata:History_Query_Service\">Wikidata History Query Service<\/a><\/noindex>. Antes de su aparici\u00f3n, los datos hist\u00f3ricos de Wikidata ten\u00edan que obtenerse a trav\u00e9s de <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mediawiki.org\/wiki\/Wikidata_Query_Service\/User_Manual\/MWAPI\">MWAPI<\/a><\/noindex> al est\u00e1ndar Mediawiki API. Ahora, mucho es posible con puro SPARQL. \u00abBajo el cap\u00f3\u00bb, tambi\u00e9n est\u00e1 RocksDB. Por cierto, parece que WDHQS fue hecho por alguien que trabaj\u00f3 en la importaci\u00f3n de Freebase en Google Knowledge Graph.<\/p>\n<p><\/p>\n<h2 id=\"v-podderzhka-lpg\">V. Soporte de LPG<\/h2>\n<p><\/p>\n<p>Recuerdo la principal diferencia entre los gr\u00e1ficos LPG y los gr\u00e1ficos RDF.<\/p>\n<p><\/p>\n<p>En LPG, se pueden adjuntar propiedades escalares a las instancias de las aristas, mientras que en RDF solo se pueden adjuntar a los \u00abtipos\u00bb de las aristas (aunque no solo propiedades escalares, sino tambi\u00e9n relaciones comunes). Esta limitaci\u00f3n de RDF en comparaci\u00f3n con LPG <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/swbp-n-aryRelations\/\">se supera<\/a><\/noindex> con diversas t\u00e9cnicas de modelado. La limitaci\u00f3n de LPG en comparaci\u00f3n con RDF es m\u00e1s dif\u00edcil de superar, pero los gr\u00e1ficos LPG son m\u00e1s similares a las im\u00e1genes del libro de Harari, por lo que la gente los prefiere.<\/p>\n<p><\/p>\n<p>Es obvio que la tarea del \u00absoporte de LPG\u00bb se divide en dos partes:<\/p>\n<p><\/p>\n<ol>\n<li>realizar cambios en el modelo RDF que permitan simular las construcciones LPG;<\/li>\n<li>realizar cambios en el lenguaje de consultas RDF que permitan acceder a los datos en este modelo modificado, o implementar la posibilidad de realizar consultas a este modelo en lenguajes de consulta populares de LPG.<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"v1--model-dannyh\">V.1. Modelo de datos<\/h3>\n<p><\/p>\n<p>Aqu\u00ed hay varios enfoques posibles.<\/p>\n<p><\/p>\n<p><strong>V.1.1. Propiedad Singleton<\/strong><\/p>\n<p><\/p>\n<p>El enfoque m\u00e1s literal para armonizar RDF y LPG es, probablemente, <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>En lugar, por ejemplo, de un predicado <code>:isMarriedTo<\/code> se utilizan los predicados <code>:isMarriedTo1<\/code>, <code>:isMarriedTo2<\/code> etc.<\/li>\n<li>Luego, estos predicados se convierten en sujetos de nuevos tr\u00edos: <code>:isMarriedTo1 :desde \"2013-09-13\"^^xsd:date<\/code> y dem\u00e1s.<\/li>\n<li>La relaci\u00f3n entre estas instancias de predicado y el predicado com\u00fan se establece mediante tr\u00edos del tipo <code>:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo<\/code>.<\/li>\n<li>Es obvio que <code>rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type<\/code>, pero piensa en por qu\u00e9 no deber\u00edas escribir simplemente <code>:isMarriedTo1 rdf:type :isMarriedTo<\/code>.<\/li>\n<\/ul>\n<p><\/p>\n<p>La tarea del \u00absoporte de LPG\u00bb se resuelve aqu\u00ed a nivel de RDFS. Esta soluci\u00f3n requiere realizar cambios en el correspondiente <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf-schema\/\">est\u00e1ndar<\/a><\/noindex>. Algunos cambios pueden ser necesarios en los almacenes RDF que admiten la conexi\u00f3n de inferencias, y mientras tanto, la Propiedad Singleton puede verse simplemente como otra t\u00e9cnica de modelado.<\/p>\n<p><\/p>\n<p><strong>V.1.2. Reificaci\u00f3n Hecha Correctamente<\/strong><\/p>\n<p><\/p>\n<p>Enfoques menos ingenuos provienen de la conciencia de que las instancias de propiedades pueden ser instanciadas por tripletas. Al poder hablar de tripletas, obtendremos la capacidad de hablar tambi\u00e9n sobre instancias de propiedades.<\/p>\n<p><\/p>\n<p>El enfoque m\u00e1s s\u00f3lido de estos es <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1409.3288\">RDF*<\/a><\/noindex>, tambi\u00e9n conocido como RDR, <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">nacido<\/a><\/noindex> en el seno de Blazegraph. Desde el principio <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">lo eligi\u00f3<\/a><\/noindex> para s\u00ed mismo y AnzoGraph. La solidez del enfoque se determina por el hecho de que en su marco <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1406.3399\">disponibles<\/a><\/noindex> los cambios correspondientes en <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/rdf11-mt\/\">la Sem\u00e1ntica RDF<\/a><\/noindex>. La esencia, sin embargo, es extremadamente simple. En la serializaci\u00f3n Turtle de RDF, ahora se podr\u00e1 escribir algo as\u00ed:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">&lt;&gt; :desde \"2013-09-13\"^^xsd:date .<\/code><\/pre>\n<p><\/p>\n<p><strong>V.1.3. Otros Enfoques<\/strong><\/p>\n<p><\/p>\n<p>No es necesario complicarse con la sem\u00e1ntica formal, sino simplemente considerar que las tripletas tienen ciertos identificadores, que son, por supuesto, URI, y formar nuevas tripletas con estos URI. Solo quedar\u00e1 otorgar acceso a estos URI en SPARQL. As\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_motivation_implementation\">act\u00faa<\/a><\/noindex> Stardog. <\/p>\n<p><\/p>\n<p>En Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html\">tomaron<\/a><\/noindex> un camino intermedio. Se sabe que los identificadores de tripletas en Allegrograph <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-index.html\">hay<\/a><\/noindex>, pero al implementar atributos de tripleta no se exponen externamente. Sin embargo, la sem\u00e1ntica formal todav\u00eda est\u00e1 muy lejos. Es notable que los atributos de tripletas no son URI, y los valores de estos atributos tambi\u00e9n pueden ser solo literales. Los adeptos de LPG obtienen exactamente lo que quer\u00edan. En un formato inventado llamado NQX, un ejemplo similar al anterior para RDF* se ve as\u00ed:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">:bob :marriedTo :alice {\"desde\" : \"2013-09-13\"}<\/code><\/pre>\n<p><\/p>\n<h3 id=\"v2-yazyki-zaprosov\">V.2. Lenguajes de Consultas<\/h3>\n<p><\/p>\n<p>Habida cuenta de que se apoya de alguna manera a LPG a nivel de modelo, es necesario permitir realizar consultas a los datos en dicho modelo.<\/p>\n<p><\/p>\n<ul>\n<li>Blazegraph para consultas a RDF* admite <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.blazegraph.com\/wiki\/index.php\/Reification_Done_Right\">SPARQL*.<\/a><\/noindex> y <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/blazegraph\/tinkerpop3\/blob\/master\/README.md\">Gremlin<\/a><\/noindex>Una consulta en SPARQL* se ver\u00eda as\u00ed:<\/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 tambi\u00e9n admite <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.cambridgesemantics.com\/anzograph\/userdoc\/lpgs.htm\">SPARQL*.<\/a><\/noindex> y tiene la intenci\u00f3n de soportar <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cambridgesemantics.com\/cambridge-semantics-adds-opencypher-anzograph-2\/\">Cypher<\/a><\/noindex>, el lenguaje de consultas en Neo4j. <\/li>\n<li>Stardog admite su propio <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_integration_with_sparql_2\">una extensi\u00f3n<\/a><\/noindex> SPARQL y <noindex><a rel=\"nofollow\" href=\"https:\/\/www.stardog.com\/docs\/#_example_2\">de nuevo<\/a><\/noindex> Gremlin. Se puede obtener en SPARQL el URI de la tripleta y la \"metainformaci\u00f3n\" utilizando una construcci\u00f3n similar a la siguiente:<\/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 tambi\u00e9n admite su propio <noindex><a rel=\"nofollow\" href=\"https:\/\/franz.com\/agraph\/support\/documentation\/current\/triple-attributes.html#Querying-Attributes-using-SPARQL\">una extensi\u00f3n<\/a><\/noindex> SPARQL:<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"sql\"> SELECT * { (\"desde\" ?since)  franz:attributesNameValue  ( :bob :marriedTo ?wife ) }<\/code><\/pre>\n<p><\/p>\n<p>Por cierto, GraphDB durante un tiempo admiti\u00f3 Tinkerpop\/Gremlin, sin admitir LPG, pero en la versi\u00f3n 8.0 o 8.1 eso ces\u00f3.<\/p>\n<p><\/p>\n<h2 id=\"vi-uzhestochenie-licenziy\">VI. Endurecimiento de licencias<\/h2>\n<p><\/p>\n<p>No ha habido novedades recientes en la intersecci\u00f3n de los conjuntos \u00abtriplestore of choice\u00bb y \u00abopen source triplestore\u00bb. Los nuevos almacenes RDF de c\u00f3digo abierto todav\u00eda est\u00e1n lejos de ser una opci\u00f3n adecuada para el uso diario, y el c\u00f3digo fuente de los nuevos almacenes RDF que desear\u00edamos emplear (como AnzoGraph) est\u00e1 cerrado. Podr\u00edamos hablar incluso de reducciones...<\/p>\n<p><\/p>\n<p>Por supuesto, el c\u00f3digo abierto no se cierra por s\u00ed mismo, pero algunos almacenes con c\u00f3digo abierto gradualmente dejan de considerarse opciones dignas. Virtuoso, que tiene una edici\u00f3n de c\u00f3digo abierto, en mi opini\u00f3n, est\u00e1 plagado de errores. Blazegraph fue adquirido por AWS y se convirti\u00f3 en la base de Amazon Neptune; ahora no est\u00e1 claro si habr\u00e1 otro lanzamiento. Solo queda Jena...<\/p>\n<p><\/p>\n<p>Sin embargo, si el c\u00f3digo abierto no es muy importante y solo se quiere probar, la situaci\u00f3n no es tan prometedora como antes. Por ejemplo:<\/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\">deja de<\/a><\/noindex> distribuir una versi\u00f3n gratuita (aunque ha duplicado el per\u00edodo de prueba de la versi\u00f3n normal);<\/li>\n<li>en <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.ontotext.com\/\">GraphDB Cloud<\/a><\/noindex>, donde anteriormente se pod\u00eda elegir un plan b\u00e1sico gratuito, ha suspendido el registro de nuevos usuarios.<\/li>\n<\/ul>\n<p><\/p>\n<p>En general, para el ciudadano IT com\u00fan, el espacio se est\u00e1 volviendo cada vez m\u00e1s inaccesible, y su dominaci\u00f3n es cada vez m\u00e1s una tarea de las corporaciones.<\/p>\n<p>Fuente: <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 - 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\/es\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\u00bfQu\u00e9 est\u00e1 sucediendo ahora con los almacenes RDF? | ProHoster","description":"La Web Sem\u00e1ntica y los Datos Conectados son como el espacio cercano: no hay vida all\u00ed. Para aventurarse all\u00ed durante un tiempo considerable... bueno, no s\u00e9 qu\u00e9 te dijeron en tu infancia cuando dijiste \u00abquiero ser astronauta\u00bb.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/chto-sejchas-proishodit-s-rdf-hranilishhami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/33363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=33363"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/33363\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/25082"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=33363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=33363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=33363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}