您正在犯一個經典錯誤:將RDF(這是SPARQL查詢的內容)與其序列化(其中之一)(即RDF/XML)混淆。 rdf:about
(和rdf:ID
,rdf:Description
,rdf:resource
)是RDF/XML的一部分,RDF被寫下來。您可以使用RDF Validator來查看RDF/XML所產生的RDF三元組。
在你的情況讓我們開始:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/">
<rdf:Description rdf:about="http://www.example.org/">
<dc:title>Example for Donal Fellows</dc:title>
</rdf:Description>
</rdf:RDF>
把它插入到the validator,你會得到:
Number Subject Predicate Object
1 http://www.example.org/ http://purl.org/dc/terms/title "Example for Donal Fellows"
(你也可以要求一個圖形表示)
注意rdf:about
不存在:它的價值提供三倍的主題。
如何查詢以查找與http://www.example.org
相關的屬性?就像這樣:
select * {
<http://www.example.org/> ?predicate ?object
}
您將獲得:
?predicate ?object
<http://purl.org/dc/terms/title> "Example for Donal Fellows"
你會發現,查詢是一個三重匹配在我們要找到價值的地方變量(?v
)。我們還可以問什麼樣的斷言與"Example for..."
鏈接http://www.example.org/
問:
select * {
<http://www.example.org/> ?predicate "Example for Donal Fellows"
}
這種模式匹配SPARQL的心臟。
RDF/XML是一個棘手的野獸,你可能會發現它更容易與N-Triples,這是非常詳細,但明確,或turtle,這就像N-Triples與大量的簡稱和縮寫。烏龜通常是rdf社區的首選。
P.S. rdfs:about
不存在任何地方。
這是SPARQL,而不是SPARKQL。這可能會幫助你當谷歌搜索... – 2010-05-03 22:05:48