You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -62,6 +65,7 @@ Each edge label object consists of the following keys:
62
65
#### JSON Property Key Definition
63
66
64
67
Each property key object consists of the following keys:
68
+
65
69
-`key` - `string` datatype. (**Required**)
66
70
-`className` - `string` datatype. This must be a full class path of the selected property datatype. For example, `java.lang.String`, `java.lang.Long`,`org.janusgraph.core.attribute.Geoshape`. (**Required**)
@@ -70,17 +74,19 @@ Each property key object consists of the following keys:
70
74
#### JSON Composite Index Definition
71
75
72
76
Each composite index object consists of the following keys:
77
+
73
78
-`name` - `string` datatype. (**Required**)
74
79
-`typeClass` - `string` datatype. Full class path of the datatype of an indexed element. Allowed values: `org.apache.tinkerpop.gremlin.structure.Vertex`, `org.apache.tinkerpop.gremlin.structure.Edge`. (**Required**)
75
80
-`indexOnly` - `string` datatype. Vertex or Edge label.
-`keys` - an array of objects representing `org.janusgraph.core.schema.json.definition.index.JsonIndexedPropertyKeyDefinition` (see definition below after indexes definition). These are used index keys. (**Required**)
79
-
-`inlinePropertyKeys` - an array of property keys to be inlined into the composite index. Currently supported for vertex composite indexes only. See [documentation](./schema/index-management/index-performance.md#inlining-vertex-properties-into-a-composite-index) for more information about this feature.
84
+
-`inlinePropertyKeys` - an array of property keys to be inlined into the composite index. Currently supported for vertex composite indexes only. See [documentation](./index-management/index-performance.md#inlining-vertex-properties-into-a-composite-index) for more information about this feature.
80
85
81
86
#### JSON Mixed Index Definition
82
87
83
88
Each mixed index object consists of the following keys:
89
+
84
90
-`name` - `string` datatype. (**Required**)
85
91
-`typeClass` - `string` datatype. Full class path of the datatype of an indexed element. Allowed values: `org.apache.tinkerpop.gremlin.structure.Vertex`, `org.apache.tinkerpop.gremlin.structure.Edge`. (**Required**)
86
92
-`indexOnly` - `string` datatype. Vertex or Edge label.
@@ -90,6 +96,7 @@ Each mixed index object consists of the following keys:
90
96
#### JSON Vertex-Centric Edge Index Definition
91
97
92
98
Each vertex-centric edge index object consists of the following keys:
99
+
93
100
-`name` - `string` datatype. (**Required**)
94
101
-`propertyKeys` - an array of strings (each value has `string` datatype). These are the Edge properties which will be used for the index. (**Required**)
@@ -99,6 +106,7 @@ Each vertex-centric edge index object consists of the following keys:
99
106
#### JSON Vertex-Centric Property Index Definition
100
107
101
108
Each vertex-centric property index object consists of the following keys:
109
+
102
110
-`name` - `string` datatype. (**Required**)
103
111
-`propertyKeys` - an array of strings (each value has `string` datatype). These are the meta-properties which will be used for the index. (**Required**)
-`parameters` - an array of objects representing `org.janusgraph.core.schema.json.definition.JsonParameterDefinition`. These are optional parameters to let index know of additional configurations for the property key. (See description below)
112
121
113
122
#### JSON Definition of Parameters defined in Property Keys for Composite and Mixed indexes (`parameters`)
114
123
115
124
Each parameter is a configuration for to let underlying index backend configure relative properties better. Each such parameter consists of the following keys:
125
+
116
126
-`key` - `string` datatype. (**Required**)
117
127
-`value` - `string` datatype. (**Required**)
118
128
-`parser` - `string` datatype. This must be a full class pass of the parser which will be used to parse `value` of the parameter or a pre-defined shortcut. This parser must implement `org.janusgraph.core.schema.json.parser.JsonParameterParser` interface and have a parameterless constructor. If none is provided then `string` parser is used by default.
119
129
120
130
Pre-defined `parser` shortcuts:
131
+
121
132
-`string` - doesn't change `value` and uses it as is (`String` datatype).
122
133
-`enum` - replaces the provided string (defined as `<full class path>.<enum option>`) to actual enum value.
123
134
For example, if `value` has a string `org.janusgraph.core.schema.Mapping.STRING` it will be replaced to actual `STRING` enum,
@@ -393,6 +404,7 @@ Following the rules above (defined in `JSON Schema Format`) an example of JSON s
393
404
394
405
Currently, JSON schema initialization flow is simple and doesn't include any schema update or schema migration features.
395
406
The flow is split on multiple phases:
407
+
396
408
1) Creation of simple elements: `PropertyKey`, `VertexLabel`, `EdgeLabel`.
0 commit comments