ruby-on-rails – SPARQL,RDF和处理数据

ruby-on-rails – SPARQL,RDF和处理数据,第1张

概述我对这整个语义都很陌生,而且我已经投入到一个项目中,这个项目要求我使用dbpedia的SPARQL端点来检索有关某些事物的信息,例如City.我的想法是我的应用程序收集了一些这些关键字(预定义的,如城市,国家和地区),并依靠dbpedia获取有关此的一些明智的信息. 在摆弄SPARQL端点一段时间之后,我想出了以下查询: PREFIX dbo: <http://dbpedia.org/ontolo 我对这整个语义都很陌生,而且我已经投入到一个项目中,这个项目要求我使用dbpedia的SPARQL端点来检索有关某些事物的信息,例如City.我的想法是我的应用程序收集了一些这些关键字(预定义的,如城市,国家和地区),并依靠dbpedia获取有关此的一些明智的信息.

在摆弄SPARQL端点一段时间之后,我想出了以下查询:

PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX prop: <http://dbpedia.org/property/>SELECT ?cityWHERE {?city prop:name "X"@en; a dbo:Populatedplace}

其中X代表我试图获取信息的城市名称.当我针对SPARQL端点运行此查询时,我在RDF结构中收到一个指向DBPedia上的RDF存储的URI(至少我是如何解释它的,如果我错了请纠正我)

City“Antwerpen”的返回结果如下所示:

<rdf:RDF><rdf:Description rdf:nodeID="rset"><rdf:type rdf:resource="http://www.w3.org/2005/sparql-results#ResultSet"/><res:resultvariable>city</res:resultvariable><res:solution rdf:nodeID="r0"><res:binding rdf:nodeID="r0c0"><res:variable>city</res:variable><res:value rdf:resource="http://dbpedia.org/resource/Antwerp"/></res:binding></res:solution></rdf:Description></rdf:RDF>

我正在使用Ruby on Rails和Ruby gem的RDF来处理RDF数据.但老实说,我对如何真正处理这些信息毫无头绪.当我按照链接时,我似乎收到一个RDF商店,其中包含有关我查询的城市的所有信息.

我是对的,我可能需要将我的代码指向收到的URI并解析我想要的信息吗?或者是否可以直接通过SPARQL端点选择一些信息?例如,描述&人口统计数据?

我知道这是一个非常模糊的问题,但我正在尽我所能来掌握这项技术,并寻找一些例子来帮助我更好地理解它.

解决方法 通过直接从SPARQL端点获取所需的所有信息,可能更容易入手.您可以使用如下查询:

SELECT ?city ?property ?valueWHERE {    ?city prop:name "X"@en;           a dbo:Populatedplace;          ?property ?value .}

这将返回一组属性和值,用于详细描述城市,它将为您提供您可以获得的信息类型.

下一步是专门查询您感兴趣的属性:

SELECT *WHERE {    ?city prop:name "galway"@en;           a dbo:Populatedplace .    OPTIONAL { ?city dbo:populationUrban ?pop }    OPTIONAL { ?city foaf:homepage ?homepage }    OPTIONAL { ?city geo:lat ?lat }    OPTIONAL { ?city geo:long ?long }}

我将每个三重模式放入一个可选区块,因为有些城市可能没有所有可用的信息.如果没有OPTIONAL块,只有当所有三重模式与城市匹配时才会得到结果.

总结

以上是内存溢出为你收集整理的ruby-on-rails – SPARQL,RDF和处理数据全部内容,希望文章能够帮你解决ruby-on-rails – SPARQL,RDF和处理数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1289122.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存