X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=etc%2Fpqf.properties;h=8a700f5093ce2abb889d1fdc8cb4c3d78c46f58d;hp=76f046b324501861529ebd234ce75658c92202ab;hb=95c7f9bdc6544941ce153faff951a68e0e6fb389;hpb=4d531a1a9131d69c3b6c27fbac42837e22cff61c diff --git a/etc/pqf.properties b/etc/pqf.properties index 76f046b..8a700f5 100644 --- a/etc/pqf.properties +++ b/etc/pqf.properties @@ -1,56 +1,60 @@ -# $Id: pqf.properties,v 1.1 2003-01-06 08:20:27 adam Exp $ +# $Id: pqf.properties,v 1.13 2006-09-20 10:12:29 mike Exp $ # # Propeties file to drive org.z3950.zing.cql.CQLNode's toPQF() -# back-end. This specifies the interpretation of various CQL -# qualifiers, relations, etc. in terms of Type-1 query attributes. +# back-end and the YAZ CQL-to-PQF converter. This specifies the +# interpretation of various CQL indexes, relations, etc. in terms +# of Type-1 query attributes. # +# This configuration file generates queries using BIB-1 attributes. # See http://www.loc.gov/z3950/agency/zing/cql/dc-indexes.html -# for the Maintenance Agency's work-in-progress mapping of Dublic Core -# qualifiers to Attribute Architecture (util, XD and BIB-2) +# for the Maintenance Agency's work-in-progress mapping of Dublin Core +# indexes to Attribute Architecture (util, XD and BIB-2) # attributes. -# Identifiers for prefixes used in this file. (qualifier.*) -set.srw = http://www.loc.gov/zing/cql/srw-indexes/v1.0/ -set.dc = http://www.loc.gov/zing/cql/dc-indexes/v1.0/ -# default set (in query) -set = http://www.loc.gov/zing/cql/dc-indexes/v1.0/ +# Identifiers for prefixes used in this file. (index.*) +set.cql = info:srw/cql-context-set/1/cql-v1.1 +set.rec = info:srw/cql-context-set/2/rec-1.1 +set.dc = info:srw/cql-context-set/1/dc-v1.1 +set.bath = http://zing.z3950.org/cql/bath/2.0/ -# The default access point and result-set references -qualifier.srw.serverChoice = 1=1016 - # "any" +# The default set when an index doesn't specify one: Dublin Core +set = info:srw/cql-context-set/1/dc-v1.1 -qualifier.dc.title = 1=4 -qualifier.dc.subject = 1=21 -qualifier.dc.creator = 1=1003 -qualifier.dc.author = 1=1003 +# The default index when none is specified by the query +index.cql.serverChoice = 1=1016 + # srw.serverChoice is deprecated in favour of cql.serverChoice + # BIB-1 "any" +index.cql.allRecords = 1=_ALLRECORDS 2=103 + +index.rec.id = 1=12 + +index.dc.title = 1=4 +index.dc.subject = 1=21 +index.dc.creator = 1=1003 +index.dc.author = 1=1003 ### Unofficial synonym for "creator" -qualifier.dc.editor = 1=1020 -qualifier.dc.publisher = 1=1018 -qualifier.dc.description = 1=62 +index.dc.editor = 1=1020 +index.dc.publisher = 1=1018 +index.dc.description = 1=62 # "abstract" -qualifier.dc.date = 1=30 -qualifier.dc.resourceType = 1=1031 +index.dc.date = 1=30 +index.dc.resourceType = 1=1031 # guesswork: "Material-type" -qualifier.dc.format = 1=1034 +index.dc.format = 1=1034 # guesswork: "Content-type" -qualifier.dc.resourceIdentifier = 1=12 +index.dc.resourceIdentifier = 1=12 # "Local number" -qualifier.dc.source = 1=1019 +index.dc.source = 1=1019 # "Record-source" -qualifier.dc.language = 1=54 +index.dc.language = 1=54 # "Code--language" -qualifier.dc.relation = 1=? +index.dc.relation = 1=? ### No idea how to represent this -qualifier.dc.coverage = 1=? +index.dc.coverage = 1=? ### No idea how to represent this -qualifier.dc.rights = 1=? +index.dc.rights = 1=? ### No idea how to represent this -### These aren't right: I've just put them here for the Generator -qualifier.bath.subject = 1=21 -qualifier.bath.author = 1=1003 -qualifier.foo>bar = 1=2000 - # Relation attributes are selected according to the CQL relation by # looking up the "relation." property: # @@ -62,9 +66,9 @@ relation.ge = 2=4 relation.> = 2=5 relation.<> = 2=6 -### These two are not really right: -relation.all = 2=3 -relation.any = 2=3 +# These two are what Zebra uses -- may not work on other servers +relation.all = 4=6 +relation.any = 4=105 # BIB-1 doesn't have a server choice relation, so we just make the # choice here, and use equality (which is clearly correct). @@ -73,11 +77,16 @@ relation.scr = 2=3 # Relation modifiers. # relationModifier.relevant = 2=102 -relationModifier.fuzzy = 2=100 - ### 100 is "phonetic", which is not quite the same thing +relationModifier.fuzzy = 5=103 + ### truncation=regExpr-2 (5=103) in Zebra is "fuzzy matching" relationModifier.stem = 2=101 relationModifier.phonetic = 2=100 +# Non-standard extensions to provoke Zebra's inline sorting +relationModifier.sort = 7=1 +relationModifier.sort-desc = 7=2 +relationModifier.numeric = 4=109 + # Position attributes may be specified for anchored terms (those # beginning with "^", which is stripped) and unanchored (those not # beginning with "^"). This may change when we get a BIB-1 truncation @@ -103,9 +112,46 @@ structure.any = 4=2 structure.* = 4=1 # phrase +# Truncation attributes used to implement CQL wildcard patterns. The +# simpler forms, left, right- and both-truncation will be used for the +# simplest patterns, so that we produce PQF queries that conform more +# closely to the Bath Profile. However, when a more complex pattern +# such as "foo*bar" is used, we fall back on Z39.58-style masking. +# +truncation.right = 5=1 +truncation.left = 5=2 +truncation.both = 5=3 +truncation.none = 5=100 +truncation.regexp = 5=102 +truncation.z3958 = 5=104 + # Finally, any additional attributes that should always be included # with each term can be specified in the "always" property. # -always = 5=105 6=1 -# 5=105: the not-yet-standarised CQL-like trunction attribute +always = 6=1 # 6=1: completeness = incomplete subfield + + +# Bath Profile support, added Thu Dec 18 13:06:20 GMT 2003 +# See the Bath Profile for SRW at +# http://zing.z3950.org/cql/bath.html +# including the Bath Context Set defined within that document. +# +# In this file, we only map index-names to BIB-1 use attributes, doing +# so in accordance with the specifications of the Z39.50 Bath Profile, +# and leaving the relations, wildcards, etc. to fend for themselves. + +index.bath.keyTitle = 1=33 +index.bath.possessingInstitution = 1=1044 +index.bath.name = 1=1002 +index.bath.personalName = 1=1 +index.bath.corporateName = 1=2 +index.bath.conferenceName = 1=3 +index.bath.uniformTitle = 1=6 +index.bath.isbn = 1=7 +index.bath.issn = 1=8 +index.bath.geographicName = 1=58 +index.bath.notes = 1=63 +index.bath.topicalSubject = 1=1079 +index.bath.genreForm = 1=1075 +