UBIF_CoreOntology.xsd schema file overview
(Version: Unified Biosciences Information Framework (UBIF) 1.1)
TDWG working group: Structure of Descriptive Data (SDD)
Introduction
This document gives an overview of the schema components present in a single schema file, similar to the entry view provided by graphical schema editors. It documents only the root level annotations and components (elements, global attributes, simple and complex types, and groups). The definition of the components listed here is documented separately (hyperlinking could not yet be implemented).
Because the UBIF schema is designed as a type library, complex types represent class definitions and most schema files contain only a single root-level element.
Please see the schema documentation resource directory for schema overviews of other files and detailed component documentation.
Schema file content
The following content is generated automatically from the documentation inside the schema file:
Unified Biosciences Information Framework (UBIF) XML schema. This schema provides a core ontology of first class object types and references derived from the common abstract base type.
Copyright © 2006 TDWG (Taxonomic Databases Working Group, www.tdwg.org). See the file UBIF_(c).xsd for authorship and licensing information.
Includes: UBIF_BasePattern.xsd
Fundamental UBIF object types derived from the abstract type defined in UBIF object pattern (these already use elements from the core ontology!):
- VersionedAbstractObject (Abstract Complex type, based on AbstractObject by extension): Adds RevisionData to AbstractObject
- OwnedAbstractObject (Abstract Complex type, based on VersionedAbstractObject by extension): Adds OwnerAndIPR and RevisionData to AbstractObject
- TaxonomicScopeSet (Complex type, based on Set by extension): Scope expressions limited to taxon name and publication citation.
- ExtendedScopeSet (Complex type, based on TaxonomicScopeSet by extension): Scope expressed as taxon name, publication citation, plus specimen or geographical scope.
(Design note: The sequence of repeated scope elements, any of which may be missing may lead to empty elements using this type. However, the alternative design of a repeated choice, which may guarantee at least one scope, was rejected because it is not extensible.)
The core ontology itself:
Taxon names (includes taxon in the biological as well as a more general sense):
- TaxonName (Complex type, based on VersionedAbstractObject by extension): Object type limited to taxon names (in the biological as well as a more general sense).
- TaxonNameRef (Complex type, based on AbstractLocalRef by extension): Defines an element with a ref attribute pointing to a TaxonName (in biology: Class = Taxon)
- TaxonNameRefSeq (Complex type, based on Seq by extension): A collection of TaxonNameRef type elements
- TaxonString (Complex type, based on AbstractShortStringPlusRef by extension): A name string expressing the taxon as a literal, optionally plus references pointing to TaxonName objects (local ref or uri). Used, e.g., for genus parts in species names (multiple homonymic genus names may exist in same or different nomenclatural codes)
Taxon class hierarchy (biology: taxon concepts):
- TaxonHierarchy (Complex type, based on VersionedAbstractObject by extension): Object type limited to class hierarchies (taxonomies)
- TaxonHierarchyRef (Complex type, based on AbstractLocalRef by extension): Defines an element with a ref attribute pointing to a TaxonHierarchy.
Specimens ('Unit' in ABCD, 'Object' in earlier versions of UBIF/SDD):
- Specimen (Complex type, based on VersionedAbstractObject by extension): Object type limited physical objects that are collected, described, or observed (collected objects may be preserved permanently in a specimen collection).
Provides either a simple free-form descriptive label ('so-and-so in freezer 14, with tag 1233'), or links to an external collection specimen.
- SpecimenRef (Complex type, based on AbstractLocalRef by extension): Defines an element with a ref attribute pointing to a Specimen object.
Publications, references, and citations:
- Publication (Complex type, based on VersionedAbstractObject by extension): Used for *references* to resources like publications, laboratory notes, speeches, etc. Provides either a simple free-form text, or a connection to an external resource.
- PublicationRef (Complex type, based on AbstractLocalRef by extension): Defines an element with a ref attribute pointing to a Publication (Publications/Publication)
The following types build on the Publication infrastructure:
- Citation (Complex type, based on PublicationRef by extension): Extending PublicationRef with location detail like page number within that publication. Citation is used without 'Ref'-suffix, which is considered implicit.
- CitationString (Complex type, based on AbstractShortStringPlusRef by extension): A name string expressing the publication as a literal, optionally plus references pointing to TaxonName objects (local ref or uri). Used, e.g., for genus parts in species names (multiple homonymic genus names may exist in same or different nomenclatural codes)
Media (especially images, audio/video, but potentially also complex objects like html with images, pdf, etc.):
MediaObjectRef: In contrast to most reference types MediaObject references have already been defined in the abstract BasePattern schema, they are used in the base types Representation component.
Geography:
- GeographicArea (Complex type, based on VersionedAbstractObject by extension): Used for resources like geographical names or places. Provides either
a simple free-form text, or a
connection to an external resource.
GeographicAreaRef: In contrast to most reference types GeographicArea references have already been defined in the abstract BasePattern schema, they are used in the base event type.
Agents (persons, organization, software agent):
- Agent (Complex type, based on VersionedAbstractObject by extension): Used for Agent documentation (an Agent is a person, project, organization, or software agent). Currently used for authors, editors, contributors, and translators. Ideally it connects to an outside definition or documentation of the Agent.
- AgentRef (Complex type, based on AbstractLocalRef by extension): Defines an element with a required ref attribute pointing to an Agent (Agents/Agent)
The following types build on the Agent infrastructure:
- AgentString (Complex type, based on AbstractShortStringPlusRef by extension): A name string expressing the agent as a literal, optionally enriched (email, address), optionally plus references pointing to Agent objects (local ref or uri), used for authors, editors, collectors, etc., whenever the identity of an Agent often cannot be associated with an Agent without doubt (example: 2 authors J. Smith may be different persons, but 'J. Smith' and 'J. M. Smith' may be the same person)
- AgentStringSeq (Complex type, based on Seq by extension): A collection (seq) of AgentStrings
- RichAgentRef (Complex type, based on AgentRef by extension): Extension of AgentRef with a role attribute and three attributes recording object-specific contributions.
- CreatorRef (Complex type, based on RichAgentRef by restriction): Restriction of RichAgentRef to Creator roles only.
- CreatorRefSeq (Complex type, based on Seq by extension): Collection (sequence)
of Agent elements of
type CreatorRef (Technical note: this and the similar type ContributorRefSeq, etc. could be viewed as a restriction of the base type "RichAgentRefSeq". This was valid under Xerces and xmlspy 2004. Xmlspy 2005, however, rejects this so that this has been disabled.)
- CreatorContributorRef (Complex type, based on RichAgentRef by restriction): Restriction of RichAgentRef to either Creator or Contributor (but not Owner) roles.
- ContributorRef (Complex type, based on RichAgentRef by restriction): Restriction of RichAgentRef to Contributor roles only.
- ContributorRefSeq (Complex type, based on Seq by extension): Collection (sequence)
of Agent elements of
type ContributorRef
- OwnerRef (Complex type, based on RichAgentRef by restriction): Restriction of RichAgentRef to Owner roles only (contribution attributes prohibited).
- OwnerRefSeq (Complex type, based on Seq by extension): Collection (sequence)
of Agent elements of
type OwnerRef
Statements are a special form of complex text expressions
- IPRStatement (Complex type, based on Representation by extension): Language/audience-specific IPR Statement (= role, Label, Details, URI)
Desirable external validation in this context: either a Label or a Detail text should be present.
- IPRStatementSet (Complex type, based on Set by extension): Set of IPR statements.
(Internal validation on element using this: each role value should occur only once.)
Note: A modeling problem is that in instance documents Agents within a role are usually ordered (sequence), but different roles not (authors+editors = editors+authors). UBIF 1.0 until beta 14 (available on WIKI!), attempted to solve the problem by introducing a 2-layer collection with Creators/AgentRole[@role='aut']/Agent[@ref]. This has now been abandoned to reduce complexity.
types related to Agent references:
- RevisionData (Complex type): RevisionData (creators, dates, revision) for the entire data set or individual objects.
(About group above (do not place this in group-annotation, to avoid displaying whenever group is used): An optional RevisionData element provided as a group to simplify reuse (esp. where restrictions are being used).)
Audience definitions
- Audience (Abstract Complex type, based on VersionedAbstractObject by extension): Audiences are an extension of language/culture codes, to capture expertise and other factors (= registers within a language). Examples: "Students", "General public", "Custom officers", "Farmers".
- AudienceCore (Complex type, based on Audience by extension): An Audience is a combination of an enumerated expertise category (pupil, beginner, expert) and a free-form scope definition. As a result, multiple audiences can be defined for the same expertise, distinguished only by their label.
(AudienceIdentifier is defined in UBIF_ObjectTypePattern because audience is already used in the labels of the fundamental object type.)
(Note: It would be possible to remodel all object types using the same restriction plus extension in two steps. Using type-specific instance identifiers may be desirable when mapping the schema to programming languages. However, for the first release of UBIF this has ONLY been done here!)
(Generated on 23. May 2006 by DiversitySchemaTools Version 0.5. Copyright (c) G. Hagedorn 2006.)