OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

regrep message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [regrep] Groups - patch-rim-query.txt uploaded


Hi,


A fine summary--I wasn't really expecting anyone to examine the diff
file too closely ;-)

A few clarifications follow.

Farrukh Najmi wrote:
> Hi Richard,
> 
> 
> Here is my attempt to summarize your changes to rim.xsd and query.xsd
> for those that are new to diff -u format:
> 
> 1. Makes AdhocQueryRequest more OO and extensible:
>    -It allows an AdhocQueryRequest to carry any sub-type of
> AdhocQueryType (before it was explicitly SQLQuery or FilterQuery
>    -Eliminates use of choice (a poor choice in XML Schema design IMO) in
> AdhocQueryRequest


This change replaces the choice group with an abstract head element,
rim:AdhocQuery to provide an extensibility point. This reduces schema
coupling in that if a module introduces another kind of ad hoc query
(e.g., XQuery, XQueryX, OCL), then a supporting change isn't required
in query.xsd.


> 
> 2. Fixes inconsistency in how BooleanClause was written.


This replaces an anonymous type definition with a named one, thus making
it available for reuse (e.g., geo:SpatialClauseType extends this).


> 3. Added Module is a sub-type of RegistryPackage with no additional
> specialization
> 
> Here are some questions and comments:
> 
> 1. Makes AdhocQueryRequest more OO and extensible:
> 
> I think the changes you propose to rim.xsd and query.xsd indeed do fix
> some systemic issues with our schema w.r.t QuerySchema and
> I am supportive of the direction of the changes. I do not know XML
> schema well enough to understand the syntax used in StoredQueryType and
> QueryExpressionType. Can you send an annotated version of just those
> two  types? That would be a big help.
> 

These schema components allow for the use of generic stored queries
that are not tied to a specific query language.
<http://www.oasis-open.org/apps/org/workgroup/regrep/download.php/9183/regrep-storedquery.pdf>

StoredQueryType extends AdhocQueryType to include any query expression
(presumably one the target registry understands) as part of its
definition; trying to publish a query expressed in an unsupported
language will generate a fault message. A StoredQuery instance can
then appear wherever an AdhocQuery is allowed (e.g., within an
<AdhocQueryRequest>, or a <SubmitObjectsRequest>).

<complexType name="StoredQueryType" id="StoredQueryType">
    <complexContent>
      <extension base="tns:AdhocQueryType">
        <sequence>
          <!-- required for definition, but not invocation -->
          <element name="queryExpression"  minOccurs="0"
                   type="tns:QueryExpressionType" />
        </sequence>
      </extension>
    </complexContent>
  </complexType>
<element name="StoredQuery" type="tns:StoredQueryType"
         substitutionGroup="tns:AdhocQuery"/>


The query expression is only included when submitting the query for
publication; it's ignored for invocation (in this case StoredQuery/@id
identifies which query to execute). The attributes specify the query
language and version. The expression itself may include any kind of
content.

<complexType name="QueryExpressionType" id="QueryExpressionType"
  mixed="true">
  <sequence>
    <any namespace="##other" processContents="lax" minOccurs="0" />
  </sequence>
  <attribute name="queryLang" type="anyURI" use="required"/>
  <attribute name="version" type="string" use="required" />
</complexType>


e.g.
<StoredQuery id="some-uri">
  <Name>
    <LocalizedString value="getSomething">
  </Name>
  <Description>
    <LocalizedString
      value="Retrieve something of interest." />
  </Description>
  <!-- parameter-1 is a URI value. It would be nice to indicate
   whether or not it's required, e.g. @required={true|false} -->
  <Slot
    name="parameter-1"
    slotType="http://www.w3.org/TR/xmlschema-2/#anyURI";>
    <ValueList />
  </Slot>
  <queryExpression
    queryLang="http://www.w3.org/TR/xquery";
    version="1.0">
    ** Some XQuery expression goes here **
  </queryExpression>
</StoredQuery>


> 2. Good idea, though I caution that there may many inconsistencies and
> other issues in query.xsd in the FilterQuery schema. My position is that
> we should not change FilterQuery schema dramatically as I feel that we
> should obsolete it someday and replace qith XQuery. Until then I would
> like to make only safe and backward compatible changes to filter query.
> I believe this one qualifies as that so I +1 it.


None of these proposed changes will break anything :-)


> 
> 3. I am still not sure about Modules and would like to hold opinions
> until I have done my homework.
> 
> Others please share you thoughts on Richard's good work here. Thanks.


Interested folk should review the latest revision here:
<http://www.oasis-open.org/apps/org/workgroup/regrep/download.php/9260/regrep-modules-03.pdf>

The first section provides a brief overview and a rationale. The basic
premise is that given ebRIM is extensible, a standard means of
packaging a cohesive set of extensions would be invaluable (in
our work on geospatial applications we have found this to be the
case, especially with respect to interoperability). Modules fall
under the rubric of application profiles (cf. ISO/TR 1000-1).


-- 
Richard Martell         Public PGP key: <http://www.galdosinc.com/pgp/>
Galdos Systems, Inc.      tel: +1 604-484-2765  |  fax: +1 604-484-2755

Opinions, conclusions, recommendations, and other information presented
in this message are not given or necessarily endorsed by my employer or
firm. If the digital signature is invalid, I did not send this message.



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]