Uma linguagem de consulta a RDF (RDF query language) é uma linguagem de computador, especificamente uma linguagem de consulta para bancos de dados, capaz de recuperar e manipular dados armazenados no formato RDF (Resource Description Framework).
O SPARQL surgiu como a linguagem de consulta RDF padrão, e em 2008 se tornou uma recomendação do W3C.
Propriedades da linguagem de consulta As propriedades relevantes ao design da linguagem de consulta RDF incluem suporte para o formato RDF:
Suporte para dados RDF, que é uma coleção de triplos que formam um grafo RDF Suporte para semântica e inferência de RDF que permite vinculação, o raciocínio sobre o significado dos grafos de RDF Suporte para tipos de dados de esquema, como esquema XML
e para recursos gerais de linguagens de consulta:
Expressividade (o poder da expressão de consulta que pode ser construída) Encerramento (operações de dados em um grafo RDF devem resultar em outro grafo RDF) Ortogonalidade (as operações de dados são independentes do contexto em que são usadas) Segurança (toda expressão retorna um conjunto finito de resultados)
Famílias de linguagens de consulta As linguagens de consulta RDF podem ser agrupados em famílias de linguagens, cada família compreendendo um conjunto de idiomas intimamente relacionados.
A família de linguagens SPARQL inclui SquishQL, RDQL, SPARQL e TriQL. Essas linguagens tratam os repositórios de dados RDF como repositórios triplos que não possuem necessariamente informações de ontologia ou esquema associadas a eles. Os membros da família SPARQL são considerados linguagens de consulta relacional porque possuem operações relacionais ou baseadas em padrões. O SquishQL foi uma linguagem construída para ser fácil de usar e ter estrutura semelhante ao SQL. RDQL, um acrônimo para RDF Data Query Language, foi um desenvolvimento adicional do SquishQL. O RDQL pretendia ser uma linguagem RDF de baixo nível simples e, em um determinado momento, era candidato à padronização do W3C. SPARQL é uma extensão do RDQL que suporta extração de subgráficos RDF. Em 2008, o SPARQL 1.0 se tornou uma recomendação do W3C e o SPARQL 1.1 se tornou uma recomendação do W3C em 2013.
A família de linguagens RQL inclui RQL, SeRQL e eRQL. Esses idiomas suportam a consult tanto de dados como de esquemas. O RQL, um acrônimo para RDF Query Language, é conhecido por usar os tipos definidos nos esquemas RDF (RDFS) para consultar a hierarquia de classes do esquema e oferecer suporte à consulta de dados por tipo. O RQL é considerado mais expressivo que a família de linguagens SPARQL, mas foi criticado por muitos recursos e construções sintáticas incomuns. O SeRQL e o eRQL foram desenvolvidos como alternativas simplificadas ao RQL.
Há uma família de linguagens de consulta RDF inspiradas na tecnologia de consulta XML. O XQuery para RDF usa a linguagem de consulta XML XQuery para consultar dados RDF serializando RDF em um formato XML e, em seguida, usando XQuery no resultado; isso foi chamado de "abordagem da web sintática". TreeHugger e RDF Twig usam XSLT para consultar dados RDF. A Versa , da 4Suite, é uma linguagem de consulta que se inspirou no XPath .
Existem linguagens de consulta RDF com base em outros princípios. O Metalog combina consulta com raciocínio e possui uma sintaxe semelhante ao inglês. Algas é uma linguagem de consulta desenvolvida pelo W3C que adiciona regras reativas, também chamadas de ações, que determinam, por exemplo, se uma expressão de algas é uma consulta de dados ou uma atualização de dados.
Outros exemplos de linguagens de consulta RDF incluem RDFDBQL .
Exemplo select ?uri,?name, ?lat, ?lon from <http://swordfish.rdfweb.org/discovery/2003/11/cities/xmlrdf.jsp?query=port> where (?city, <rdfs:label>, ?name), (?city, <rdfs:label>,?uri), (?city, <pos:lat>, ?lat), (?city, <pos:long>, ?lon) using rdfs FOR <http://www.w3.org/2000/01/rdf-schema#>, pos FOR <http://www.w3.org/2003/01/geo/wgs84_pos#>, doilair FOR <http://www.daml.org/2001/10/html/airport-ont#>, vcard FOR <http://www.w3.org/vcard-rdf/3.0#>
Linguagens relacionadas Outros idiomas que podem consultar dados RDF incluem:
DQL, XML, consultas e resultados expressos em DAML + OIL O XUL possui um elemento de modelo no qual declarar regras para correspondência de dados no RDF. XUL usa RDF extensivamente para ligação de dados. Adenina (linguagem de programação escrita em RDF).
XQuery, ou XML Query, é uma linguagem de consulta padrão para documentos XML.
Linguagens de consulta de grafos, como Cypher Query Language, GraphQL e Gremlin, são projetadas para consultar bancos de dados de grafos, dos quais armazenamentos de dados RDF são um exemplo.
A Linguagem de Consulta de Mapa de Tópicos (TMQL) é uma linguagem de consulta para mapas de tópicos, uma representação de dados semelhante, mas mais geral, ao RDF.
Ligações externas
Especificação de consulta RDF Pesquisa de linguagem de consulta RDF Uma comparação de (alguns) idiomas de consulta RDF Casos de uso de consulta RDF, incluindo amostras de linguagem de consulta SparQL
Categoria:Linguagens de consulta