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 inherits attributes from Resource.
The attributes and operations are as follows:
- 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)
- 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
- 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