120 likes | 141 Views
Toward an International Virtual Observatory. Scalable Metadata Definition Frameworks. Scalable the number of metadata terms used by an application environment can grow with a small increase in the cost of supporting them Metadata Definition Framework
E N D
Toward an International Virtual Observatory Scalable Metadata Definition Frameworks • Scalable • the number of metadata terms used by an application environment can grow with a small increase in the cost of supporting them • Metadata Definition Framework • the standards/conventions for creating and using metadata dictionaries to support interoperable exchange of information • Frameworks • there are a number of alternative ways to build this framework Raymond Plante NCSA/NVO How do we encourage a smooth evolution of metadata standards that won’t eventually collapse under its own weight? http://www.us-vo.org/metadata/ http://monet.astro.uiuc.edu/~rplante/VO/metadata/fw-draft.ps.gz
Metadata Dictionaries Title (string) Definition: A name given to the resource. Comment: Typically, a Title will be a name by which the resource is formally known. Publisher (string) Definition: An entity responsible for making the resource available Comment: Examples of a Publisher include a person, an organization, or a service. Creator (string) Definition: An entity primarily responsible for making the content of the resource. Comment: Examples of a Creator include a person, an organization, or a service. Description (string, free text) Definition: An account of the content of the resource. Comment: Description may include but is not limited to: an abstract, table of contents, reference to a graphical representation of content or a free-text account of the content. encode in XML
Metadata are used in a variety of different contexts • Resource Description • Metadata exchange with a service form of metadata may be different between query and result • SQL vs. VOTable • Data access through a data model • Semantic analysis to transform metadata from one “basis” to another • “radio” waveband to 1 – 30 GHz • converting positions from one system to another • Data Dictionary traditionally oriented toward real people (users, developers)
Goals of the framework • To unify the use of metadata across different contexts ensure concept has same meaning/behavior in different contexts • To clarify how metadata can be bound to various encoding formats and software interfaces possible formats: XML, SQL, UCD • To provide a manageable framework for extending schemas or creating new ones complete top-down definition is not necessary can use multiple schemas in the same application can correct mistakes later can create new metadata when necessary • To enable schema-independent software for using metadata manageable =
Principles for an Approach • Leverage off of existing standards key standards: XML Schema, WSDL, & RDF Leverage ~ ability to use software that complies with these standards use standard markup directly when appropriate allow straightforward, metadata-independent translation • Partition metadata into small groups of related concepts • Allow metadata from different schemas to be used in the same application • Encourage community-based development of metadata standards • provide framework that a standards process can built upon • don’t stifle localized specialization “outside” a standard • Re-use of dictionary across different contexts
Re-use of dictionary across different contexts original metadata dictionary can be modified slightly to … describe a resource or service configure a client interface
Existing Approaches to Metadata Dictionaries • XML Schema • RDF Schema • DAML (DARPA Agent Markup Language) • GridForum’s Grid Object Specification (GOS) • FITS Tables
Components of the Metadata Dictionary • Identification namespace, version, provenance context: definition, resource, service, client • Syntactic types: new types that can be associated with metadata • Metadata definitions: name, type, definition, allowed values supported operators: numeric: less than, name: last name starts with • Semantic Relationships • Bindings: corresponding UCD names, FITS keywords, non-trivial XML mappings conversion to native metadata schemas
Possible Markup <VOSCHEMA context=“definition” [namespace attributes…] > <PROVENENCE> <!–- identification of responsible organization/individual --> <!–- identification of version/revision --> </PROVENANCE> <TYPES> <!–- declare new XSD types or import them from other files --> </TYPES> <DICTIONARY> <ELEMENT name=“Antenna” type=“integer”> <ANNOTATION> <DEFINITION xml:lang=“en”> The identifying number for the inteferometer antenna </DEFINITION> <TIPS> <TIP role=“implementer” xml:lang=“en”>...</TIP> </TIPS> </ANNOTATION> <VALUES> <!-- describe domain of possible values --> </VALUES> <OPERATORS> <!-- define the suupportable operators associated with this metadatum --> </OPERATORS> </ELEMENT>
</DICTIONARY> <SEMANTICS> <!-- semantic relationships between the metadata defined here and those defined elsewhere can be put here --> </SEMANTICS> <BINDINGS> <!- - This section would contain markup describing how the metadata can be rendered in some encoding scheme. In particular, conversions to native metadata schemas would be described here. --> </BINDINGS> </VOSCHEMA>
Example Uses • Publishing Metadata Schemas used to define metadata and operators independent of any application standard stylesheets make it easy to produce human readable form • Metadata Standards Development conformant dictionaries can be prototype using standard software structured format aids review by standards body (style guidelines) • Resource Description original definition serves as template for describing a resource e.g. curator modifies range of metadata values to match coverage of resource • Service Description: search service use markup describe queryable columns and their ranges allows portals to make intelligent decisions about when/how to query a resource • Metadata access via Data Access Layer automatic source code generation for interfaces to metadata context=“definition” context=“resource” context=“service”
Example Uses context=“client” • Client Configuration dictionary used to create user interfaces on-the-fly (without new programming) FlexQuery search client interface to search operators generated automatically from metadata definition terms from 4 different schema