Ontology
version info: GAMA Metadata Scheme only supports a subset of OWL Lite and can be characterised as follows: no inheritance is supported for classes nor for properties regular entities such as Person are subclasses of Entity classes used as enumerations are subclasses of Enumeration model contains definition of classes and properties + some instances of enumerations exactly one domain and one range must be defined for a property owl:DatatypeProperty is supported owl:SymmetricProperty is supported (inferencing) properties marked as owl:SymmetricProperty + owl:TransitiveProperty express "equivalence" (inferencing) supported datatypes: xsd:anyURI, xsd:string, xsd:date, xsd:time, xsd:integer, xsd:boolean roles such as "author" or "curator" can be expressed by special "intersection" class or by multiple properties. In order to achieve better efficiency, we suggest to use multiple properties such as work.has_author.Person instead of: Work.related_role.Role.in_the_role.Person + Role.role_type.RoleType. owl:InverseFunctionalProperty and owl:FunctionalProperty are not fully implemented but can be used. Schema defined in the OWL file: Schema generated directly from the current repository:

Work
type: Class
comment: The core element of the GAMA Metadata Schema is the Work class. Works represent abstract notion of artworks, events or other resources which may exist in various physical manifestations. (see Manifestation class)
subclass of: Entity

Entity
type: Class
comment: Superclass for all real classes of GAMA Metadata Schema. No further inheritance is supported. Our repository only support flat structure of classes and properties.

Term
type: Class
comment: Since GAMA intends to provide access to several databases that use diverse terminology, having a unified thesaurus is crucial. The Term class in GAMA Metadata Schema, however, does not provide full-featured thesaurus. It is merely a list of keywords or terms.
subclass of: Enumeration

Enumeration
type: Class
comment: Superclass of all classes which act in GAMA as enumerations. An enumeration is a class which has fixed set of predefined instances. Dissimilar values from content providers' archives will be mapped to this common enumerations in order to express equivalent information.

Type of work
type: Class
comment: Divides works into categories using a hierarchy of work types
subclass of: Enumeration

Person
type: Class
comment: Represents persons, institutions or collectives depending on their membership. Collectives are members of itself.
subclass of: Entity

Archive
type: Class
comment: Archive represents content provier's database. Actual metadata will be transferred from archives to central GAMA repository.
subclass of: Entity

Collection of works
type: Class
comment: Collection class provides mechanism for grouping Works.
subclass of: Entity

Language
type: Class
comment: List of languages as defined by ISO 639-1 http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
subclass of: Enumeration
version info: TODO: Should languages also comprise accents?

Type of media
type: Class
comment: Manifestations may be stored on different media types.
subclass of: Enumeration

Manifestation of work
type: Class
subclass of: Entity
comment: Physical representation of work (artwork, event or other resource). This includes files of any kind, physical objects such as DVD or CD media. Actual usage of properties depends on particular MediaType.

Country
type: Class
comment: List of countries as defined by ISO 3166-1 Alpha2 http://www.iso.org/iso/country_codes/iso_3166_code_lists
subclass of: Enumeration

related person
type: ObjectProperty
range: Person
domain: Work
comment: This is just an example of reification

work type
type: ObjectProperty
comment: Connects the Work instance with an appropriate WorkType
domain: Work
range: Type of work

Thumbnail image
type: DatatypeProperty
comment: URI to the image representing photo of a person or logo of an institution.
range: anyURI
domain: Person

Collection description
type: DatatypeProperty
range: string
comment: Textual description of the collection
domain: Collection of works

idx epileptic risk
type: DatatypeProperty
comment: Seizure detection in video files: detection of (epileptic) seizure causing content is needed to comply to web safety standards. The goal is that in the user interface content that puts epileptic viewers at risk is flagged as such. Also see: Issue 33 and W3C on seizures
domain: Manifestation of work
range: boolean

idx ocr avail
type: DatatypeProperty
comment: Also see http://code.google.com/p/gama-gateway/issues/detail?id=23
domain: Manifestation of work
range: boolean

Archive Name
type: DatatypeProperty
range: labelType
domain: Archive
comment: At least one name should be defined for every archive. Can also be translated to different languages.

idx main
type: DatatypeProperty
range: boolean
domain: Manifestation of work
comment: Portal will select main manif, which has flag idx_main=TRUE. In this schema it is guaranteed that that a work will have a manifestation with flag idx_main=TRUE Also see

Work rights
type: DatatypeProperty
domain: Work
range: string
comment: Textual description of various rights such as copyright, distributon or documentation right

Highlighted Manifestation
type: DatatypeProperty
comment: Should the manifestation be highlighted in the frontend
domain: Manifestation of work
range: boolean

Name
type: DatatypeProperty
range: labelType
domain: Person
comment: Name of the person composed of firstname, surname and other possible names in arbitrary order depending on particular archive. We suggest to follow this pattern: [surname, middlename, firstname] This property uses fulltext + btree indexes.
comment: At least one person_name should be available for every Person instance.

work url
type: DatatypeProperty
comment: Represents the URL where more information about the particular work can be found. It should be possible to use the URL directly in a web-browser.
range: anyURI
domain: Work

manif format
type: DatatypeProperty
range: string
domain: Manifestation of work
comment: Free text describing technical data of the object. Could be filled from the output of ffmpeg.

manif drmid
type: DatatypeProperty
domain: Manifestation of work
range: anyURI
comment: Reference to the DRM framework.

Image URL
type: DatatypeProperty
domain: Work
range: anyURI
comment: URL of an image representation of the work (thumbnail)

idx keyword
type: DatatypeProperty
comment: Keywords produced by the ASR (Automatic Speech Recognition) and OCR (Optical Character Recognition) component for a given manifestation.
range: keywordType
domain: Manifestation of work

idx qbe avail
type: DatatypeProperty
comment: Also see http://code.google.com/p/gama-gateway/issues/detail?id=23
domain: Manifestation of work
range: boolean

Interval of creation
type: DatatypeProperty
domain: Work
comment: When the work has been created. This could also be expressed as time interval eg: 2007-01-01 .. 2008-10-23
range: dateInterval

Archive Homepage
type: DatatypeProperty
domain: Archive
range: anyURI
comment: Contains a URL pointing to the homepage of an archive

idx stream avail
type: DatatypeProperty
comment: This flag indicated what kind of stream is available for a given manifestation. What is also needed for the frontend is a query like "count all works from work set X that have not any manifestation where idx_stream_avail = 1 || idx_stream_avail 2" to exclude works without any streams to show in the fronend (current checkbox in frontend "show only preview" should be renamed probably) 1 = preview stream available 2 = full stream available If the property is missing for a given manifestation there is no stream available. Also see our issue tracker
domain: Manifestation of work
range: byte

Displayed Manifestation
type: DatatypeProperty
comment: Should the manifestation be displayed in the frontend
domain: Manifestation of work
range: boolean

Person's date of birth and death
type: DatatypeProperty
domain: Person
comment: Represents interval between date of birth and death.
range: dateInterval

idx asr avail
type: DatatypeProperty
comment: Also see http://code.google.com/p/gama-gateway/issues/detail?id=23
domain: Manifestation of work
range: boolean

Collection title
type: DatatypeProperty
range: labelType
domain: Collection of works

Biography
type: DatatypeProperty
comment: The written history of a person's life.
range: string
domain: Person

manif image
type: DatatypeProperty
domain: Manifestation of work
range: anyURI
comment: URL of thumbnail image representing the manifestation

Manifestation processing progress
type: DatatypeProperty
comment: Defines the processing progress of the manifestation. Various values represent various processing states: 0/not present = manifestation which should not be processed 1 = this manifestation should be processed by the indexing engine 2 = processing started 3 = processing ended successfully 4 = processing ended with error
domain: Manifestation of work
range: unsignedByte

manif status
type: DatatypeProperty
range: string
domain: Manifestation of work
version info: TODO: What is this attribute good for ?

manif identifier
type: DatatypeProperty
domain: Manifestation of work
range: anyURI
comment: For instance ISBN:xxxxxxx

Webpage
type: DatatypeProperty
comment: Link to person's homepage or webpage of an institution.
range: anyURI
domain: Person

Work title
type: DatatypeProperty
comment: At least one work_title should be available for every Work instance. Work titles can be translated to various languages.
domain: Work
range: labelType

manif length
type: DatatypeProperty
domain: Manifestation of work
range: int
comment: Length of the manifestation. - Number of page in case of book manifestation - Length in seconds in case of audio-visual manifestation.

parent worktype
type: TransitiveProperty
domain: Type of work
range: Type of work
comment: We define the hierarchy of work types using this property.

related manifestation
type: SymmetricProperty
comment: This is just symmetric relation between two manifestations.
domain: Manifestation of work