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