你可以使用查詢像這樣的發現不止一個方法作者:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX : <http://www.semanticweb.org/vyacheslav/ontologies/2013/11/untitled-ontology-6#>
SELECT ?author (count(?method) as ?numMethods)
WHERE {
?method :hasAuthor ?author .
?author a :Author .
}
group by ?author
having (?numMethods > 1)
結果是這樣的:
![results in Protégé](https://i.stack.imgur.com/c58Vn.png)
有兩點要注意,雖然。理想情況下,您希望指定該方法實際上是一種方法。首先,通常是一個好主意,用單數命名您的類,因爲更自然地說,單個方法「是方法」而不是「方法」。總之,因爲類被命名方法,這將是很好寫的查詢身體
?method a :Methods .
?method :hasAuthor ?author .
?author a :Author .
,但是這不會工作,除非你有一個推理連接(這樣被聲明爲的子類的成員個人方法也可以推斷爲方法的成員)。
關於「如果有人可以用簡單的例子給出與SPARQL語法的一些鏈接,或者可以向我解釋它是如何工作的,我會很高興」:請注意「有問題要求我們推薦或找到工具,庫或最喜歡的非現場資源與Stack Overflow無關,因爲它們傾向於吸引自以爲是的答案和垃圾郵件,而是要描述問題以及迄今爲止解決問題的方法。「 –
另外,請注意,「詢問代碼的問題必須對所解決的問題有最小的理解,包括**嘗試的解決方案,爲什麼他們沒有工作,以及預期的結果。」「你到目前爲止嘗試過什麼,以及什麼不起作用呢? –
如果您瀏覽標籤爲[tag:sparql]的StackOverflow問題,則會發現很多查詢示例。那些不夠用? –