Lenguaje de consulta del marco de descripción de recursos, una recomendación del W3C
Un lenguaje de consulta RDF es un lenguaje informático , específicamente un lenguaje de consulta para bases de datos , capaz de recuperar y manipular datos almacenados en formato Marco de descripción de recursos (RDF).
SPARQL surgió como el lenguaje de consulta RDF estándar [1] y en 2008 se convirtió en una recomendación del W3C . [2] [3]
Propiedades del lenguaje de consulta
Las propiedades relevantes para el diseño del lenguaje de consulta RDF incluyen la compatibilidad con el formato RDF: [4]
- Soporte para datos RDF, que es una colección de tripletas que forman el gráfico RDF.
- Soporte para la semántica e inferencia RDF que permite la vinculación, el razonamiento sobre el significado de los gráficos RDF.
- Compatibilidad con tipos de datos de esquema, como el esquema XML
y para características de lenguaje deseables:
- Expresividad: el poder de la expresión de consulta que se puede construir.
- Cierre: las operaciones de datos en un gráfico RDF deberían dar como resultado otro gráfico RDF
- Ortogonalidad: las operaciones de datos son independientes del contexto en el que se utilizan.
- Seguridad: cada expresión devuelve un conjunto finito de resultados.
Familias de lenguajes de consulta
Los lenguajes de consulta RDF se pueden agrupar en familias de lenguajes, cada familia comprende un conjunto de lenguajes estrechamente relacionados. [5]
La familia de lenguajes SPARQL incluye SquishQL, RDQL, SPARQL y TriQL. [5] Estos lenguajes tratan los almacenes de datos RDF como almacenes triples que no necesariamente tienen información de ontología o esquema asociada. Los miembros de la familia SPARQL se consideran lenguajes de consulta relacionales porque tienen operaciones relacionales o basadas en patrones. [6] SquishQL era un lenguaje construido para ser fácil de usar y similar en estructura a SQL. RDQL, acrónimo de RDF Data Query Language, fue un desarrollo posterior de SquishQL. RDQL estaba destinado a ser un lenguaje RDF simple de bajo nivel y en un momento fue candidato para la estandarización del W3C. [7] SPARQL es una extensión de RDQL que admite la extracción de subgrafos RDF. En 2008, SPARQL 1.0 se convirtió en una recomendación del W3C [8] y SPARQL 1.1 se convirtió en una recomendación del W3C en 2013. [9]
La familia de lenguajes RQL incluye RQL, SeRQL y eRQL. [5] Estos lenguajes admiten la consulta tanto de datos como de esquemas. RQL, acrónimo de RDF Query Language, es conocido por utilizar tipos definidos en esquemas RDF (RDFS) para consultar la jerarquía de clases de esquema y admitir consultas de datos por tipo. RQL se considera más expresivo que la familia de lenguajes SPARQL, pero ha sido criticado por demasiadas características y construcciones sintácticas inusuales. SeRQL y eRQL se desarrollaron como alternativas simplificadas a RQL.
Existe una familia de lenguajes de consulta RDF inspirados en la tecnología de consulta XML. [5] XQuery para RDF utiliza el lenguaje de consulta XML XQuery para consultar datos RDF serializando RDF en un formato XML y luego usando XQuery en el resultado; a esto se le ha llamado el "enfoque web sintáctico". TreeHugger y RDF Twig usan XSLT para consultar datos RDF. Versa de 4Suite es un lenguaje de consulta que se inspiró en XPath .
Existen lenguajes de consulta RDF basados en otros principios. [5] Metalog combina consultas con razonamiento y tiene una sintaxis similar al inglés. Algae es un lenguaje de consulta desarrollado por el W3C que agrega reglas reactivas, [10] también llamadas acciones, que determinan, por ejemplo, si una expresión de Algae es una consulta de datos o una actualización de datos.
Otros ejemplos de lenguajes de consulta RDF incluyen RDFDBQL. [11]
Ejemplo
seleccione ?uri , ?nombre , ?lat , ?lon de <http://swordfish.rdfweb.org/discovery/2003/11/cities/xmlrdf.jsp?query=port> donde ( ?ciudad , <rdfs:label> , ?nombre ), ( ?ciudad , <rdfs:label> , ?uri ), ( ?ciudad , <pos:lat> , ?lat ), ( ?ciudad , <pos:long> , ?lon ) usando rdfs FOR < http://www.w3.org/2000/01/rdf-schema#> , pos PARA <http://www.w3.org/2003/01/geo/wgs84_pos#> , doilair PARA <http:// www.daml.org/2001/10/html/airport-ont#> , vcard PARA <http://www.w3.org/vcard-rdf/3.0#>
Idiomas relacionados
Otros idiomas que pueden consultar datos RDF incluyen:
- DQL, basado en XML , consultas y resultados expresados en DAML+OIL
- XUL tiene un elemento de plantilla en el que declarar reglas para hacer coincidir datos en RDF. XUL utiliza ampliamente RDF para el enlace de datos.
- Adenine (lenguaje de programación escrito en RDF).
XQuery , o XML Query, es un lenguaje de consulta estándar para documentos XML. [12]
Los lenguajes de consulta de gráficos , como Cypher Query Language , GraphQL y Gremlin , están diseñados para consultar bases de datos de gráficos , de los cuales los almacenes de datos RDF son un ejemplo. [13]
El Topic Map Query Language (TMQL) [14] es un lenguaje de consulta para mapas de temas , una representación de datos similar pero más general que RDF.
Referencias
- ^ Bikakis, Nikos; Tsinaraki, Chrisa; Gioldasis, Nektarios; Stavrakantonakis, Ioannis; Christodoulakis, Stavros (1 de enero de 2013). "Los mundos XML y la web semántica: tecnologías, interoperabilidad e integración: un estudio del estado del arte". Adaptación semántica hiper/multimedia . Estudios en Inteligencia Computacional. vol. 418, págs. 319–360. arXiv : 1608.03556 . doi :10.1007/978-3-642-28977-4_12. ISBN 978-3-642-28976-7. S2CID 6357481.
- ^ Prud'hommeaux, Eric; Seaborne, Andy (15 de enero de 2008). "Lenguaje de consulta SPARQL para RDF". W3C . Consorcio Mundial de la red.
- ^ Herman, Ivan (15 de enero de 2008). "SPARQL es una recomendación". Noticias de actividad de la Web Semántica . Consorcio Mundial de la red.
- ^ Haase, Pedro; Broekstra, Jeen; Eberhart, Andreas; Volz, Raphael (7 de noviembre de 2004). "Una comparación de lenguajes de consulta RDF". La Web Semántica - ISWC 2004 . Apuntes de conferencias sobre informática. vol. 3298, págs. 502–517. CiteSeerX 10.1.1.105.8731 . doi :10.1007/978-3-540-30475-3_35. ISBN 978-3-540-23798-3.
- ^ abcde Bailey, James; Bry, François; Furche, Tim; Schaffert, Sebastián (1 de enero de 2005). "Lenguajes de consulta web y web semántica: una encuesta". Web de razonamiento. Apuntes de conferencias sobre informática. vol. 3564, págs. 35-133. doi :10.1007/11526988_3. ISBN 9783540278283. Consultado el 23 de octubre de 2016 .
- ^ Furche, Tim; Linse, Benedikt; Bry, François; Plexousakis, Dimitris; Gottlob, Georg (1 de enero de 2006). "Consulta RDF: construcciones del lenguaje y métodos de evaluación comparados". Web de razonamiento . Apuntes de conferencias sobre informática. vol. 4126, págs. 1–52. CiteSeerX 10.1.1.71.227 . doi :10.1007/11837787_1. ISBN 978-3-540-38409-0.
- ^ "RDQL: un lenguaje de consulta para RDF". www.w3.org . W3C . Consultado el 23 de octubre de 2016 .
- ^ "SPARQL es una recomendación | Noticias de actividades de la web semántica". www.w3.org . Consultado el 23 de octubre de 2016 .
- ^ "Once especificaciones de SPARQL 1.1 son recomendaciones del W3C | Noticias de actividad de la web semántica". www.w3.org . Consultado el 23 de octubre de 2016 .
- ^ Berstel, Bruno; Bonnard, Philippe; Bry, François; Eckert, Michael; Pătrânjan, Paula-Lavinia (1 de enero de 2007). "Reglas reactivas en la Web". Web de razonamiento . Apuntes de conferencias sobre informática. vol. 4636, págs. 183–239. doi :10.1007/978-3-540-74615-7_3. ISBN 978-3-540-74613-3.
- ^ Fensel, Dieter; Sicara, Katia; Mylopoulus, John (2003). La Web Semántica - ISWC 2003. Springer . pag. 89.ISBN 9783540203629. Consultado el 21 de octubre de 2016 .
- ^ "XQuery 3.0: un lenguaje de consulta XML". www.w3.org . W3C . Consultado el 23 de octubre de 2016 .
- ^ Ángulos, Renzo; Gutiérrez, Claudio (29 de mayo de 2005). "Consulta de datos RDF desde la perspectiva de una base de datos de gráficos". La Web Semántica: Investigación y Aplicaciones . Apuntes de conferencias sobre informática. vol. 3532. págs. 346–360. doi :10.1007/11431053_24. ISBN 978-3-540-26124-7.
- ^ "Lenguaje de consulta de mapa de temas (TMQL)". www.isotopicmaps.org . Consultado el 23 de octubre de 2016 .
enlaces externos
- Especificación de consulta RDF
- Encuesta sobre lenguaje de consulta RDF
- Una comparación de (algunos) lenguajes de consulta RDF
- Casos de uso de consultas RDF, incluidos ejemplos de lenguaje de consulta
- SparQL