@@ -25,64 +25,88 @@ The configuration file ([modern graph example](./modern_graph/modern_graph.yaml)
25
25
Here is an example of a configuration file:
26
26
27
27
``` yaml
28
- graph :
29
- graph_store : mutable_csr
30
- vertex :
31
- - label_name : person
28
+ name : modern
29
+ store_type : mutable_csr
30
+ stored_procedures :
31
+ directory : plugins
32
+ enable_lists :
33
+ - libxxx.so
34
+ schema :
35
+ vertex_types :
36
+ - type_name : person
37
+ x_csr_params :
38
+ max_vertex_num : 100
32
39
properties :
33
- - name : _ID
34
- type : int64
35
- - name : name
36
- type : String
37
- - name : age
38
- type : int32
39
- max_vertex_num : 100
40
- - label_name : software
40
+ - property_id : 0
41
+ property_name : id
42
+ property_type :
43
+ primitive_type : DT_SIGNED_INT64
44
+ - property_id : 1
45
+ property_name : name
46
+ property_type :
47
+ primitive_type : DT_STRING
48
+ - property_id : 2
49
+ property_name : age
50
+ property_type :
51
+ primitive_type : DT_SIGNED_INT32
52
+ primary_keys :
53
+ - id
54
+ - type_name : software
55
+ x_csr_params :
56
+ max_vertex_num : 100
41
57
properties :
42
- - name : _ID
43
- type : int64
44
- - name : name
45
- type : String
46
- - name : lang
47
- type : String
48
- max_vertex_num : 100
49
- edge :
50
- - src_label_name : person
51
- dst_label_name : software
52
- edge_label_name : created
58
+ - property_id : 0
59
+ property_name : id
60
+ property_type :
61
+ primitive_type : DT_SIGNED_INT64
62
+ x_csr_params :
63
+ - property_id : 1
64
+ property_name : name
65
+ property_type :
66
+ primitive_type : DT_STRING
67
+ - property_id : 2
68
+ property_name : lang
69
+ property_type :
70
+ primitive_type : DT_STRING
71
+ primary_keys :
72
+ - id
73
+ edge_types :
74
+ - type_name : knows
75
+ x_csr_params :
76
+ incoming_edge_strategy : None
77
+ outgoing_edge_strategy : Multiple
78
+ vertex_type_pair_relations :
79
+ source_vertex : person
80
+ destination_vertex : person
81
+ relation : MANY_TO_MANY
53
82
properties :
54
- - name : _SRC
55
- type : int64
56
- - name : _DST
57
- type : int64
58
- - name : weight
59
- type : double
60
- incoming_edge_strategy : None
61
- outgoing_edge_strategy : Single
62
- - src_label_name : person
63
- dst_label_name : person
64
- edge_label_name : knows
83
+ - property_id : 0
84
+ property_name : weight
85
+ property_type :
86
+ primitive_type : DT_DOUBLE
87
+ - type_name : created
88
+ x_csr_params :
89
+ incoming_edge_strategy : None
90
+ outgoing_edge_strategy : Single
91
+ vertex_type_pair_relations :
92
+ source_vertex : person
93
+ destination_vertex : software
94
+ relation : ONE_TO_MANY
65
95
properties :
66
- - name : _SRC
67
- type : int64
68
- - name : _DST
69
- type : int64
70
- - name : weight
71
- type : double
72
- incoming_edge_strategy : None
73
- outgoing_edge_strategy : Multiple
74
-
75
- stored_procedures :
76
- - libxxx.so
96
+ - property_id : 0
97
+ property_name : weight
98
+ property_type :
99
+ primitive_type : DT_DOUBLE
77
100
` ` `
78
101
79
102
Notes:
80
103
81
- - ` _ID`, `_SRC`, `_DST` are reserved words, they are the external id of vertices, only int64 type is supported.
82
- - `max_vertex_num` limit the number of vertices of this type :
104
+ - Currently we only support one primary key, and the type has to be ` DT_SIGNED_INT64`.
105
+ - All implementation related configuration are put under x_csr_params.
106
+ - `max_vertex_num` limit the number of vertices of this type :
83
107
- The limit number is used to `mmap` memory, so it only takes virtual memory before vertices are actually inserted.
84
108
- If `max_vertex_num` is not set, a default large number (e.g. : 2^48) will be used.
85
- - ` incoming/outgoing_edge_strategy` specifies the storing strategy of the incoming or outgoing edges of this type, there are 3 kinds of strategies
109
+ - ` incoming/outgoing_edge_strategy` specifies the storing strategy of the incoming or outgoing edges of this type, there are 3 kinds of strategies
86
110
- None : no edge will be stored
87
111
- Single : only one edge will be stored
88
112
- Multiple(default) : multiple edges will be stored
0 commit comments