Models > Animal


Johan Strydom

Introduction to the Animal Model

Modeling the animal presents the challenge of making provision for a huge set different breeds, groups, registrations and identification for both domesticated and wild animals.

Animal as entity refer to the physial animal that roams a location, land or farm.

Animal as Resource

An Animal is a Resource. A resource can be found at a specific location and will have an owner. An owner can be a person or an organisation (E.g. Organisation with the farm role).

animal as resource with location and owner

Animal Attributes

Animal inherits attributes from Resource.

farm attributes

The attributes and operations are as follows:

  • Resource
    • Identifier of type UniqueIdentifier
    • Parent of type Resource
    • Owner of type Party
    • Name of type String
    • Description of type String
    • Place of type Location
    • Type of type String (E.g. Physical, Logical, ManMade or Natural)
  • Animal
    • Attributes
    • Breed of type Breed
    • Group of type AnimalGroup
    • Farm of type Farm
    • Gender of type String
    • Father of type Animal
    • Mother of type Animal
    • BirthDate of type DateTime
    • BirthPlace of type Location
    • Operations
    • GetMarkings() return a VisualIdentifier::Data collection of type Image
    • GetVideos() return a VisualIdentifier::Data collection of type Video
    • GetPhotos() return a VisualIdentifier::Data collection of type Image
    • GetRegistrations() return a collection of type AnimalRegistration

Work in progress