一套用来处理RDF语言文档的工具。
原文地址:
这个套件有以下几个部分:
- RDF工具API,用C编写而成
- RDF外接语言套件,这里主要支持Perl, PHP, Python, Ruby
- RDF解析工具
- RDF查询工具
目前我只是进行了合理的使用和配置,并简单跑了一下DEMO,不过好像有些问题。
我的平台 写道
Ubutnu 8.04.2
Ruby 1.8.6
下载安装:
redland-1.0.8.tar.gz
tar ...
./configure
make
sudo make install
redland-bindings-1.0.8.1.tar.gz
tar ...
./configure --with-ruby
make
sudo make install
不过我直接运行例子是有问题的。
原文例子 写道
http://librdf.org/docs/ruby.html
Testing the Redland Ruby interface
目录结构:
../data/dc.rdf
../ruby/example.rb
#!/usr/bin/env ruby
#
# example.rb - Redland example Ruby program
#
# Copyright (C) 2002-2004 David Beckett - http://www.dajobe.org/
# Copyright (C) 2002-2004 University of Bristol - http://www.bristol.ac.uk/
#
# This package is Free Software or Open Source available under the
# following licenses (these are alternatives):
# 1. GNU Lesser General Public License (LGPL)
# 2. GNU General Public License (GPL)
# 3. Mozilla Public License (MPL)
#
# See LICENSE.html or LICENSE.txt at the top of this package for the
# full license terms.
#
#
# USAGE: ruby example.rb file:../data/dc.rdf raptor
#
#
require 'rdf/redland'
uri_string=ARGV[0]
parser_name=ARGV[1]
#storage=Redland::TripleStore.new("hashes", "test", "new='no',hash-type='bdb',dir='.'")
#源代码在这里被我注释掉了,调试时有问题,改成了下列代码
storage=Redland::MemoryStore.new("test", "new='yes',hash-type='bdb',dir='.'")
raise "Failed to create RDF storage" if !storage
model=Redland::Model.new(storage)
if !model then
raise "Failed to create RDF model"
end
parser=Redland::Parser.new(parser_name, "", nil)
if !parser then
raise "Failed to create RDF parser"
end
uri=Redland::Uri.new(uri_string)
stream=parser.parse_as_stream(uri, uri)
count=0
while !stream.end?()
statement=stream.current()
model.add_statement(statement)
puts "found statement: #{statement}"
count=count+1
stream.next()
end
puts "Parsing added #{count} statements"
puts "Printing all statements"
stream=model.as_stream()
while !stream.end?()
statement=stream.current()
puts "Statement: #{statement}"
stream.next()
end
q = Redland::Query.new(" PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?a ?c WHERE { ?a dc:title ?c } ")
puts "Querying for dc:titles:"
results=q.execute(model)
while !results.finished?()
puts "{"
for k in 0..results.bindings_count()-1
puts " #{k}= #{results.binding_value(k)}"
end
puts "}"
results.next()
end
results=q.execute(model)
size=results.to_string(Redland::Uri.new("http://www.w3.org/2001/sw/DataAccess/json-sparql/")).length()
puts "Serialized query results to JSON as a string size #{size} bytes"
puts "Writing model to test-out.rdf as rdf/xml"
# Use any rdf/xml parser that is available
serializer=Redland::Serializer.new()
serializer.set_namespace("dc", Redland::Uri.new("http://purl.org/dc/elements/1.1/"))
serializer.set_namespace("rdf", Redland::Uri.new("http://www.w3.org/1999/02/22-rdf-syntax-ns#"))
serializer.to_file("test-out.rdf", model)
size=model.to_string(name="ntriples", base_uri=Redland::Uri.new("http://example.org/base#")).length()
puts "Serialized to ntriples as a string size #{size} bytes"
puts "Done"
其实刚刚开始运行是不行的。我做了以下处理:
将/usr/local/lib 中的关于 librdf,librasqal,libraptor相关的link文件,转移到/usr/lib中。由于在运行中需要调用这些主件,所以需要放在一个可以看到的位置。要不然会报错。
分享到:
相关推荐
Redland是一组基于对象的,模块化和便携式C RDF库,为图,三重存储(librdf),RDF / XML解析和序列化(Raptor),SPARQL RDF查询(Rasqal)提供RDF API。 Perl,PHP,Python,Ruby和其他语言的语言API。
Redland Objective-C包装器 此项目是Rene Puls的Mac版的Objective-C包装程序的复活,并添加了适用于iOS的静态库目标。 该代码现在需要启用自动引用计数(ARC)。 包装的库为: 猛禽2 2.0.13 拉斯卡勒0.9.32 雷德...
RDF/XML 也可以使用@load命令解析(需要 librdf,Redland RDF 库 Python 绑定: ://librdf.org/docs/python.html)。 RDF是一种“数据描述语言”; Beaver 是一种图灵完备的编程语言,可用于表达对象之间的语义...
官方离线安装包,亲测可用
离线安装包,亲测可用
离线安装包,亲测可用
官方离线安装包,亲测可用
该库在Redland librdf库上提供了一个薄的抽象层。 它为RDF数据提供了易于使用的C ++接口。 这是SASSY项目的组成部分。 请注意,该代码处于原型开发阶段。 由于新功能被确定为其他SASSY项目的要求,因此将添加这些新...
官方离线安装包,亲测可用
1、文件内容:redland-1.0.16-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/redland-1.0.16-6.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo ...
1、文件内容:redland-virtuoso-1.0.16-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/redland-virtuoso-1.0.16-6.el7.tar.gz #Step2、进入解压后的目录...
1、文件内容:redland-pgsql-1.0.16-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/redland-pgsql-1.0.16-6.el7.tar.gz #Step2、进入解压后的目录,执行...
1、文件内容:redland-devel-1.0.16-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/redland-devel-1.0.16-6.el7.tar.gz #Step2、进入解压后的目录,执行...
Redland Rasqal 查询测试 这个 GIT 存储库拥有一个用于针对标准查询测试测试的环境,专注于SPARQL 1.1 测试,该测试镜像在的 GIT 存储 要求 来自 Raptor 和 Rasqal 的roqet(1)和rapper(1)实用程序: V2.0.0 或更高...
离线安装包,亲测可用
官方离线安装包,亲测可用
官方离线安装包,亲测可用
官方离线安装包,亲测可用
官方离线安装包,亲测可用