-# $Id: pqf.properties,v 1.3 2003-12-18 14:40:20 mike 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 and the YAZ CQL-to-PQF converter. This specifies the
-# interpretation of various CQL qualifiers, relations, etc. in terms
+# 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 Dublin Core
-# qualifiers to Attribute Architecture (util, XD and BIB-2)
+# indexes to Attribute Architecture (util, XD and BIB-2)
# attributes.
-# Identifiers for prefixes used in this file. (qualifier.*)
-set.cql = http://www.loc.gov/zing/cql/context-sets/cql/v1.1/
-set.srw = http://www.loc.gov/zing/cql/srw-indexes/v1.0/
- # The "srw" set is deprecated in favour of the "cql" set.
-set.rec = http://srw.o-r-g.org/indexSets/rec/1.0/
-set.dc = http://www.loc.gov/zing/cql/dc-indexes/v1.0/
-set.bath = http://www.loc.gov/zing/cql/context-sets/bath/v1.1/
+# 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/
-# default set (in query)
-set = http://www.loc.gov/zing/cql/dc-indexes/v1.0/
+# The default set when an index doesn't specify one: Dublin Core
+set = info:srw/cql-context-set/1/dc-v1.1
-# The default access point and result-set references
-qualifier.cql.serverChoice = 1=1016
-qualifier.srw.serverChoice = 1=1016
+# 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
-qualifier.rec.id = 1=12
+index.rec.id = 1=12
-qualifier.dc.title = 1=4
-qualifier.dc.subject = 1=21
-qualifier.dc.creator = 1=1003
-qualifier.dc.author = 1=1003
+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
# Relation attributes are selected according to the CQL relation by
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).
# 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
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
# so in accordance with the specifications of the Z39.50 Bath Profile,
# and leaving the relations, wildcards, etc. to fend for themselves.
-qualifier.bath.keyTitle = 1=33
-qualifier.bath.possessingInstitution = 1=1044
-qualifier.bath.name = 1=1002
-qualifier.bath.personalName = 1=1
-qualifier.bath.corporateName = 1=2
-qualifier.bath.conferenceName = 1=3
-qualifier.bath.uniformTitle = 1=6
-qualifier.bath.issn = 1=8
-qualifier.bath.geographicName = 1=58
-qualifier.bath.notes = 1=63
-qualifier.bath.topicalSubject = 1=1079
-qualifier.bath.genreForm = 1=1075
+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