在Virtuoso 37000錯誤方面,您的錯誤如下:
您在之後: skos:概念在第2行,並且您錯過了「American_punk_rock_guitarists」的前綴。
American_punk_rock_guitarists應該已經dbpcat:American_punk_rock_guitarists。雖然這是要給你一個空的結果,語法正確的版本,或者您的查詢是:
prefix dbpcat: <http://dbpedia.org/resource/Category:>
SELECT ?category ?subject WHERE
{
?category a skos:Concept .
?category skos:Concept dbp:catAmerican_punk_rock_guitarists.
?category dct:subject ?subject .
} LIMIT 1000
這將返回因爲下面的空集:
一個。 skos:概念是一個類,而不是一個屬性。根據{?Subject?Predicate?Object},您只能在合適的SPARQL查詢中將skos:Concept視爲?主體和/或?對象[1]。區分類和屬性的簡單方法是,類應以大寫字母(例如:skos:概念)開頭,屬性(謂詞)應以小寫字母開頭(例如:rdf:type)。
b。 dbpcat:American_punk_rock_guitarists屬於「skos:Concept」類型。如果您查看此實體(?主題)的DBPedia頁面,您將在「rdf:type」行中看到這一點。仔細觀察,你會發現這個概念是一個dct:subject各種其他實體[2]。
除了@馬克·米勒的查詢這一塊也將提供結果:
prefix dbpcat: <http://dbpedia.org/resource/Category:>
SELECT ?subject ?category
WHERE
{ ?subject dct:subject ?category.
?category a skos:Concept.
filter(?category = dbpcat:American_punk_rock_guitarists).
}
LIMIT 10
SKOS:這裏不需要概念,僅僅因爲它是如何被使用的例子,如果你正在尋找的東西如「所有類型 - skos:概念」。
鏈接:
- https://www.w3.org/2009/08/skos-reference/skos.html#Concept
- http://dbpedia.org/resource/Category:American_punk_rock_guitarists
二三折模式顯然是錯誤的。請檢查那裏的語法。 – AKSW
然後,你想「從類別中選擇一些東西,例如主題」 - 這完全令人困惑,你在混合東西:屬於一個類別的東西具有類別的主題。看到下面的答案,這是正確的方法。 – AKSW
爲了將來的參考,完整的錯誤文本通常比錯誤代碼本身更具啓發性。另外,至少在您學習SPARQL時,您可能會發現使用[拖放式圖形查詢構建器iSPARQL](http://dbpedia.org/isparql/)很有幫助。 – TallTed