私はこの問題を数時間にわたって取り組んできましたが、Neo4jのコミュニティのGolangドライバにはあまり幸運を得ないです。GoでNeo4jデータベースのCypherクエリをどのように実行しますか?
私は "movies-go-cq"と "neoism"の例を実行しようとしました。 movies-go-cqの例は私にとっては役に立ちません。it crashes when localhost:8080 is loaded in the browser
Neoismを使用しているNeo4jデータベースのCypherクエリは、空白のデータのみを返します。しかし、Neo4jブラウザのlocalhost:7474で同じクエリを実行すると、予想されるデータが返されます。ここで
は私がneoismで実行している囲碁コードです:
package main
import (
"fmt"
"github.com/jmcvetta/neoism"
)
func main() {
// Reference: https://godoc.org/github.com/jmcvetta/neoism
// Connect to the Neo4j server
db, _ := neoism.Connect("http://localhost:7474/db/data")
// Issue a query
res1 := []struct {
A string `json:"path1"` // `json` tag matches column name in query
B string `json:"path2"`
}{}
cq1 := neoism.CypherQuery{
// Use backticks for long statements - Cypher is whitespace indifferent
Statement: `
MATCH path1 = shortestPath((plant:Plant {Term: "Vaccinium corymbosum"})-[*..5]-(gene:Gene {Description: "adenylate cyclase activating polypeptide 1"}))
MATCH path2 = shortestPath((gene)-[*..5]-(disease:Medical_Heading {Term: "Alzheimer Disease"}))
RETURN path1, path2
`,
Result: &res1,
}
db.Cypher(&cq1)
r := res1[0]
fmt.Println(r.A, r.B)
}
私はきちんと仕事に行くのドライバを既存の取得できない場合のNeo4jのHTTP RESTfulなAPIを使用して移動中に自分のAPIのラッパーを書いて検討しています;私はGolangを新しくしました.Goコードのデバッグに関するアドバイスやGolangのNeo4jでの作業のヒントに感謝します。あなたの時間をありがとう。
[db.Cypher](https://godoc.org/github.com/jmcvetta/neoism#Database.Cypher)はエラーを返します。 ( 'err:= db.Cypher(&cq1)')をキャプチャして、あなたの質問を 'err'の値で更新できますか? – algrebe