Skip to content

rsinger/ruby-frbr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A very basic representation of the FRBR Group 1, 2, and 3 entities and the relationships between them.

This library is not intended to provide the actual bibliographic attributes of the entities, just establish model and the relationships.

Everything is defined as a Module that you would mixin into some other object.

A basic example:

# Set up our bibliographic objects that we want to FRBR-ize
class Story
  attr_accessor :title
end

class Book
  attr_accessor :language, format
end
  
class BookEdition
  attr_accessor :isbn, :date_published
end

class Person
  attr_accessor :name
 end
  

story = Story.new
story.title = "The Old Man and the Sea"
story.extend(FRBR::Work) # these modules could also be included directly in the class

person = Person.new
person.name = "Ernest Hemingway"
person.extend(FRBR::Person)
story.add_creator(person) # or person.add_creation(story)

book = Book.new
book.language = 'English'
book.format = 'text'
book.extend(FRBR::Expression)
book.realization_of(story) # or story.add_realization(book)

edition = BookEdition.new
edition.isbn = '0099273969'
edition.date_published = '2000'
edition.extend(FRBR::Manifestation)
edition.embodiment_of(book) # or book.add_embodiment(edition)

About

A simple FRBR model representation to mixin to your Ruby objects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages