Re: ADQL WD v1.05

From: Yuji SHIRASAKI <yuji.shirasaki-at-nao.ac.jp>
Date: Fri, 07 Jul 2006 22:43:55 +0900 (JST)

Hi Jeff,

From: Jeff Lusted <jl99-at-star.le.ac.uk>
Subject: Re: ADQL WD v1.05
Date: Thu, 06 Jul 2006 23:34:09 +0100

> > If we put enumerations to the schema, It will become difficult to introduce
> > new operator without updating the schema. I don't like to change the
> > schema so frequently just for introducing the new operators.
> >
>
> ...especially considering the enumeration of comparison operators and
> indeed functions within the BNF draft definition. How can you reconcile
> these views?
>

How about defineing a "comparisonType" using union like this:

<xs:simpleType name="comparisonType">

   <xs:union memberTypes="tns:definedComparisonType xs:string"/> </xs:simpleType>

<xs:simpleType name="definedComparisonType">

   <xs:restriction base="xs:string">

      <xs:enumeration value="="/>
      <xs:enumeration value="&lt;&gt;"/>
      ...

   </xs:restriction>
<xs:simpleType>

Are you happy with this ?

> It seemed to me that the schema for Full will simply be different from
> the schema for Core, rather than a superset. Are we saying that the
> definitions in the Core schema will be contained unchanged in the Full
> schema?

Core and Extensions schema will have almost the same structure. Next week I will distribute them.

> These are implementation details interfering with the spec. If you have
> one table (one file) in your database, you can only at the most join it
> to itself. Why make a rule to say you cannot join it to other tables
> when they don't exist?

Join is possible if the extension is made. Not prohibited to implent that. Just saying don't expect all the services will have a join capability.

If join capability is introduced to core spec and if a service provider cannot implement the join capability for some reason, he must devide his data set into individual resources so that each resource has only one table. Eventually you cannot do a table join query on that service even if the join is introduced to the Core spec.

So you can do a join only on the service of which the provider willing to implement the join syntax, and you can know whether service support the join sysntax by looking at the service metadata.

Also I expect you can do a join on a client side, since you will do a join between tables of different services. Why do you need to expect a join capability for all the services ?

Yuji Shirasaki. Received on 2006-07-07Z15:45:53