2017-01-12 4 views
0

Comment puis-je supprimer toutes les instructions triples pour un uri donné?SUPPRIMER QUERY SPARQL FUSEKI

Mon graphique contient:

PREFIX mo: <http://www.dbwic.org/ontology#> 
      PREFIX term: <http://www.dbwic.org/ontology/terms/> 
      PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
<http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a> term:title "tiitle album"; 
                    term:date "date title"; 
                    term:name " name ". 

J'ai essayé de supprimer tous les triplets pour http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a mais la requête ne fonctionne pas.

PREFIX mo: <http://www.dbwic.org/ontology#> 
      PREFIX term: <http://www.dbwic.org/ontology/terms/> 
      PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
delete{ ?id ?p ?o} 
where 
    { 
    FILTER (?id = <http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a>) 
    ?id ?p ?o 
    } 

SPARQL requête: Aucun paramètre 'query =' (# 400) Erreur 400: interrogation SPARQL: Non 'query =' paramètre

+0

Le problème se situe dans votre URL de service SPARQL resp. la config Fuseki. S'il vous plaît montrer les deux – AKSW

+1

duplication possible de [Jena Fuseki Sparql Aucune requête = erreur] (http://stackoverflow.com/questions/35451715/jena-fuseki-sparql-no-query-error) –

Répondre

2

Je ne peux pas aider à Fuseki, mais je voulais souligner que vous avez un anti-pattern SPARQL ici. La clause where n'a pas besoin de FILTER. C'est à dire. remplacer

{ 
    FILTER (?id = <http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a>) 
    ?id ?p ?o 
} 

... avec le BGE (motif de base graphique)

{ 
    <http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a> ?p ?o . 
} 
2

DELETE WHERE { <http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a> ?p ?o }

mais votre problème est le suivant:

SPARQL Query: No 'query=' parameter 

Il semble que vous envoyez une mise à jour du point de terminaison de la requête.

Les points de terminaison de mise à jour et de requête sont distincts.

Vérifiez le code utilisé pour envoyer la demande de mise à jour. Il est généralement appelé "mise à jour":

http://host:port/*YourDataset*/update 

Le critère d'évaluation de la requête se termine .../query ou .../sparql.

0

Assurez-vous que vous pointez sur le point d'extrémité approprié. Dans Fuseki, le point de terminaison des requêtes

par exemple (http://localhost:3030/mydataset/query) est différent de l'extrémité de mise à jour (http://localhost:3030/mydataset/update).

Sélectionne, demande et construit devrait être fait en utilisant le premier, tandis que les mises à jour, les insertions et les suppressions devraient être faites en utilisant le second.