Gruplama sonucu için sparql sorgusu yaptım ve sorguyu SPARQL son noktası http://glam.iptime.org/sparql aracılığıyla gerçekleştirdim.Neden sparql sorgum sonuç vermiyor?
Ancak, hiçbir sonuç ve hata iletisi almadım.
Sorgu, aşağıdakine benzer.
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 sorgumun bir sorunu var mı? Hangi sorun var?
Sparql sorgu bildirim sırası yanlış olduğunu düşünüyorum. Başka bir fikrin var mı?
Kimsenin, sorgulama yaptığınız veriyi anlamadan söyleyebildiği bir yöntem yoktur. SPARQL'in mükemmel bir şekilde geçerli olması olabilir, ancak verilerinizde bir eşleşme yoktur. Birkaç ipucu: çoklu IF yerine COALESCE'e bakın ve alt-seçim, toplamları bir araya getirmek için kullanılmadıkça hemen hemen her zaman bir hatadır. – scotthenninger
Ayrıca, "sorgu bildirme sırası yanlış" ile ne ifade edildiğini net değil. SPARQL bir bildirim dilidir ve bu nedenle sorgu cümlelerinin sırasının sonuç üzerinde hiçbir etkisi olmaz. Sipariş sorgu etkinliğini etkileyebilir, ancak bu farklı bir konu. – scotthenninger