DBpedia SPARQL Abfrage eines bestimmten rdfs: labels

8

Grundsätzlich habe ich eine Abfrage (siehe unten), die effizient funktioniert. Ich möchte jedoch, dass meine Suche genauer ist, wo die Bezeichnung die tatsächliche Zeichenfolge "yago" ist und nicht die Zeichenfolge "yago" enthält. Ich möchte versuchen, es ohne Filter zu tun, wenn möglich, da ich denke, dass die Verwendung von FILTER länger dauert, um DBpedia abzufragen.

%Vor%     
Sam 20.01.2012, 22:20
quelle

2 Antworten

13

Sie können Folgendes tun, wenn Sie dies ohne Filter tun möchten:

%Vor%

Ich bin mir aber nicht sicher, ob es viel schneller ist als die entsprechende Abfrage mit Filtern:

%Vor%     
ip. 21.01.2012 00:50
quelle
3

Eine Schlüsselkorrektur zur ursprünglichen Antwort. Wenn Sie eine genaue Übereinstimmung mit der Sprachbezeichnung haben, funktioniert Folgendes:

%Vor%

Wenn die genaue Übereinstimmung jedoch möglicherweise nicht das verwendet, was Sie möchten, unterstützt SPARQL eine Standardregex:

%Vor%

... die unabhängig von der Groß- / Kleinschreibung der Zeichenfolge entspricht, und Sie können die üblichen Regex-Spiele spielen, um die erforderliche Zeichenfolgenübereinstimmung zu erhalten. (Natürlich sind andere String-Funktionen wie STRSTARTS und STRENDS effizienter, wenn sie die gewünschten Kriterien erfüllen.)

    
scotthenninger 24.03.2016 02:51
quelle

Tags und Links