Tôi đang cố gắng khớp một từ trong SPARQL bằng cách sử dụng bộ lọc regex, nhưng không thành công ...:/ Tôi đang gửi truy vấn đến điểm cuối tại "http://dbtune.org/ musicbrainz/sparql ". Vâng, truy vấn sau đây hoạt động:Bộ lọc regex SPARQL
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"))
}
Nhưng, nếu tôi loại bỏ các dòng 7 (nghệ sĩ foaf:.? Tên "Switchfoot"), các truy vấn sau đây không phù hợp:
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"))
}
tôi không biết nếu tôi đang làm điều gì sai hoặc đó là lỗi của điểm cuối ...
Ai đó có thể giúp tôi không?
Đó là lỗi của một trong hai lỗi (như bạn nói) hoặc một số loại điều chỉnh truy vấn. Tôi tự hỏi họ dùng điểm cuối nào? – user205512
Điểm cuối là "http://dbtune.org/musicbrainz/sparql" ... Tôi đã thực hiện một thử nghiệm và tôi nhận ra rằng điểm cuối giới hạn kết quả đến 1000. Tôi đã gửi truy vấn sau: CHỌN đếm (? nghệ sĩ) WHERE {? nghệ sĩ a mo: MusicArtist} Và nó trở lại 1000, quá ít ... Tôi nghĩ có lẽ đó thực sự là lỗi ... =/ –