Skip to content

Commit 512cf84

Browse files
author
Sandbox 🤖
committed
Triggered by direct commit. Origin: neo4j-contrib/sandbox-code-updater@4b98c5d
1 parent 15d4a47 commit 512cf84

File tree

5 files changed

+40
-51
lines changed

5 files changed

+40
-51
lines changed

code/csharp/Example.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
namespace dotnet {
1414
class Example {
1515
static async Task Main() {
16-
var driver = GraphDatabase.Driver("bolt://<HOST>:<BOLTPORT>",
16+
var driver = GraphDatabase.Driver("neo4j://<HOST>:<BOLTPORT>",
1717
AuthTokens.Basic("<USERNAME>", "<PASSWORD>"));
1818

1919
var cypherQuery =

code/go/example.go

+25-34
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
package main
44

55
import (
6+
"context"
67
"fmt"
7-
"github.com/neo4j/neo4j-go-driver/v4/neo4j"
8-
"io"
8+
"github.com/neo4j/neo4j-go-driver/v5/neo4j"
99
"reflect"
1010
)
1111

1212
func main() {
13-
results, err := runQuery("bolt://<HOST>:<BOLTPORT>", "neo4j", "<USERNAME>", "<PASSWORD>")
13+
results, err := runQuery("neo4j://<HOST>:<BOLTPORT>", "neo4j", "<USERNAME>", "<PASSWORD>")
1414
if err != nil {
1515
panic(err)
1616
}
@@ -19,46 +19,37 @@ func main() {
1919
}
2020
}
2121

22-
func runQuery(uri, database, username, password string) (result []string, err error) {
23-
driver, err := neo4j.NewDriver(uri, neo4j.BasicAuth(username, password, ""))
22+
func runQuery(uri, database, username, password string) (_ []string, err error) {
23+
ctx := context.Background()
24+
driver, err := neo4j.NewDriverWithContext(uri, neo4j.BasicAuth(username, password, ""))
2425
if err != nil {
2526
return nil, err
2627
}
27-
defer func() {err = handleClose(driver, err)}()
28-
session := driver.NewSession(neo4j.SessionConfig{AccessMode: neo4j.AccessModeRead, DatabaseName: database})
29-
defer func() {err = handleClose(session, err)}()
30-
results, err := session.ReadTransaction(func(transaction neo4j.Transaction) (interface{}, error) {
31-
result, err := transaction.Run(
32-
`
33-
MATCH (dc:DataCenter {location: $location})-[:CONTAINS]->(r:Router)-[:ROUTES]->(i:Interface)
34-
RETURN i.ip as ip
35-
`, map[string]interface{}{
36-
"location": "Iceland",
37-
})
28+
defer func() { err = handleClose(ctx, driver, err) }()
29+
query := " MATCH (dc:DataCenter {location: $location})-[:CONTAINS]->(r:Router)-[:ROUTES]->(i:Interface)
30+
RETURN i.ip as ip
31+
params := map[string]any{"location": "Iceland"}
32+
result, err := neo4j.ExecuteQuery(ctx, driver, query, params,
33+
neo4j.EagerResultTransformer,
34+
neo4j.ExecuteQueryWithDatabase(database),
35+
neo4j.ExecuteQueryWithReadersRouting())
36+
if err != nil {
37+
return nil, err
38+
}
39+
ips := make([]string, len(result.Records))
40+
for i, record := range result.Records {
41+
// this assumes all actors have names, hence ignoring the 2nd returned value
42+
name, _, err := neo4j.GetRecordValue[string](record, "ip")
3843
if err != nil {
3944
return nil, err
4045
}
41-
var arr []string
42-
for result.Next() {
43-
value, found := result.Record().Get("ip")
44-
if found {
45-
arr = append(arr, value.(string))
46-
}
47-
}
48-
if err = result.Err(); err != nil {
49-
return nil, err
50-
}
51-
return arr, nil
52-
})
53-
if err != nil {
54-
return nil, err
46+
ips[i] = name
5547
}
56-
result = results.([]string)
57-
return result, err
48+
return ips, nil
5849
}
5950

60-
func handleClose(closer io.Closer, previousError error) error {
61-
err := closer.Close()
51+
func handleClose(ctx context.Context, closer interface{ Close(context.Context) error }, previousError error) error {
52+
err := closer.Close(ctx)
6253
if err == nil {
6354
return previousError
6455
}

code/java/Example.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class Example {
1111

1212
public static void main(String...args) {
1313

14-
Driver driver = GraphDatabase.driver("bolt://<HOST>:<BOLTPORT>",
14+
Driver driver = GraphDatabase.driver("neo4j://<HOST>:<BOLTPORT>",
1515
AuthTokens.basic("<USERNAME>","<PASSWORD>"));
1616

1717
try (Session session = driver.session(SessionConfig.forDatabase("neo4j"))) {

code/javascript/example.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// npm install --save neo4j-driver
22
// node example.js
33
const neo4j = require('neo4j-driver');
4-
const driver = neo4j.driver('bolt://<HOST>:<BOLTPORT>',
4+
const driver = neo4j.driver('neo4j://<HOST>:<BOLTPORT>',
55
neo4j.auth.basic('<USERNAME>', '<PASSWORD>'),
6-
{/* encrypted: 'ENCRYPTION_OFF' */});
6+
{});
77

88
const query =
99
`

code/python/example.py

+11-13
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
1-
# pip3 install neo4j-driver
1+
# pip3 install neo4j
22
# python3 example.py
33

44
from neo4j import GraphDatabase, basic_auth
55

6-
driver = GraphDatabase.driver(
7-
"bolt://<HOST>:<BOLTPORT>",
8-
auth=basic_auth("<USERNAME>", "<PASSWORD>"))
9-
106
cypher_query = '''
117
MATCH (dc:DataCenter {location: $location})-[:CONTAINS]->(r:Router)-[:ROUTES]->(i:Interface)
128
RETURN i.ip as ip
139
'''
1410

15-
with driver.session(database="neo4j") as session:
16-
results = session.read_transaction(
17-
lambda tx: tx.run(cypher_query,
18-
location="Iceland").data())
19-
for record in results:
20-
print(record['ip'])
21-
22-
driver.close()
11+
with GraphDatabase.driver(
12+
"neo4j://<HOST>:<BOLTPORT>",
13+
auth=("<USERNAME>", "<PASSWORD>")
14+
) as driver:
15+
result = driver.execute_query(
16+
cypher_query,
17+
location="Iceland",
18+
database_="neo4j")
19+
for record in result.records:
20+
print(record['ip'])

0 commit comments

Comments
 (0)