Nesta sessão, vamos olhar para a primeira consulta simples e mostrar como executá-la em Jena.
O arquivo "q1.rq" contem a seguinte consulta:
SELECT ?x WHERE { ?x <http://www.w3.org/2001/vcard-rdf/3.0#FN> "John Smith" }
executando esta consulta com a aplicação de consultas em linhas de comando:
--------------------------------- | x | ================================= | <http://somewhere/JohnSmith/> | ---------------------------------
Isso funciona casando o padrão da tripla na clausula WHERE
contra as triplas no grafo RDF. O predicado e o objeto da tripla são valores fixos, então o padrão vai casar somente triplas com estes valores. O sujeito é a variável, e não há outras restrições para a variável. O padrão casa qualquer tripla com aquele predicado e aquele objeto, e isso casa com soluções para x
.
O item entre <> é a URI (atualmente, é uma IRI) e o item entre "" é uma literal. Assim como Turtle, N3 ou N-Triplas, literais tipadas são escritas com \^\^e tags de linguagem podem ser adicionadas com @.
?x é uma variável chamada x. A ? não faz parte do nome e por conta disso não aparece nos resultados.
Há um casamento. A consulta retorna o casamento na variável x da consulta. A saída mostrada foi obtida usando uma das aplicações de ARQ em linhas de comando.
Há scripts de ajuda nos diretórios de ARQ bat/
e
bin/
de sua distribuição. Eles podem não estar na distribuição do Jena. Você deve checar esses scripts antes de usá-los.
Aponte a variável de ambiente ARQROOT
para a localização do arquivo na distribuição do ARQ.
set ARQROOT=c:\MyProjects\ARQ
A distribuição normalmente contém o número da versão no nome do diretório.
No diretório do ARQ, execute:
bat\sparql.bat --data=doc\Tutorial\vc-db-1.rdf --query=doc\Tutorial\q1.rq
Você pode simplesmente colocar o diretório bat/
no seu classpath ou copiar os programas lá. Todos eles dependem de ARQROOT.
Aponte a variável de ambiente ARQROOT
para a localização do arquivo na distribuição do ARQ.
export ARQROOT=$HOME/MyProjects/ARQ
A distribuição normalmente contém o número da versão no nome do diretório.
No diretório do ARQ, execute:
bin/sparql --data=doc/Tutorial/vc-db-1.rdf --query=doc/Tutorial/q1.rq
Você pode simplesmente colocar o diretório bin/
no seu classpath ou copiar os programas lá. Todos eles dependem de ARQROOT.
Cygwin é um ambiente Linux para Windows.
Você precisará modificar o classpath para incluir todos os arquivos jar do diretório lib/
do ARQ.
Por exemplo, no Windows:
ARQdir\lib\antlr-2.7.5.jar;ARQdir\lib\arq-extra.jar;ARQdir\lib\arq.jar; ARQdir\lib\commons-logging-1.1.jar;ARQdir\lib\concurrent.jar;ARQdir\lib\icu4j_3_4.jar; ARQdir\lib\iri.jar;ARQdir\lib\jena.jar;ARQdir\lib\jenatest.jar; ARQdir\lib\json.jar;ARQdir\lib\junit.jar;ARQdir\lib\log4j-1.2.12.jar; ARQdir\lib\lucene-core-2.2.0.jar;ARQdir\lib\stax-api-1.0.jar; ARQdir\lib\wstx-asl-3.0.0.jar;ARQdir\lib\xercesImpl.jar;ARQdir\lib\xml-apis.jar
onde <i>ARQdir</i>
é onde você descompactou o ARQ. Isso tudo precisa estar numa linha.
Os nomes dos arquivos JAR muitas vezes mudam e novos arquivos são adicionados – verifique essa lista com sua versão do ARQ.
Os comandos estão no pacote ARQ.