我想知道Ruby目前对语义Web技术的支持.有没有好的RDF选项?最近的调查似乎是大约2007年(http://paul-classic.stadig.name/2007/10/26/the-state-of-rdf-support-in-ruby-2007/).Redland的RDF包装器是获得RDF支持的最佳方式 - 该老化文章中提到的所有其他项目似乎都不受支持或删除.如果追求与语义网相关的项目,Ruby可能是一个糟糕的选择吗?
小智 12
嘿,Iaalto,我是你提到的调查文章的作者.我一直在考虑做一项新的调查.
自从我进行原始调查以来,情况发生了一些变化,但并不多.以下是需要考虑的几件事:
一句话:如果JRuby不是你的问题,那么选择ActiveRDF,它是最完整和最成熟的.如果基于内存的图形不是问题,那么下一个最成熟的可能是Reddy.
我刚刚写了一篇关于Ruby和RDF的新调查文章.我的一些结论是:
RDF.rb和Spira的作者也提出了一些有趣的后续评论.特别是Ben Lavender已经考虑过如何将RDF巧妙地映射到Ruby对象上.
我个人去RDF.rb,因为他们的网站有OK文档,很容易开始使用博客教程.
ActiveRDF似乎是一个更大的项目 - 但他们的wiki已关闭(实际上主页链接到archive.com上的wiki副本) - 所有示例都讨论了SPARQL查询.
这是一个简单的三重查找示例,为愚蠢的语法道歉,因为这是我的第一个Ruby脚本:
require 'rubygems'
require 'rdf'
require 'rdf/raptor'
scufl2 = RDF::Vocabulary.new("http://ns.taverna.org.uk/2010/scufl2/ontology/")
dc = RDF::Vocabulary.new("http://purl.org/dc/elements/1.1/")
graph = RDF::Graph.load("../resources/workflows/example.ttl")
graph.query([nil, scufl2.workflow, nil]) do |bundle,p,workflow|
graph.query([workflow, scufl2.name, nil]) do |wf,p,workflow_name|
# Should just be one
print workflow_name
end
end
Run Code Online (Sandbox Code Playgroud)
不幸的是,像许多Ruby和Python依赖项一样,这也需要一些二进制文件才能读取Turtle或RDF/XML.然而,"aptitude install raptor-utils"处理了这个问题.
| 归档时间: |
|
| 查看次数: |
4065 次 |
| 最近记录: |