Ich habe einen IRI, die einen Schrägstrich im IRI hat:Slash in IRI (SPARQL)
Beispiel triple
:name/name1 :hasCity :City.
ich alle Namen suchen, die den Schrägstrich in ihnen haben.
Ich habe die Abfrage versucht:
select ?name {?name ?pred ?obj FILTER regex(str(?name),"/")}
Das gibt mir alle Namen, auch wenn sie ein/
Die haben nicht versucht, I:
select ?name {?name ?pred ?obj FILTER regex(str(?name),"//")}
dies gibt auch Ich alle Namen einschließlich diejenigen, die keine/
haben Ich habe versucht:
select ?name {?name ?pred ?obj FILTER regex(str(?name),"\/")}
dafür bekomme ich den Fehler: Bad Escape-Sequenz in einer kurzen Strings in doppelten Anführungszeichen an ‚" \‘
ein richtiger Weg, die, die mit Gibt es zu bekommen‚/‘nur in dem Teil nach das IRI-Präfix?
Nachfolgefrage: Gibt es eine Möglichkeit, diese Namen abzufragen, ohne dass ein Fehler von SPARQL ausgegeben wird?
Short IRIs, die mit „:“ get erweitert, um volle IRIs durch Anhängen des Standard-Namespace vor ihnen. In den meisten Fällen enthält der Namespace bereits "/" - Zeichen (http: // oder file: /) und daher entspricht Ihre Regex einem solchen IRI. – CaptSolo
BTW "/" ist ein Schrägstrich (oder nur Schrägstrich) und kein umgekehrter Schrägstrich. – CaptSolo
@DRSK: Meinst du Schrägstrich '/' oder Backslash '\'? Wenn Sie wirklich Slash '/' meinen, funktioniert dies nicht für URIs, da diese nach der Protokolldefinition normalerweise bereits Schrägstriche enthalten. Ansonsten bearbeiten Sie bitte Ihre Frage. – AKSW