我爲分組結果做了sparql查詢,並通過SPARQL端點http://glam.iptime.org/sparql執行查詢。爲什麼我的sparql查詢得不到結果?
但是,我沒有結果,也沒有錯誤消息。
查詢如下所示。
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX cfo: <http://lod.culture.go.kr/ontology/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?age ?typeName (count(?s) as ?cnt)
WHERE {
{
select * where {
?s rdf:type cfo:CulturalObject.
?s rdfs:label ?label.
?s cfo:temporal ?time.
?time cfo:begin ?begin.
BIND (STRDT(replace(?begin, 'BC', '-'), xsd:float) as ?year).
BIND(IF(?year > 1897, "modern", IF(?year > 1392, "chosun", IF(?year > 918, "goryeo", IF(?year > 700, "north_south", IF(?year > -58, "three_states", "ancient"))))) as ?age).
?s dc:type ?type.
?type rdfs:label ?typeName.
}
}
FILTER(BOUND(?age)).
}
GROUP BY ?age ?typeName
LIMIT 100
我的sparql查詢有問題嗎? 它有什麼問題?
我認爲sparql查詢聲明的順序是錯誤的。 有沒有其他意見?
沒有任何人可以分辨出您正在查詢的數據。可能是SPARQL完全有效,但數據不匹配。一些提示:查看COALESCE而不是多個IF和子選擇幾乎總是一個錯誤,除非使用子選擇來計算聚集。 – scotthenninger
另外,不清楚「查詢聲明順序爲假」是什麼意思。 SPARQL是一種聲明性語言,因此查詢子句的順序對結果沒有影響。排序可能會影響查詢效率,但這是一個不同的主題。 – scotthenninger