Hi Alan, thanks for your comments.
> Date: Thu, 18 Dec 2003 22:34:46 +1100
> From: Alan Kent <[log in to unmask]>
> If I understand things, the CQL Bath profile says use the CQL DC
> profile where appropriate.
Well, if you'll permit me I'd like to straighten out the terminology
here. There is no DC profile for SRW -- just a context set. A
context set is analogous to Z39.50 attribute set, and consists _only_
of a bunch of index-names, relations and modifiers that can be used by
any CQL query. A profile is a larger set of specifications describing
how indexes, relations and modifiers can be selected from a palette of
context sets to express certain queries. (That would be a CQL
profile: in practice, we'd subsume a CQL profile into an SRW profile
which also includes specifications for retrieval etc.)
I think the Zthes-for-SRW work illustrates this better than the Bath
work: see the Zthes context set at
and, as a separate document, the Zthes profile at
Similarly the Bath context set is defined in its own section at
_within_ the larger document that is the Bath profile for SRW at
Why is this important? For one thing, because the context sets are
there to be used by whoever wants them -- not necessarily in
conjunction with the same-named profiles. You're quite welcome to
create the Alan Profile that uses the zthes.admin and bath.genreForm
(I'm sure you already know all this, but I just wanted to nail it
down. Now of all times, when we're trying to get buy-in into this
embryonic standard, we need to be pedantic about terminology :-)
We now return you to your scheduled programming:
> But the DC profile says to use the new attribute architecture for
> attribute bindings and the Bath 2.0 profile does not.
Hmm, I see your point. By "DC profile", I assume you mean the Dublin
Core context set (current still called an index set) described at
That document could do with more work, but what it says is:
Each index has the same semantics as the equivalent
element in the Dublin Core schema, described at the
DCMI web site. Following is a list of DC indexes and
for each its definition (in terms of Z39.50
That's a little vague, but the _intent_ as I understand it, is that
the _definition_ of each index is that of the same-named DC element
from http://www.dublincore.org/ and the Attribute-Architecture access
points are provided merely as commentary.
As a point of principle, we should generally avoid describing the
semantics of CQL indexes etc. by reference to Z39.50 attributes --
that would create just the kind of documentation dependency new
adopters will want to avoid. Hence the Zthes's context set's in-line
restatement of the index semantics, and the Bath context set's
references into the sections of the Bath profile that describe the
meaning of the search in prose (though they do also provide Z39.50
attribute combinations; that's by the by.)
> Would it be better to include the missing index names in Bath as
> well as they may have different attribute bindings in practice?
Nope, we very expressly don't want this fledgeling standard to be born
into the world already encumbered by multiple "title" access points.
> (Bath mandates bindings where DC does not mandate Bath compatible
Right. That's because the Bath profile for SRW is documenting how to
express the Bath searching semantics -- _not_ specifying how to
translate CQL queries into Type-1. It happens that you can figure out
the right way to do that (it's pretty obvious), but that's a fringe
benefit rather than the job of the document.
Imagine a world where there is no Z39.50 but people still want to do
the searches that the Bath Profile (shorn of its Z-specific elements)
describes. How can they express those searches? The Bath profile for
SRW says how. That's its job.
(As an aside, you could argue that the Bath Profile would be better
expressed editorially as two sections: one describing the abstract
model, and another showing how that model is expressed in one
particular protocol, that is, Z39.50. This is of course <ahem> how
the original Zthes profile is expressed -- see
though it would probably be better still if it were broken into two
separate documents now that there's also an SRW profile.)
> I also note that for the CQL parser to generate valid Bath queries,
> it has to default all the non-specified attribute type values.
Yes -- _if_ the way it's going to implement those queries is by
calling into Z39.50 with a BIB-1-based Type-1 query.
> Eg: if no truncation was specified, 'do not truncate' (5,100) must
> be included for it it be a conformant Bath query. Is this worth
> noting in the Bath profile?
I don't think so, for the reasons outlined above. Howeber, there
would be a place for a (hopefully short) companion document, a sort of
SRW-Z39.50 crosswalk for Bath specifying how to build gateways.
> All up though a good step forward.
Thanks again, Alan.
/o ) \/ Mike Taylor <[log in to unmask]> http://www.miketaylor.org.uk
)_v__/\ "St. Augustine [...] came up with the conclusion that the
story in Genesis 1 and Genesis 2 was not a simple historical
sequence of events. It just couldn't be. It's not what
the words meant. It just wasn't" -- Robert Bakker.
Listen to my wife's new CD of kids' music, _Child's Play_, at