2 # Properties file to drive the YAZ CQL-to-PQF converter for Zebra.
3 # This specifies the interpretation of various CQL indexes, relations,
4 # etc. in terms of Type-1 query attributes.
6 # For documentation of required structure attributes (4=X) see:
7 # http://www.indexdata.com/zebra/doc/querymodel-zebra.html#querymodel-pqf-apt-mapping-structuretype
9 # Identifiers for prefixes used in this file. (index.*)
10 set.cql = info:srw/cql-context-set/1/cql-v1.1
11 set.rec = info:srw/cql-context-set/2/rec-1.1
12 set.net = info:srw/cql-context-set/2/net-1.0
13 set.dc = info:srw/cql-context-set/1/dc-v1.1
14 set.zeerex = info:srw/cql-context-set/2/zeerex-1.1
16 # The default set when an index doesn't specify one: Net
17 set = info:srw/cql-context-set/2/net-1.0
19 # The default index when none is specified by the query
20 index.cql.serverChoice = 1=cql:anywhere
22 index.cql.anywhere = 1=cql:anywhere
23 index.cql.allRecords = 1=_ALLRECORDS 2=103
24 index.rec.id = 1=rec:id 4=104
25 index.rec.id_raw = 1=rec:id_raw 4=3
26 index.rec.lastModificationDate = 1=rec:lastModificationDate 4=5
27 index.net.protocol = 1=net:protocol
28 index.net.version = 1=net:version 4=3
29 index.net.method = 1=net:method
30 index.net.host = 1=net:host 4=3
31 index.net.port = 1=net:port 4=3
32 index.net.path = 1=net:path 4=3
33 index.zeerex.reliability = 1=zeerex:reliability 4=109
34 index.zeerex.reliabilityAtLeast = 1=zeerex:reliability 2=4 4=109
35 index.zeerex.reliabilityNoMoreThan = 1=zeerex:reliability 2=2 4=109
36 index.dc.title = 1=dc:title
37 index.dc.creator = 1=dc:creator
38 index.dc.description = 1=dc:description
39 index.zeerex.numberOfRecords = 1=zeerex:numberOfRecords
40 index.zeerex.set = 1=zeerex:set
41 index.zeerex.index = 1=zeerex:index
42 index.zeerex.attributeType = 1=zeerex:attributeType
43 index.zeerex.attributeValue = 1=zeerex:attributeValue
44 index.zeerex.schema = 1=zeerex:schema
45 index.zeerex.recordSyntax = 1=zeerex:recordSyntax 4=3
46 index.zeerex.supports_relation = 1=zeerex:supports_relation
47 index.zeerex.supports_relationModifier = 1=zeerex:supports_relationModifier
48 index.zeerex.supports_maskingCharacter = 1=zeerex:supports_maskingCharacter
49 index.zeerex.default_contextSet = 1=zeerex:default_contextSet
50 index.zeerex.default_index = 1=zeerex:default_index
52 index.zeerex.libType = 1=zeerex:libType 4=3
53 index.zeerex.country = 1=zeerex:country 4=3
54 index.zeerex.disabled = 1=zeerex:disabled 4=3
55 index.zeerex.udb = 1=zeerex:udb 4=3
57 # Relation attributes are selected according to the CQL relation by
58 # looking up the "relation.<relation>" property:
68 # BIB-1 doesn't have a server choice relation, so we just make the
69 # choice here, and use equality (which is clearly correct).
74 relationModifier.relevant = 2=102
75 relationModifier.fuzzy = 5=103
76 ### truncation=regExpr-2 (5=102) in Zebra is "fuzzy matching"
77 relationModifier.stem = 2=101
78 relationModifier.phonetic = 2=100
79 relationModifier.regexp = 5=102
81 # Non-standard extensions to provoke Zebra's inline sorting
82 relationModifier.sort = 7=1
83 relationModifier.sort-desc = 7=2
84 relationModifier.numeric = 4=109
86 # Usually this is taken care of by CQL term-anchoring with "^", but
87 # since that is not done for regular expressions, we need a way to
88 # state it explicitly in these cases.
89 relationModifier.firstInField = 3=1
91 # Position attributes may be specified for anchored terms (those
92 # beginning with "^", which is stripped) and unanchored (those not
93 # beginning with "^"). This may change when we get a BIB-1 truncation
94 # attribute that says "do what CQL does".
96 position.first = 3=1 6=1
98 position.any = 3=3 6=1
99 # "any position in field"
100 position.last = 3=4 6=1
101 # not a standard BIB-1 attribute
102 position.firstAndLast = 3=3 6=3
103 # search term is anchored to be complete field
105 # Structure attributes may be specified for individual relations; a
106 # default structure attribute my be specified by the pseudo-relation
107 # "*", to be used whenever a relation not listed here occurs.
109 structure.exact = 4=108
116 # Truncation attributes used to implement CQL wildcard patterns. The
117 # simpler forms, left, right- and both-truncation will be used for the
118 # simplest patterns, so that we produce PQF queries that conform more
119 # closely to the Bath Profile. However, when a more complex pattern
120 # such as "foo*bar" is used, we fall back on Z39.58-style masking.
122 truncation.right = 5=1
123 truncation.left = 5=2
124 truncation.both = 5=3
125 truncation.none = 5=100
126 truncation.regexp = 5=102
127 truncation.z3958 = 5=104
129 # Finally, any additional attributes that should always be included
130 # with each term can be specified in the "always" property.
133 # 6=1: completeness = incomplete subfield