#!ruby require 'rdf/redland/parser' include Redland foaf = Namespace.new('http://xmlns.com/foaf/0.1/') dc = Namespace.new('http://purl.org/dc/elements/1.1/') # ひきすう無しだとメモリ上にトリプルを展開する model = Model.new # http からとってくる。baseURI も自動設定 uri = "http://lowreal.net/cho45/foaf.rdf" #uri = "http://www.kanzaki.com/info/webwho.rdf" Parser.new.parse_into_model(model, uri) # この URI 自身のリソースを取得 (rdf:about="" なリソース) document = model.get_resource(uri) # トピックになってる foaf:Person インスタンスを取得 topic_person = document.get_property(foaf["primaryTopic"]) # foaf:Person の各種プロパティをとってきてみる %w(mbox name nick).each do |prop| p topic_person.get_property(foaf[prop]).to_s end puts # foaf:knows たちの foaf:nick を表示しまくる topic_person.get_properties(foaf["knows"]) do |obj| puts obj.get_property(foaf["nick"]) end