मैं सफलता के बिना regex फिल्टर का उपयोग करके SPARQL में एक शब्द मिलान करने के लिए कोशिश कर रहा हूँ, लेकिन ...:/ मैं पर स्थित समाप्ति बिंदु को क्वेरी "भेज रहा http://dbtune.org/ म्यूज़िक/SPARQL "। खैर, निम्न क्वेरी काम करता है:SPARQL regex फिल्टर
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX mo: <http://purl.org/ontology/mo/>
SELECT ?artist ?name
WHERE {
?artist a mo:MusicArtist
. ?artist foaf:name "Switchfoot"
. ?artist foaf:name ?name
. FILTER(regex(str(?name), "switchfoot", "i"))
}
लेकिन, अगर मैं लाइन को हटाने के 7 (कलाकार foaf:।? नाम "स्विचफुट"), निम्न क्वेरी से मेल नहीं खाता:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX mo: <http://purl.org/ontology/mo/>
SELECT ?artist ?name
WHERE {
?artist a mo:MusicArtist
. ?artist foaf:name ?name
. FILTER(regex(str(?name), "switchfoot", "i"))
}
मैं पता नहीं है कि मैं कुछ गलत तरीके से कर रहा हूं या यह एंडपॉइंट की एक बग है ...
क्या कोई मेरी मदद कर सकता है?
या तो एक बग (जैसे आप कहते हैं) या किसी प्रकार की क्वेरी थ्रॉटलिंग की smacks। मुझे आश्चर्य है कि वे किस अंतराल का उपयोग करते हैं? – user205512
एंडपॉइंट "http://dbtune.org/musicbrainz/sparql" है ... मैंने एक परीक्षण किया है और मुझे एहसास हुआ कि अंतराल बिंदु परिणामों को 1000 तक सीमित कर देता है। मैंने निम्नलिखित क्वेरी भेजी: चयन गिनती (? कलाकार) कहां {कलाकार एक मो: संगीत कलाकार} और यह 1000 लौटा, जो बहुत छोटा है ... मुझे लगता है कि यह वास्तव में एक बग है ... =/ –