Advertisement
Guest User

Nicholas J Humfrey

a guest
Apr 27th, 2010
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.23 KB | None | 0 0
  1. require 'rubygems'
  2. require 'rdf'
  3. require 'rdf/redstore'
  4. require 'spira'
  5. require 'faker'
  6.  
  7. class Person
  8.   include Spira::Resource
  9.  
  10.   type RDF::FOAF.Person
  11.   base_uri "http://example.org/example/people"
  12.  
  13.   property :name, :predicate => RDF::FOAF.name, :type => String
  14.   property :homepage, :predicate => RDF::FOAF.homepage, :type => RDF::URI
  15.   property :phone, :predicate => RDF::FOAF.phone, :type => RDF::URI
  16.   property :gender, :predicate => RDF::FOAF.gender, :type => String
  17.   property :description, :predicate => RDF::DC.description, :type => String
  18.   has_many :knows, :predicate => RDF::FOAF.knows, :type => Person
  19. end
  20.  
  21.  
  22. repo = RDF::RedStore::Repository.new('http://localhost:8080/')
  23. Spira.add_repository(:default, repo)
  24. repo.clear!
  25.  
  26. COUNT = 20
  27. (0..COUNT).each do |n|
  28.   person = Person.new(n)
  29.   person.name = Faker::Name.name
  30.   person.gender = ['male','female'].rand
  31.   person.homepage = RDF::URI.parse("http://#{Faker::Internet.domain_name}/#{Faker::Internet.user_name(person.name)}/")
  32.   person.phone = RDF::URI.parse("tel:#{Faker.numerify(Faker::PhoneNumber::Formats.first)}")
  33.   person.description = Faker::Lorem.paragraph
  34.   (0..(rand(5))).each do
  35.     person.knows << Person.new(rand(COUNT+1))
  36.   end
  37.   person.save!
  38. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement