@@ -104,19 +104,11 @@ def commit(self):
104
104
"""
105
105
Create entire graph.
106
106
"""
107
- if len (self .nodes ) == 0 and len ( self .edges ) == 0 :
107
+ if not (self .nodes or self .edges ):
108
108
return None
109
109
110
- query = 'CREATE '
111
- for _ , node in self .nodes .items ():
112
- query += str (node ) + ','
113
-
114
- query += ',' .join ([str (edge ) for edge in self .edges ])
115
-
116
- # Discard leading comma.
117
- if query [- 1 ] == ',' :
118
- query = query [:- 1 ]
119
-
110
+ query = f'CREATE '
111
+ query += ',' .join (str (v ) for v in [* self .nodes .values (), * self .edges ])
120
112
return self .query (query )
121
113
122
114
def flush (self ):
@@ -138,7 +130,7 @@ def build_params_header(self, params):
138
130
# Value is None, replace with "null" string.
139
131
elif value is None :
140
132
value = "null"
141
- params_header += str ( key ) + "=" + str ( value ) + " "
133
+ params_header += f" { key } = { value } "
142
134
return params_header
143
135
144
136
def query (self , q , params = None , timeout = None , read_only = False ):
@@ -150,7 +142,7 @@ def query(self, q, params=None, timeout=None, read_only=False):
150
142
query = q
151
143
152
144
# handle query parameters
153
- if params is not None :
145
+ if params :
154
146
query = self .build_params_header (params ) + query
155
147
156
148
# construct query command
@@ -172,7 +164,7 @@ def query(self, q, params=None, timeout=None, read_only=False):
172
164
except redis .exceptions .ResponseError as e :
173
165
if "wrong number of arguments" in str (e ):
174
166
print ("Note: RedisGraph Python requires server version 2.2.8 or above" )
175
- raise e
167
+ raise
176
168
except VersionMismatchException as e :
177
169
# client view over the graph schema is out of sync
178
170
# set client version and refresh local schema
@@ -189,10 +181,10 @@ def execution_plan(self, query, params=None):
189
181
Get the execution plan for given query,
190
182
GRAPH.EXPLAIN returns an array of operations.
191
183
"""
192
-
184
+
193
185
if params is not None :
194
186
query = self .build_params_header (params ) + query
195
-
187
+
196
188
plan = self .redis_con .execute_command ("GRAPH.EXPLAIN" , self .name , query , query )
197
189
return self ._execution_plan_to_string (plan )
198
190
@@ -202,27 +194,23 @@ def delete(self):
202
194
"""
203
195
self ._clear_schema ()
204
196
return self .redis_con .execute_command ("GRAPH.DELETE" , self .name )
205
-
197
+
206
198
def merge (self , pattern ):
207
199
"""
208
200
Merge pattern.
209
201
"""
210
-
211
- query = 'MERGE '
212
- query += str (pattern )
213
-
214
- return self .query (query )
202
+ return self .query (f'MERGE { pattern } '
215
203
216
204
# Procedures.
217
205
def call_procedure (self , procedure , read_only = False , * args , ** kwagrs ):
218
206
args = [quote_string (arg ) for arg in args ]
219
- q = 'CALL %s(%s)' % ( procedure , ',' .join (args ))
207
+ query = f 'CALL { procedure } ( { "," .join (args )} )'
220
208
221
- y = kwagrs .get ('y' , None )
209
+ y = kwagrs .get ('y' )
222
210
if y :
223
- q += ' YIELD %s' % ',' .join (y )
211
+ query += f ' YIELD { "," .join (y )} '
224
212
225
- return self .query (q , read_only = read_only )
213
+ return self .query (query , read_only = read_only )
226
214
227
215
def labels (self ):
228
216
return self .call_procedure ("db.labels" , read_only = True ).result_set
0 commit comments