14 apr 2005 voevent workshop1 xml schema and the vo registry matthew j. graham cacr/caltech t he us...
TRANSCRIPT
14 Apr 2005
VOEvent workshop 1
XML Schema and the VO Registry
Matthew J. GrahamCACR/Caltech
THE US NATIONAL VIRTUAL OBSERVATORY
14 Apr 2005
VOEvent workshop 2
Overview: the five Ws
• What is an astronomical resource?• How is an astronomical resource
described?• Where do such descriptions reside?• Why are such descriptions needed?• When are such descriptions used?
14 Apr 2005
VOEvent workshop 3
VOResource: Core
• Type• Title• Short name• Identifier• Curation:
– publisher – date– creator – version– contributor – contact
• Content:– subject – type– description – content level– source – relationship
14 Apr 2005
VOEvent workshop 4
VOResource: Extensions
• Organisation• Registry• Authority• Data Collection:
– coverage – format – rights• Service:
– interface: ParamHTTP, WebService, GLUService– SkyService:
• TabularSkyService: ConeSearch, SimpleImageAccess, OpenSkyNode
– CEAService• CEA Application
14 Apr 2005
VOEvent workshop 5
Extension models: substitution groups
• Schema:<xs:element name=“Interface” substitutionGroup=“interface”><xs:element name=“WebService” substitutionGroup=“interface”><xs:element name=“ParamHTTP” substitutionGroup=“interface”><xs:element name=“Service”>
<xs:complexType><xs:sequence>
<xs:element ref=“Interface”/>
• Instance:<Service> <Service> <Service> <Interface> <WebService> <ParamHTTP>
14 Apr 2005
VOEvent workshop 6
Extension models: xsi:type
• Schema:<xs:complexType name=“Interface”><xs:complexType name=“WebService”>
<xs:complexContent><xs:extension base=“Interface”>
<xs:complexType name=“ParamHTTP”><xs:complexContent>
<xs:extension base=“Interface”><xs:element name=“Service”>
<xs:complexType><xs:sequence>
<xs:element name=“…” type=“Interface”/>
• Instance:<Service> <Service> <Service> <… xsi:type=“Interface”> <… xsi:type=“WebService”> <…
xsi:type=“ParamHTTP”>
14 Apr 2005
VOEvent workshop 7
The registry
• A store for VOResource records (documents)• Functionally equivalent to UDDI • Records are published into a publishing registry,
typically by interactive web form• Registries can be harvested via OAI interface:
– Identify – ListIdentifiers– ListSets – ListRecords– ListMetadataFormats – GetRecord
• Records can always be expressed in Dublin Core format
• Registries can be queried by basic text search and ADQL/XQuery
14 Apr 2005
VOEvent workshop 8
Registry implementations
Registry Store type Publishing
Searchable
Harvesting
Handle extensions
Caltech Native XML Yes Yes Yes Yes
StSCI Relational Yes Yes Yes Partially
NCSA Filesystem Yes Yes No No
HEASARC Filesystem? No No No No
Astrogrid Native XML Yes Yes Yes Yes: CEA
Galahad Native XML? Yes Yes Yes Yes: CEA
CDS Relational? No Yes No No
JVO ? No ? Yes? Partially: OpenSkyNodeJ
+ CfA, ESO, ESAC, AusVO, …
14 Apr 2005
VOEvent workshop 9
Interoperability problems
• Namespaces• Versioning• Incomplete records• Wrong records• Missing records• Validation
14 Apr 2005
VOEvent workshop 10
Using schema: registry experiences
• Validation• Code binding: JAXB, Castor
– Conflict with W3C XML Schema datatypes– Infinite loops (VOTable)– Marshalling/unmarshalling problems– Performance
• XSLT– A schema is just an XML document
• WSDL– Specify the schema?
14 Apr 2005
VOEvent workshop 11
Using registries: user experiences
• Who uses the registry?– Human vs. computer
• How is the registry used?– Interface functionality
• Why is the registry used?– Too much metadata?
14 Apr 2005
VOEvent workshop 12
Thoughts on VOEvent
• Schema:– Equivalent of RM document– Straightforward but comprehensive– Core + extensions for specialisations– Based on RTML + STC
• Ontology– Necessary for querying and filters
• Registry– VO Registry + subscriber interface