我目前正在使用Ruby on Rails SPARQL客戶端嘗試從dbpedia的公共SPARQL端點檢索信息。我正在運行的通用查詢如下:Ruby on Rails SPARQL客戶端
query = "
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX prop: <http://dbpedia.org/property/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT * WHERE {
?city prop:name 'Antwerpen'@en;
a dbo:PopulatedPlace;
dbo:abstract ?abstract .
FILTER langMatches(lang(?abstract), 'en')
OPTIONAL { ?city foaf:homepage ?homepage }
OPTIONAL { ?city rdfs:comment ?comment .
FILTER langMatches(lang(?comment), 'en') }
}"
這是一個通用查詢,它從dbpedia返回有關城市的一些常規信息。我已經在sparql端點上手動測試了它,它檢索我期望它返回的信息。 但是,我似乎無法找到一種方法來解析Ruby on Rails中的響應。
目前我與RDF想這對Ruby和SPARQL客戶端。代碼看起來像這樣(根據我能找到的例子):
result = {}
client = SPARQL::Client.new("http://dbpedia.org/sparql")
client.query(query).first.each_binding { |name, value| result[name] << value}
result
但我無法檢索任何東西。當使用調試器手動進入變量時,只要執行查詢就會停止,並且我甚至無法查看返回值。
任何人都有一個關於如何針對SPARQL端點執行查詢並解析響應的好例子?
重複上http://answers.semanticweb.com/questions/11263/sparql-endpoint-in-ruby-on-rails – RobV
現在有dbpedia gem與sparql支持https://github.com/farbenmeer/dbpedia – mahemoff