2016-07-05 21 views
0

Ich habe versucht, einen Wert einer Abfrage in meiner DB auf Murmotta zu aktualisieren. Ich habe eine Menge von Ressourcen wie folgt aus:Sparql Update-Abfrage für den Editierwert einer Eigenschaft

<rdf:Description rdf:about="http://desktop-pqb3a65:8080/marmotta/resource/7e31bb9e-5dee-4f44-b082-9f770d465ea0"> 
<hasContentPath xmlns="http://www.kiwi-project.eu/kiwi/core/">D:\Software\Marmotta\marmotta-home\resources\56\cc\73\56cc736b-f597-47e8-9ffc-f37c3dbf66be</hasContentPath> 
<about xmlns="http://schema.org/">Fondamenti di Informatica</about> 
<name xmlns="http://schema.org/">Hello World!</name> 
<author xmlns="http://schema.org/">EduOpen</author> 
<audience xmlns="http://schema.org/">Qualsiasi</audience> 
<actor xmlns="http://schema.org/">Gianni Vercelli</actor> 
<description xmlns="http://schema.org/">Accenni storici sulla nascita del calcolatore</description> 
<width xmlns="http://schema.org/"></width> 
<height xmlns="http://schema.org/"></height> 
<duration xmlns="http://schema.org/"></duration> 
</rdf:Description> 

ich das hasContentPath Feld bearbeiten möchten, ich habe einen Wert wie folgt aus:

D:\Software\Marmotta\marmotta-home\resources\56\cc\73\56cc736b-f597-47e8-9ffc-f37c3dbf66be 

Ich möchte einen Wert wie bearbeiten und einfügen:

resources\56\cc\73\56cc736b-f597-47e8-9ffc-f37c3dbf66be 

Können Sie mir helfen? Ich habe versucht, diese Abfrage:

PREFIX schema: <http://schema.org/> 

DELETE { ?resource <http://www.kiwi-project.eu/kiwi/core/> 'D:\Software\Marmotta\marmotta-home\resources\56\cc\73\56cc736b-f597-47e8-9ffc-f37c3dbf66be' } 
INSERT { ?resource <http://www.kiwi-project.eu/kiwi/core/> 'resources\56\cc\73\56cc736b-f597-47e8-9ffc-f37c3dbf66be' } 
WHERE 
{ ?resource schema:name 'Hello World!' 
} 
+2

Sie möchten den Eigenschaftswert von 'hasContentPath' ändern, warum setzen Sie dies nicht in Ihrer Abfrage? Sie haben 'http: // www.kiwi-project.eu/kiwi/core/' als Prädikat benutzt, aber das ist überhaupt keine Eigenschaft. – AKSW

+0

Sie sagen nicht, was Sie bekommen. – AndyS

+0

Wie verhält es sich mit Virtuoso? – TallTed

Antwort

0

Einzel \ in Strings sind für Escape-Sequenzen. Im Gegensatz zur Linux-Shell haben '' Strings auch eine Escape-Funktion. \S ist illegal als Flucht - streng genommen ist das ein Syntaxfehler. Es scheint in irgendeiner Weise interpretiert zu werden, aber es ist unwahrscheinlich, dass die Zeichen \ und S sind.