Another attempt at figuring out what's upsetting tidy.
[irspy-moved-to-github.git] / zebra / pqf.properties
1 #
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.
5 #
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
8
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
15
16 # The default set when an index doesn't specify one: Net
17 set             = info:srw/cql-context-set/2/net-1.0
18
19 # The default index when none is specified by the query
20 index.cql.serverChoice                  = 1=cql:anywhere
21
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.dc.title                          = 1=dc:title
36 index.dc.creator                        = 1=dc:creator
37 index.dc.description                    = 1=dc:description
38 index.zeerex.numberOfRecords            = 1=zeerex:numberOfRecords
39 index.zeerex.set                        = 1=zeerex:set
40 index.zeerex.index                      = 1=zeerex:index
41 index.zeerex.attributeType              = 1=zeerex:attributeType
42 index.zeerex.attributeValue             = 1=zeerex:attributeValue
43 index.zeerex.schema                     = 1=zeerex:schema
44 index.zeerex.recordSyntax               = 1=zeerex:recordSyntax 4=3
45 index.zeerex.supports_relation          = 1=zeerex:supports_relation
46 index.zeerex.supports_relationModifier  = 1=zeerex:supports_relationModifier
47 index.zeerex.supports_maskingCharacter  = 1=zeerex:supports_maskingCharacter
48 index.zeerex.default_contextSet         = 1=zeerex:default_contextSet
49 index.zeerex.default_index              = 1=zeerex:default_index
50 # Extensions
51 index.zeerex.libType                    = 1=zeerex:libType 4=3
52 index.zeerex.country                    = 1=zeerex:country 4=3
53 index.zeerex.disabled                   = 1=zeerex:disabled 4=3
54
55 # Relation attributes are selected according to the CQL relation by
56 # looking up the "relation.<relation>" property:
57 #
58 relation.<                              = 2=1
59 relation.le                             = 2=2
60 relation.eq                             = 2=3
61 relation.exact                          = 2=3
62 relation.ge                             = 2=4
63 relation.>                              = 2=5
64 relation.<>                             = 2=6
65
66 # BIB-1 doesn't have a server choice relation, so we just make the
67 # choice here, and use equality (which is clearly correct).
68 relation.scr                            = 2=3
69
70 # Relation modifiers.
71 #
72 relationModifier.relevant               = 2=102
73 relationModifier.fuzzy                  = 5=103
74         ### truncation=regExpr-2 (5=102) in Zebra is "fuzzy matching"
75 relationModifier.stem                   = 2=101
76 relationModifier.phonetic               = 2=100
77 relationModifier.regexp                 = 5=102
78
79 # Non-standard extensions to provoke Zebra's inline sorting
80 relationModifier.sort                   = 7=1
81 relationModifier.sort-desc              = 7=2
82 relationModifier.numeric                = 4=109
83
84 # Usually this is taken care of by CQL term-anchoring with "^", but
85 # since that is not done for regular expressions, we need a way to
86 # state it explicitly in these cases.
87 relationModifier.firstInField           = 3=1
88
89 # Position attributes may be specified for anchored terms (those
90 # beginning with "^", which is stripped) and unanchored (those not
91 # beginning with "^").  This may change when we get a BIB-1 truncation
92 # attribute that says "do what CQL does".
93 #
94 position.first                          = 3=1 6=1
95         # "first in field"
96 position.any                            = 3=3 6=1
97         # "any position in field"
98 position.last                           = 3=4 6=1
99         # not a standard BIB-1 attribute
100 position.firstAndLast                   = 3=3 6=3
101         # search term is anchored to be complete field
102
103 # Structure attributes may be specified for individual relations; a
104 # default structure attribute my be specified by the pseudo-relation
105 # "*", to be used whenever a relation not listed here occurs.
106 #
107 structure.exact                         = 4=108
108         # string
109 structure.all                           = 4=2
110 structure.any                           = 4=2
111 structure.*                             = 4=1
112         # phrase
113
114 # Truncation attributes used to implement CQL wildcard patterns.  The
115 # simpler forms, left, right- and both-truncation will be used for the
116 # simplest patterns, so that we produce PQF queries that conform more
117 # closely to the Bath Profile.  However, when a more complex pattern
118 # such as "foo*bar" is used, we fall back on Z39.58-style masking.
119 #
120 truncation.right                        = 5=1
121 truncation.left                         = 5=2
122 truncation.both                         = 5=3
123 truncation.none                         = 5=100
124 truncation.regexp                       = 5=102
125 truncation.z3958                        = 5=104
126
127 # Finally, any additional attributes that should always be included
128 # with each term can be specified in the "always" property.
129 #
130 #always                                 = 6=1
131 # 6=1: completeness = incomplete subfield