Comments (6)
The format $1
is the Postgres format for parameters and cannot be used in the cypher query. Parameters in the cypher query must take the format $parameter_name
. When you want to pass parameters to a cypher query, you must add a third argument to the cypher query. This argument must be a Postgres parameter. So your query must look like:
SELECT * FROM cypher('testgraph', $$CREATE (v:Person {name: $var_name})$$, $1) as (a agtype);
When executing the query the value passed to $1
must be an agtype map, where the key is the variable name. NOTE: All parameters in the cypher query are passed in the map.
Also, both AGE parameters and Postgres parameters can only be used in prepared statements. So the above query will not currently work as it is related to the github issues: #39 & #28. We are currently working on a fix for these issues.
from age.
Some general questions/troubleshooting thoughts:
- Is that error coming from your
SET
command or theSELECT * from cypher
query? - Does the code work if you hardcode a name instead of
$1
? - If not, maybe a library parsing issue? Try spaces after/before the $$ : `$$ CREATE (v:Person {name:
$1}) $ $ )``
from age.
- The error originates from the
SELECT * from cypher
query. - In both cases, the hardcoded query
SELECT * FROM cypher('testgraph', $$CREATE (v:Person {name: 'Tom'})$$) as (a agtype);
does work. - Spaces after/before the $$ don't change the outcome.
Both asyncpg and node-postgres appear to rely on libpq.
from age.
I am able to reproduce the error, and have a little more detail below regarding where the error occurs in AGE (ag_scanner.l).
error: unexpected character at or near "$"
at Parser.parseErrorMessage (/home/nicho/bitnine/testjs/node_modules/pg-protocol/dist/parser.js:278:15)
at Parser.handlePacket (/home/nicho/bitnine/testjs/node_modules/pg-protocol/dist/parser.js:126:29)
at Parser.parse (/home/nicho/bitnine/testjs/node_modules/pg-protocol/dist/parser.js:39:38)
at Socket.<anonymous> (/home/nicho/bitnine/testjs/node_modules/pg-protocol/dist/index.js:10:42)
at Socket.emit (node:events:378:20)
at addChunk (node:internal/streams/readable:313:12)
at readableAddChunk (node:internal/streams/readable:288:9)
at Socket.Readable.push (node:internal/streams/readable:227:10)
at TCP.onStreamRead (node:internal/stream_base_commons:190:23) {
length: 109,
severity: 'ERROR',
code: '42601',
detail: undefined,
hint: undefined,
position: '75',
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'ag_scanner.l',
line: '711',
routine: 'ag_scanner_next_token'
from age.
@pdpotter The python and NodeJs drivers are now compatible with the CREATE, SET, REMOVE and DELETE clauses. Btw, I never had the opportunity to play around with this particular python driver. Seems like a very interesting library.
from age.
It is now indeed possible to use prepared statements to create nodes. Thank you!
from age.
Related Issues (20)
- load_labels_from_file produced duplicated graphId HOT 3
- cypher returned agtype cannot work with postgres IN clause HOT 1
- One more request for exist type function, this time for vertex and edge, previous was for graph. HOT 1
- is_valid_label fails to validate label type, while is_valid_label_name is calling into is_valid_label, should be the other way around HOT 11
- Failure creating vertex with name close to MAX_LABEL_NAME_LEN 65535 HOT 7
- How to tune age-viewer to load graph faster HOT 1
- Reserved Keyword Handling: How to update a property which is a keyword. HOT 8
- Parrallel usage using the age wrapper HOT 9
- Compilation error on MacOS 14.5 HOT 3
- Is agtype like json? Casting agtype to json - list of vertices or edges? HOT 3
- Running queries for multiple labels HOT 4
- Docker container - create_graph shows error message when using double quotes HOT 2
- Memory leak HOT 9
- get_graph_oid function declaration return type uint32 definition Oid HOT 3
- Unable to install AGE in Ubuntu HOT 1
- make installcheck fails in local environment HOT 2
- Memory leak during btree(agtype) HOT 7
- AGE in Production HOT 1
- Syntax Error When Running BFS Recursive Query in PostgreSQL with Apache AGE HOT 1
- Single SET command fails on MERGE created edge. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from age.