<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">Many thanks for your many reactions. It seems that I hit a need and that there is some sort of (implicit) agreement that we need a lean and mean Catalogue Service Protocol Spec but - sigh: where to begin and how to reach consensus here?
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font face="Courier New" size="2"> </font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">To clarify this at this place: Presumably no one wants to reimplement the wheel and OGC needs to be kept in the loop. My short term goal is to define a thesis project to contribute an implementation of such a service.
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font face="Courier New" size="2"> </font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">I'm still thinking forth and back what's better: Either to profile WFS (as well as profiling the ISO 19115/19119 information model), or to extend general search protocols like OpenSearch - thus becoming interoperable with library and search community (did anyone really try to understand OAI-PMH?) - or ...?
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font face="Courier New" size="2"> </font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">Next I will try to summarize the discussion with requirements, current implementations and proposals.
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font face="Courier New" size="2"> </font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">-- Stefan</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font face="Courier New" size="2"> </font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><font size="2"><font face="Courier New">> -----Original Message-----</font></font></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><font size="2"><font face="Courier New">> From: Panagiotis (Peter) A. Vretanos [mailto:<a href="mailto:pvretano@cubewerx.com">pvretano@cubewerx.com</a>]</font></font>
</p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><font size="2"><font face="Courier New">> Sent: Donnerstag, 20. Juli 2006 23:40</font></font></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> Subject: Re: Ready for a lean and mean Catalogue Service Protocol Spec.?
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> Stefan,</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> The HTTP protocol binding from CSW2 is already heavily based on WFS and
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> includes KVP encodings for most of the requests.<span style="mso-spacerun: yes">
</span>Here are some examples:</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> a) Get a capabilities document:</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> <a href="http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetCapabilities">
http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetCapabilities</a></font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> b) Describe the information model(s) that the catalog uses:</font></font>
</span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> <a href="http://www.pvretano.com/cwwrs/cwwrs.cgi?request=DescribeRecord">
http://www.pvretano.com/cwwrs/cwwrs.cgi?request=DescribeRecord</a></font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> c) Execute a query that does searches the record descriptions:</font></font>
</span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> <a href="http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetRecords&typeNames=Extrinsic">
http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetRecords&typeNames=Extrinsic</a></font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> Object&ConstraintLanguage=Filter&Constraint=%3Cogc:Filter%20xmlns:ebxml=%22urn
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> :oasis:names:tc:ebxml-</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> regrep:rim:xsd:2.5%22%20xmlns:gml=%22http://www.opengis.net/gml%22%20xmlns:ogc
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> =%22http://www.opengis.net/ogc%22%3E%3Cogc:PropertyIsLike%20escape=%22\%22%20s
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> ingleChar=%22_%22%20wildCard=%22%25%22%20matchCase=%22false%22%3E%3Cogc:Proper
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> tyName%3E/ExtrinsicObject/Description/LocalizedString/@value%3C/ogc:PropertyNa
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> me%3E%3Cogc:Literal%3E%25bird%25%3C/ogc:Literal%3E%3C/ogc:PropertyIsLike%3E%3C
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> /ogc:Filter%3E</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> d) Get the repository item associated with the record found in (c)</font>
</font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> (analogous to fetching the book from the library shelf):</font></font></span>
</p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> <a href="http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetRepositoryItem&id=urn:uuid">
http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetRepositoryItem&id=urn:uuid</a>:</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> 9f818e6a-08b0-11db-8378-0010dcf5553d</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> e) Get a specific record from the catalog:</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> <a href="http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetRecordById&id=urn:uuid:3748">
http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetRecordById&id=urn:uuid:3748</a></font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> cfea-17f9-11db-b340-0010dcf5553d</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> f) Get the repository item associated with the record from (d):</font></font>
</span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> <a href="http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetRepositoryItem&id=urn:uuid">
http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetRepositoryItem&id=urn:uuid</a>:</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> 3748cfea-17f9-11db-b340-0010dcf5553d</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> Your specific proposal (i.e. ISO19115/ISO19119 and WFS) would be very</font>
</font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> close to the existing ISO profile of the CSW2 specification.<span style="mso-spacerun: yes">
</span>The ISO</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> profile uses the HTTP protocol binding from CSW2 as the API and</font></font>
</span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> ISO19115/ISO19119 as the information models.</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> Personally, I think what makes the current CSW specification "heavy
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> weight" is the KVP encoding for the query operation (GetRecords) and the
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> fact that the client needs to know the catalog's information model</font>
</font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> fairly well to even formulate a query.<span style="mso-spacerun: yes">
</span>Not to mention, be familiar with</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> the Filter syntax.</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> What I think needs to happen is the addition of a new "simplified" query
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> request to the CSW specification leaving GetRecords as the "advanced"
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> query operation.</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> I have been experimenting with a simpler query request whose KVP</font>
</font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> encoding looks something like this (equivalent to (c)):</font></font></span>
</p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> <a href="http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetRecordsBasic&fulltext=birds">
http://www.pvretano.com/cwwrs/cwwrs.cgi?request=GetRecordsBasic&fulltext=birds</a></font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> NOTE:<span style="mso-spacerun: yes"> </span>My experimental name for the request is GetRecordsBasic and at
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> the moment the request returns an XML fragment which may not validate in
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> your browser.<span style="mso-spacerun: yes"> </span>So, you may have to view the source to see what was
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> generated by the catalogue.</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> Other parameters on the GetRecordsBasic request include:</font></font></span>
</p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> BBOX, CLASSIFICATIONNODE, OBJECTTYPE, KEYWORDS, OUTPUTSCHEMA, Temporal</font>
</font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> Operators</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> </font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> The advantage of this request is that the client does not need to be too
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-GB" style="mso-ansi-language: EN-GB"><font size="2"><font face="Courier New">> familiar with the catalog's information model in order to formulate a query.
</font></font></span></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><font size="2"><font face="Courier New">> </font></font></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><font size="2"><font face="Courier New">> Comments welcome.</font></font></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><font size="2"><font face="Courier New">> </font></font></p>
<p class="MsoPlainText" style="MARGIN: 0cm 0cm 0pt"><font face="Courier New" size="2">> Ciao.</font></p>