Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rubygems'
- require 'rdf'
- require 'rdf/redstore'
- require 'spira'
- require 'faker'
- class Person
- include Spira::Resource
- type RDF::FOAF.Person
- base_uri "http://example.org/example/people"
- property :name, :predicate => RDF::FOAF.name, :type => String
- property :homepage, :predicate => RDF::FOAF.homepage, :type => RDF::URI
- property :phone, :predicate => RDF::FOAF.phone, :type => RDF::URI
- property :gender, :predicate => RDF::FOAF.gender, :type => String
- property :description, :predicate => RDF::DC.description, :type => String
- has_many :knows, :predicate => RDF::FOAF.knows, :type => Person
- end
- repo = RDF::RedStore::Repository.new('http://localhost:8080/')
- Spira.add_repository(:default, repo)
- repo.clear!
- COUNT = 20
- (0..COUNT).each do |n|
- person = Person.new(n)
- person.name = Faker::Name.name
- person.gender = ['male','female'].rand
- person.homepage = RDF::URI.parse("http://#{Faker::Internet.domain_name}/#{Faker::Internet.user_name(person.name)}/")
- person.phone = RDF::URI.parse("tel:#{Faker.numerify(Faker::PhoneNumber::Formats.first)}")
- person.description = Faker::Lorem.paragraph
- (0..(rand(5))).each do
- person.knows << Person.new(rand(COUNT+1))
- end
- person.save!
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement