Skip to content

Instantly share code, notes, and snippets.

@tsunagun
Created April 9, 2015 10:34
Show Gist options
  • Save tsunagun/6fd77fef2b0bdd5e244f to your computer and use it in GitHub Desktop.
Save tsunagun/6fd77fef2b0bdd5e244f to your computer and use it in GitHub Desktop.
Test for writing RDF/XML data which has multibyte characters in properties
require 'rdf'
require 'rdf/rdfxml'
require 'rdf/turtle'
=begin
My environment
MacOSX 10.10.2
Ruby 2.2.1-p85
$ gem list | grep rdf
rdf (1.1.11)
rdf-aggregate-repo (1.1.0)
rdf-isomorphic (1.1.0)
rdf-json (1.1.2)
rdf-microdata (2.0.1)
rdf-n3 (1.1.2)
rdf-raptor (1.2.1)
rdf-rdfa (1.1.5)
rdf-rdfxml (1.1.3)
rdf-reasoner (0.2.1)
rdf-trig (1.1.3.1)
rdf-trix (1.1.0)
rdf-turtle (1.1.6)
rdf-xsd (1.1.3)
=end
# following RDF Data is extracted from http://ja.dbpedia.org/data/筑波大学
rdf_string =<<-EOS
@prefix dbpedia-owl: <http://dbpedia.org/ontology/> .
@prefix prop-ja: <http://ja.dbpedia.org/property/> .
<http://ja.dbpedia.org/resource/まつもとゆきひろ>
dbpedia-owl:wikiPageWikiLink <http://ja.dbpedia.org/resource/筑波大学> ;
prop-ja:最終学歴 <http://ja.dbpedia.org/resource/筑波大学> .
<http://ja.dbpedia.org/resource/瀬沼優司>
dbpedia-owl:wikiPageWikiLink <http://ja.dbpedia.org/resource/筑波大学> ;
dbpedia-owl:youthClub <http://ja.dbpedia.org/resource/筑波大学> ;
prop-ja:ユースクラブ <http://ja.dbpedia.org/resource/筑波大学> .
EOS
output = RDF::Writer.for(:rdfxml).buffer do |writer|
RDF::Reader.for(:turtle).new(rdf_string) do |reader|
writer << reader
end
end
puts output
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment