File: rdf_mapping.jso

package info (click to toggle)
virtuoso-opensource 6.1.6+dfsg2-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid, stretch
  • size: 260,992 kB
  • ctags: 125,220
  • sloc: ansic: 652,748; sql: 458,419; xml: 282,834; java: 61,031; sh: 40,031; cpp: 36,890; cs: 25,240; php: 12,692; yacc: 9,523; lex: 7,018; makefile: 6,157; jsp: 4,484; awk: 1,643; perl: 1,013; ruby: 1,003; python: 326
file content (255 lines) | stat: -rw-r--r-- 21,308 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
--
--  $Id$
--
--  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
--  project.
--
--  Copyright (C) 1998-2012 OpenLink Software
--
--  This project is free software; you can redistribute it and/or modify it
--  under the terms of the GNU General Public License as published by the
--  Free Software Foundation; only version 2 of the License, dated June 1991.
--
--  This program is distributed in the hope that it will be useful, but
--  WITHOUT ANY WARRANTY; without even the implied warranty of
--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
--  General Public License for more details.
--
--  You should have received a copy of the GNU General Public License along
--  with this program; if not, write to the Free Software Foundation, Inc.,
--  51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
--

--
-- Flags that describe restrictions on possible values of the variable or the use of the var
JSO_CONST virtrdf SPART_VARR__ALL		0xFFFF	--!< OR of everything, do not forget to edit when new bits are added.
JSO_CONST virtrdf SPART_VARR_SPRINTFF		0x0001	--!< The values of a variable is always made according to one of specified formats
JSO_CONST virtrdf SPART_VARR_IS_REF		0x0002	--!< The value is a node reference, IRI or blank
JSO_CONST virtrdf SPART_VARR_IS_IRI		0x0004	--!< The value is an IRI node reference
JSO_CONST virtrdf SPART_VARR_IS_BLANK		0x0008	--!< The value is a blank node reference
JSO_CONST virtrdf SPART_VARR_IRI_CALC		0x0010	--!< The variable an IRI calculated by other data, e_iri_classes of equiv class will contain known formats of possible values of the variable
JSO_CONST virtrdf SPART_VARR_IS_LIT		0x0020	--!< The value is a literal
JSO_CONST virtrdf SPART_VARR_TYPED		0x0040	--!< The value is a literal of a known type and the type is saved as e_datatype of equiv class
JSO_CONST virtrdf SPART_VARR_FIXED		0x0080	--!< The value is known and e_fixedvalue contains either SQL representation of the literal or IRI string of the IRI node reference
JSO_CONST virtrdf SPART_VARR_NOT_NULL		0x0100	--!< The variable is always bound, can't be NULL
JSO_CONST virtrdf SPART_VARR_LONG_EQ_SQL	0x0200	--!< The value is a number of some sort or a datetime or NULL, not string or RDF box.
-- Flags listed below this line are for temporary use, they never appear in databases sho they may be changed.
JSO_CONST virtrdf SPART_VARR_ALWAYS_NULL	0x0400	--!< The variable is never bound, can't have value other than NULL
JSO_CONST virtrdf SPART_VARR_GLOBAL		0x0800	--!< The variable is a global parameter
JSO_CONST virtrdf SPART_VARR_EXTERNAL		0x1000	--!< The variable is in scalar subquery and is bound outside
JSO_CONST virtrdf SPART_VARR_EXPORTED		0x2000	--!< The variable is exported to the final result-set
JSO_CONST virtrdf SPART_VARR_CONFLICT		0x4000	--!< The variable should match conflicting requirements or should appear in the result set of an empty union, so it is never bound
JSO_CONST virtrdf SPART_VARR_EQ_VAR		0x8000	--!< This is to indicate that the equivalence class saves some equalities that no longer exists as filters

-- Flags of actions to be done in case of match of triple pattern to conditions of the quad map
JSO_CONST virtrdf SPART_QM_EMPTY		0x0002	--!< The quad map does not contain real mapping but it's a root of tree of submaps and it can set a common 'exclusive'
JSO_CONST virtrdf SPART_QM_EXCLUSIVE		0x0004	--!< The quad map is an almost-exclusive storage for triples whose fields match fixed fields of the map. Red cut in the pattern matching search. This takes precedence over SPART_QM_SOFT_EXCLUSIVE
JSO_CONST virtrdf SPART_QM_OK_FOR_ANY_QUAD	0x0008	--!< The quad map may contain any quad so it can be used as a default qm of the storage
JSO_CONST virtrdf SPART_QM_SOFT_EXCLUSIVE	0x0010	--!< The quad map is either exclusive or not, discretion is made by compiler

JSO_CONST virtrdf SPART_QS_NO_IMPLICIT_USER_QM	0x0001	--!< The quad storage disables user quad maps for triple patterns with unbound graph
JSO_CONST virtrdf SPART_QS_BLOCK_DEFAULT_QM	0x0002	--!< The quad storage disables the use of default quad map and signals an error if no other qm matches

-- Flags that are responsible for various serialization features.
-- Some features are labeled as "blocking", because if such a feature is required but flag is not set, an error is signaled.
-- An occurrence of a non-blocking feature provides some hint to the optimizer of the SPARQL service endpoint; a blocking one alters semantics.
JSO_CONST virtrdf SSG_SD_QUAD_MAP			0x0001	--!< Allows the use of QUAD MAP groups in the output
JSO_CONST virtrdf SSG_SD_OPTION				0x0002	--!< Allows the use of OPTION keyword in the output
JSO_CONST virtrdf SSG_SD_BREAKUP			0x0004	--!< Flags if BREAKUP hint options should be printed, this has no effect w/o SSG_SD_OPTION
JSO_CONST virtrdf SSG_SD_PKSELFJOIN			0x0008	--!< Flags if PKSELFJOIN hint options should be printed, this has no effect w/o SSG_SD_OPTION
JSO_CONST virtrdf SSG_SD_RVR				0x0010	--!< Flags if RVR hint options should be printed, this has no effect w/o SSG_SD_OPTION
JSO_CONST virtrdf SSG_SD_IN				0x0020	--!< Allows the use of IN operator, non-blocking because can be replaced with '='
JSO_CONST virtrdf SSG_SD_LIKE				0x0040	--!< Allows the use of LIKE operator, blocking
JSO_CONST virtrdf SSG_SD_GLOBALS			0x0080	--!< Allows the use of global variables (with colon at the front of the name), blocking in most of cases
JSO_CONST virtrdf SSG_SD_BI				0x0100	--!< Allows the use of SPARQL-BI extensions, blocking in most of cases
JSO_CONST virtrdf SSG_SD_VIRTSPECIFIC			0x0200	--!< Allows the use of Virtuoso-specific features not listed above, say DEFINE, blocking in most of cases
JSO_CONST virtrdf SSG_SD_VOS_509			0x03FF	--!< Allows everything that is supported by Virtuoso Open Source 5.0.9
JSO_CONST virtrdf SSG_SD_SERVICE			0x0400	--!< Allows the use of SERVICE extension, blocking
JSO_CONST virtrdf SSG_SD_VOS_5_LATEST			0x0FFF	--!< Allows everything that is supported by CVS head of Virtuoso Open Source 5.x.x
JSO_CONST virtrdf SSG_SD_TRANSIT			0x1000	--!< Allows the use of transitivity extension, blocking
JSO_CONST virtrdf SSG_SD_VOS_6				0x1FFF	--!< Allows everything that is supported by Virtuoso Open Source 6.0.0
JSO_CONST virtrdf SSG_SD_SPARQL11_DRAFT			0x2000	--!< Allows the use of SPARQL 1.1 aggregates, BINDINGS, new built-in functions, MINUS, EXISTS syntax
JSO_CONST virtrdf SSG_SD_SPARQL11_MORE			0x4000	--!< Allows the use of SPARQL 1.1 BIND, path expressions, entilement


JSO_STRUCT_BEGIN rdf_val_range virtrdf ValRange		--!< Description of set of possible values of a variable or a format or an pattern item
JSO_SCALAR rvrRestrictions BITMASK OPTIONAL		--!< Natural restrictions on values stored at the field
JSO_SCALAR rvrDatatype ANY_URI OPTIONAL			--!< Datatype of stored values, if fixed
JSO_SCALAR rvrLanguage ANY_URI OPTIONAL			--!< Language, if fixed
JSO_SCALAR rvrFixedValue ANY OPTIONAL			--!< Value of stored values, if fixed
JSO_SCALAR rvrSprintffs STRING_array OPTIONAL		--!< Sprintf formats that cover possible IRI values
JSO_SCALAR rvrSprintffCount INTEGER OPTIONAL		--!< Number of used items of rvrSprintffs
JSO_SCALAR rvrIriClasses ANY_array PRIVATE		--!< Possible types of the IRI, if the IRI is calculable
JSO_SCALAR rvrIriClassCount INTEGER PRIVATE		--!< Number of used items of rvrIRIClasses
JSO_SCALAR rvrRedCuts ANY_array PRIVATE			--!< Impossible values, blocked by option (EXCLUSIVE) of earlier quad maps
JSO_SCALAR rvrRedCutCount INTEGER PRIVATE		--!< Number of used items of rvrRedCuts
-- Don't forget to add NULLS to SPART_RVR_LIST_OF_NULLS when adding fields here
JSO_STRUCT_END

JSO_STRUCT_BEGIN qm_format virtrdf QuadMapFormat	--!< Description of single field where RDF data may come from
JSO_SCALAR qmfName STRING REQUIRED			--!< Name used for error messages and debugging
-- Templates that convert raw column into other types (can be applied to both field and not field expression)
JSO_SCALAR qmfShortTmpl STRING REQUIRED			--!< 'short' value template
JSO_SCALAR qmfLongTmpl STRING REQUIRED			--!< 'long' value template
JSO_SCALAR qmfSqlvalTmpl STRING REQUIRED		--!< 'sqlval' value template
JSO_SCALAR qmfDatatypeTmpl STRING OPTIONAL		--!< datatype value template, compiler will use qmfDatatypeOfShortTmpl if this one is not set
JSO_SCALAR qmfLanguageTmpl STRING OPTIONAL		--!< language value template, compiler will use qmfLanguageOfShortTmpl if this one is not set
JSO_SCALAR qmfBoolTmpl STRING REQUIRED			--!< Boolean value template
-- Templates of booleans that tell whether the short is of some sort:
JSO_SCALAR qmfIsrefOfShortTmpl STRING REQUIRED		--!< ... whether the short is ref
JSO_SCALAR qmfIsuriOfShortTmpl STRING REQUIRED		--!< ... whether the short is uri
JSO_SCALAR qmfIsblankOfShortTmpl STRING REQUIRED	--!< ... whether the short is blank node ref
JSO_SCALAR qmfIslitOfShortTmpl STRING REQUIRED		--!< ... whether the short is literal
JSO_SCALAR qmfIsnumericOfShortTmpl STRING OPTIONAL	--!< ... whether the short is number (unlike SSG_VALMODE_NUM, no DATE/TIME etc., only number)
-- Templates of 0/1 integer expressions that tell whether the short is of some sort:
JSO_SCALAR qmf01uriOfShortTmpl STRING OPTIONAL		--!< ... whether the short is uri, result is 1 or 0
JSO_SCALAR qmf01blankOfShortTmpl STRING OPTIONAL	--!< ... whether the short is blank node ref, result is 1 or 0
-- Templates that convert short value into other types (can be applied to both field and not field expression)
JSO_SCALAR qmfLongOfShortTmpl STRING REQUIRED		--!< ... long from short
JSO_SCALAR qmfSqlvalOfShortTmpl STRING REQUIRED		--!< ... SQL value from short
JSO_SCALAR qmfDatatypeOfShortTmpl STRING REQUIRED	--!< ... datatype IRI STRING from short
JSO_SCALAR qmfLanguageOfShortTmpl STRING REQUIRED	--!< ... language ID STRING from short
JSO_SCALAR qmfBoolOfShortTmpl STRING REQUIRED		--!< ... boolean value from short
JSO_SCALAR qmfIidOfShortTmpl STRING REQUIRED		--!< ... URI_ID from short
JSO_SCALAR qmfUriOfShortTmpl STRING REQUIRED		--!< ... URI STRING from short
JSO_SCALAR qmfStrsqlvalOfShortTmpl STRING REQUIRED	--!< ... SQL representation of the STRING value of short
-- Templates of expressions that make short values from other representations
JSO_SCALAR qmfShortOfTypedsqlvalTmpl STRING REQUIRED	--!< ... makes short by SQL value with specified type and/or language
JSO_SCALAR qmfShortOfSqlvalTmpl STRING REQUIRED		--!< ... makes short by sqlvalue with no language and a datatype specified by SQL type
JSO_SCALAR qmfShortOfLongTmpl STRING REQUIRED		--!< ... makes short by long
JSO_SCALAR qmfShortOfUriTmpl STRING REQUIRED		--!< ... makes short by uri
JSO_SCALAR qmfShortOfNiceSqlvalTmpl STRING OPTIONAL	--!< ... works like qmfShortOfSqlvalTmpl for values of one selected data type, not suitable for other types
JSO_SCALAR qmfDtpOfNiceSqlval INTEGER OPTIONAL          --!< The 'nice' DTP that is an acceptable type of qmfShortOfNiceSqlvalTmpl, zero or unset if no nice type
-- Templates of expressions that find existing short values from other representations
JSO_SCALAR qmfExistingShortOfTypedsqlvalTmpl STRING OPTIONAL	--!< ... finds existing obj by SQL value with specified type and/or language
JSO_SCALAR qmfExistingShortOfSqlvalTmpl STRING OPTIONAL		--!< ... finds existing obj by sqlvalue with no language and a datatype specified by SQL type
JSO_SCALAR qmfExistingShortOfLongTmpl STRING OPTIONAL		--!< ... finds existing obj by long
JSO_SCALAR qmfExistingShortOfUriTmpl STRING OPTIONAL		--!< ... finds existing obj by uri
JSO_SCALAR qmfExistingShortOfNiceSqlvalTmpl STRING OPTIONAL	--!< ... works like qmfExistingShortOfSqlvalTmpl for values of one selected data type, not suitable for other types
-- Misc
JSO_SCALAR qmfIsBijection BOOLEAN REQUIRED		--!< Nonzero if the format is bijection so long values are equal IFF short values of the type are equal
JSO_SCALAR qmfDerefFlags BOOLEAN OPTIONAL		--!< Flags of IRI dereferencing
JSO_SCALAR qmfIsStable BOOLEAN REQUIRED			--!< Nonzero if sql values are in order IFF of short values are in order
JSO_SCALAR qmfIsSubformatOfLong BOOLEAN OPTIONAL	--!< Nonzero if the format is subformat of LONG valmode
JSO_SCALAR qmfIsSubformatOfLongWhenEqToSql BOOLEAN OPTIONAL	--!< Nonzero if the format is subformat of LONG valmode for values that have same representation in LONG and SQL valmodes
JSO_SCALAR qmfIsSubformatOfLongWhenRef BOOLEAN OPTIONAL	--!< Nonzero if the format is subformat of LONG valmode for values that are IRIs or blank nodes
JSO_SCALAR qmfCmpFuncName STRING REQUIRED		--!< Name of comparison function that acts like strcmp but args are of this type
JSO_SCALAR qmfTypeminTmpl STRING REQUIRED		--!< Template of expn that returns the smallest value of the type of value of arg
JSO_SCALAR qmfTypemaxTmpl STRING REQUIRED		--!< Template of expn that returns the biggest possible value of the type of value of arg
JSO_SCALAR qmfWrapDistinct BOOLEAN OPTIONAL		--!< Nonzero if SELECT DISTINCT requires RDF_DIST_SER_LONG/RDF_DIST_DESER_LONG wrapping.
-- Metadata about values that can be stored in this field
JSO_SCALAR qmfColumnCount INTEGER OPTIONAL		--!< Number of columns of the original data (usually 1, zero if variable and not yet set)
JSO_SCALAR qmfOkForAnySqlvalue BOOLEAN REQUIRED		--!< Nonzero if the field format can store any possible SQL value (even if the field itself can not)
JSO_SCALAR qmfUriIdOffset INTEGER OPTIONAL		--!< The value that should be added to locally stored ref id in order to get portable ref id
JSO_SCALAR qmfCustomString1 STRING OPTIONAL		--!< The value that can be used as a value of ^{custom-string-1}^ in templates
JSO_SCALAR qmfArgDtps STRING OPTIONAL			--!< String of dtp_t bytes, can be used as a value of ^{opt-comma-arg-dtps}^ in templates
JSO_POINTER qmfSuperFormats qm_format_array OPTIONAL	--!< Array of formats that can store any value that current format can store
JSO_GROUP_BEGIN qmfValRange virtrdf rdf_val_range	--!< Natural restrictions on values stored in the source column of format
JSO_SCALAR rvrRestrictions BITMASK OPTIONAL
JSO_SCALAR rvrDatatype ANY_URI OPTIONAL
JSO_SCALAR rvrLanguage ANY_URI OPTIONAL
JSO_SCALAR rvrFixedValue ANY OPTIONAL
JSO_SCALAR rvrSprintffs STRING_array OPTIONAL
JSO_SCALAR rvrSprintffCount INTEGER OPTIONAL
JSO_GROUP_END
JSO_STRUCT_END

JSO_STRUCT_BEGIN qm_atable virtrdf QuadMapATable	--!< Description of single source RDBMS table alias
JSO_SCALAR qmvaAlias STRING REQUIRED			--!< Table alias where the column comes from
JSO_SCALAR qmvaTableName STRING REQUIRED		--!< Column name
JSO_STRUCT_END

JSO_STRUCT_BEGIN qm_column virtrdf QuadMapColumn	--!< Description of single source RDBMS column
JSO_SCALAR qmvcAlias STRING OPTIONAL			--!< Table alias where the column comes from
JSO_SCALAR qmvcColumnName STRING REQUIRED		--!< Column name
JSO_SCALAR qmvcColumnFromIRI STRING OPTIONAL
JSO_STRUCT_END

JSO_STRUCT_BEGIN qm_ftext virtrdf QuadMapFText		--!< Free text or geo parameters of a quad map value
JSO_SCALAR qmvftAlias STRING OPTIONAL			--!< Alias of a table with free-text data
JSO_SCALAR qmvftAuxAlias STRING OPTIONAL		--!< Alias of a table that links free-text data back to object (if needed)
JSO_SCALAR qmvftTableName STRING OPTIONAL		--!< Name of a table with free-text data
JSO_SCALAR qmvftAuxTableName STRING OPTIONAL		--!< Name of a table that links free-text data back to object (if needed)
JSO_SCALAR qmvftColumnName STRING REQUIRED		--!< Name of a column with free-text data
JSO_SCALAR qmvftConds STRING_array OPTIONAL		--!< Templates of filters and join conditions related to the free-text indexing table
JSO_SCALAR qmvftXmlIndex BOOLEAN OPTIONAL		--!< Flags if the free-text index is XML so can use xcontains (ditto xpath_contains)
JSO_STRUCT_END

JSO_STRUCT_BEGIN qm_value virtrdf QuadMapValue		--!< Description of one of four column patterns of a mapping pattern
JSO_SCALAR qmvTableName STRING REQUIRED			--!< Table name that is used if no alias is used
JSO_POINTER qmvATables qm_atable_array OPTIONAL		--!< Aliased tables whose aliases are used in columns
JSO_POINTER qmvColumns qm_column_array REQUIRED		--!< Relational columns used as a source for qmvFormat
JSO_SCALAR qmvConds STRING_array OPTIONAL		--!< Templates of filters and join conditions related to the value
JSO_POINTER qmvFormat qm_format REQUIRED		--!< Quad map format used to convert relational data into RDF nodes
JSO_POINTER qmvFText qm_ftext OPTIONAL			--!< Free text parameters
JSO_POINTER qmvGeo qm_ftext OPTIONAL			--!< Geo parameters
JSO_SCALAR qmvColumnsFormKey BOOLEAN REQUIRED		--!< Flags whether columns of qmvColumns form a unique key of the relational table
JSO_SCALAR qmvColumnsToIRI STRING OPTIONAL
JSO_SCALAR qmvIriClass ANY_URI OPTIONAL			--!< Known IRI class, if the IRI is calculable
JSO_GROUP_BEGIN qmvRange virtrdf rdf_val_range		--!< Natural restrictions on values stored in the source column of format
JSO_SCALAR rvrRestrictions BITMASK OPTIONAL		--!< Natural restrictions on values stored at the field
JSO_SCALAR rvrDatatype ANY_URI OPTIONAL			--!< Datatype of stored values, if fixed
JSO_SCALAR rvrLanguage ANY_URI OPTIONAL			--!< Language, if fixed
JSO_SCALAR rvrFixedValue ANY OPTIONAL			--!< Value of stored values, if fixed
JSO_GROUP_END
JSO_STRUCT_END

JSO_STRUCT_BEGIN quad_map virtrdf QuadMap		--!< Description of single mapping pattern, including its subpatterns
JSO_GROUP_BEGIN qmGraphRange virtrdf rdf_val_range	--!< Restrictions on graph
JSO_SCALAR rvrRestrictions BITMASK OPTIONAL
JSO_SCALAR rvrDatatype ANY_URI OPTIONAL
JSO_SCALAR rvrLanguage ANY_URI OPTIONAL
JSO_SCALAR rvrFixedValue ANY OPTIONAL
JSO_GROUP_END
JSO_GROUP_BEGIN qmSubjectRange virtrdf rdf_val_range	--!< Restrictions on subject
JSO_SCALAR rvrRestrictions BITMASK OPTIONAL
JSO_SCALAR rvrDatatype ANY_URI OPTIONAL
JSO_SCALAR rvrLanguage ANY_URI OPTIONAL
JSO_SCALAR rvrFixedValue ANY OPTIONAL
JSO_GROUP_END
JSO_GROUP_BEGIN qmPredicateRange virtrdf rdf_val_range	--!< Restrictions on predicate
JSO_SCALAR rvrRestrictions BITMASK OPTIONAL
JSO_SCALAR rvrDatatype ANY_URI OPTIONAL
JSO_SCALAR rvrLanguage ANY_URI OPTIONAL
JSO_SCALAR rvrFixedValue ANY OPTIONAL
JSO_GROUP_END
JSO_GROUP_BEGIN qmObjectRange virtrdf rdf_val_range	--!< Restrictions on object
JSO_SCALAR rvrRestrictions BITMASK OPTIONAL
JSO_SCALAR rvrDatatype ANY_URI OPTIONAL
JSO_SCALAR rvrLanguage ANY_URI OPTIONAL
JSO_SCALAR rvrFixedValue ANY OPTIONAL
JSO_GROUP_END
JSO_POINTER qmGraphMap qm_value OPTIONAL		--!< Graph map if triple has a variable in graph position
JSO_POINTER qmSubjectMap qm_value OPTIONAL		--!< Subject map if triple has a variable in subject position
JSO_POINTER qmPredicateMap qm_value OPTIONAL		--!< Predicate map if triple has a variable in predicate position
JSO_POINTER qmObjectMap qm_value OPTIONAL		--!< Object map if triple has a variable in object position
JSO_SCALAR qmTableName STRING OPTIONAL			--!< Table name where mapped rows are from, if this is the only table. Use only if there's no alias and hence no qmvATable
JSO_POINTER qmATables qm_atable_array OPTIONAL		--!< Aliased tables whose aliases are used in qmConds but not in qmvConds
JSO_SCALAR qmConds STRING_array OPTIONAL		--!< Join conditions and filters not included into qmvConds of columns
JSO_SCALAR qmTableRowFilter STRING OPTIONAL		--!< DEPRECATED Filter expression that is true for rows that should be mapped, will appear in WHERE clauses
JSO_POINTER qmUserSubMaps quad_map_array OPTIONAL	--!< Array of user-defined submaps, should never appear in MJVs or default storage
JSO_SCALAR qmMatchingFlags BITMASK OPTIONAL		--!< What should be done in case of match of triple pattern to conditions of the quad map
JSO_SCALAR qmPriorityOrder INTEGER OPTIONAL		--!< Integer to specify default order in parent's qmUserSubMaps
JSO_SCALAR qmAliasesKeyrefdByQuad STRING_array OPTIONAL	--!< List of aliases such that any quad made by the quad map can be made from exactly one row from the alias, so quad identifies the row there
JSO_SCALAR qmAllATableUses INTEGER_array PRIVATE	--!< Complete list of all qmatu made for qmATables and qmvATables, sorted alphabetically by qmatu_alias
JSO_SCALAR qmAllATableUseCount INTEGER PRIVATE		--!< Number of used elements in qmAllATableUseCount
JSO_SCALAR qmAllConds STRING_array PRIVATE		--!< Complete list of all join conditions from qmConds and qmvConds, sorted alphabetically
JSO_SCALAR qmAllCondCount INTEGER PRIVATE		--!< Number of used elements in qmAllCondCount
JSO_STRUCT_END

JSO_STRUCT_BEGIN sparql_macro_library virtrdf SparqlMacroLibrary	--!< Library of SPARQL macro definitions that are loaded automatically when the storage is used
JSO_SCALAR smlSourceText STRING REQUIRED				--!< Source text of the library
JSO_SCALAR smlCompilationState INTEGER PRIVATE				--!< 2 for completely (and successfull compilation, 1 for compilation in progress, 0 for not even started
JSO_SCALAR smlIncludes ANY PRIVATE					--!< IRIs of included macro libraries
JSO_SCALAR smlList ANY PRIVATE						--!< The compiled library
JSO_STRUCT_END


JSO_STRUCT_BEGIN quad_storage virtrdf QuadStorage	--!< All mapping patterns plus tracking info
JSO_POINTER qsMjvMaps quad_map_array OPTIONAL
JSO_POINTER qsUserMaps quad_map_array OPTIONAL
JSO_POINTER qsDefaultMap quad_map OPTIONAL
JSO_POINTER qsMacroLibrary sparql_macro_library OPTIONAL
JSO_SCALAR qsMatchingFlags BITMASK OPTIONAL
JSO_SCALAR qsAlterInProgress ANY OPTIONAL
JSO_STRUCT_END