Amigos,
Fechando as queries básicas sobre SPARQL, faltou mencionar o INSERT e DELETE de triplas.
Os exemplos abaixo não poderão ser feito em um endpoint externo como a DBPedia (pelo menos não deveria ser possível), pois para tal é necessário a permissão de UPDATE no usuário.
INSERT, como inserir triplas no Virtuoso ?
O insert no virtuoso é simples, basta informar o grafo e a tripla a ser inserida.
Pode ser adicionada mais de uma tripla por query de insert.
INSERT data INTO <grafo> { <sujeitoDaTripla> <predicadoDaTripl> <objetoDaTripla> . }
DELETE, como apagar triplas no Virtuoso ?
O delete no virtuoso, lembra muito o conceito das consultas,
ele deleta o resultado das consultas, isso possibilita um delete mais avançado.
Você não precisa explicitar toda a tripla a ser deletada, você pode passar uma variável.
Apagando uma única tripla:
### Apagando tripla, informando: sujeito, predicado e objeto. delete from <grafo> { <sujeitoDaTripla> <predicadoDaTripl> <objetoDaTripla> . } where { <sujeitoDaTripla> <predicadoDaTripl> <objetoDaTripla> . }
Apagando múltiplas triplas dado um indivíduo:
### Apagando todas as triplas dado o sujeito. delete from <grafo> { <sujeitoDaTripla> ?p ?o . } where { <sujeitoDaTripla2> ?p ?o . }
Como definir ao usuário permissão de insert e delete (UPDATE) no ambiente local
Para os dois modos o virtuoso deverá esta inicializado.
Passo-a-passo utilizando o Conductor, interface administrativa do Virtuoso:
Endereço do Conductor (por default): http://localhost:8890/conductor/
Usuário administrador e senha (por default): DBA/DBA
Acesse o Conductor >
Acesse o System Admin >
Selecione a opção User Accounts >
(Selecione qual usuário deseja alterar a permissão, lembrando que o usuário do endpoint e do request HTTP, por default é SPARQL) > Edit >
Em Account Roles selecione SPARQL_UPDATE e clique no “>>” >
Save.
Passo-a-passo utilizando o iSQL do Virtuoso
Ps.: Paths padrões da instalação no Mac OS X Snow Leonard
Path do iSQL: /usr/local/virtuoso-opensource/bin
Inicialize o iSQL: ./isql
Execute o comando:
GRANT SPARQL_UPDATE TO "XXXXX";
### Substitua o XXXXX pelo nome do usuário por exemplo SPARQL.
Encerro nesse post as consultas básicas utilizando SPARQL. Nos próximos post irei falar um pouco mais sobre Ontologias (RDF/OWL).
Abraços.
Boa noite.
Renan Oliveira
Related Articles
- Getting Started with RDF and SPARQL Using 4store and RDF.rb | Jeni’s Musings (jenitennison.com)
- SPARQL Engines Benchmark Results (cweiske.de)
- SparqlImplementations – W3C Wiki (w3.org)
- OpenLink AJAX Toolkit (OAT) Wiki : OAT Interactive SPARQL (iSPARQL) Query Builder (wikis.openlinksw.com)