🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Neo4j

Neo4jとは繋がったデータに十分合うオープンソースな商グラフデータベースです。全てのJVM言語もしくはHTTP-APIsを通してその他の言語ドライバからも様々な用途で使えます。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

1374閲覧

macOS上でTheoというライブラリを使用してNeo4jのデータベースにアクセスしたいが、できない

sato347

総合スコア4

Neo4j

Neo4jとは繋がったデータに十分合うオープンソースな商グラフデータベースです。全てのJVM言語もしくはHTTP-APIsを通してその他の言語ドライバからも様々な用途で使えます。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/11/17 10:50

Neo4jにTheoを使用してmacOSからアクセスできない

プログラミングの初心者です。
macOS上で動き、Neo4jにアクセスすることができるアプリを開発中です。
Swiftで書かれたTheoというライブラリがあり、その導入はできたのですが、
また、テストコードもエラーなくbuildできるのですが、
実際に、Neo4jにデータを書き、読み出すことができません。

発生している問題・エラーメッセージ

printのコマンドの結果、 1,2,3,4まではプログラムが実行されるが、 5以降が表示されない。

該当のソースコード

Swift

1import Cocoa 2import Theo 3 4class ViewController: NSViewController { 5 6 override func viewDidLoad() { 7 super.viewDidLoad() 8 print ("1") 9 10 do {print ("2") 11 /* let config = ["password": "<007>"] 12 let client = try BoltClient(JSONClientConfiguration(json: config)) 13 */ 14 15 let client = try BoltClient(hostname: "localhost", 16 port: 7687, 17 username: "neo4j", 18 password: "<007>", 19 encrypted: true) 20 print ("3") 21 22 // Create the node 23 let node = Node(label: "Character", properties: ["name": "Thomas Anderson", "alias": "Neo" ]) 24 25 // Save the node 26 print ("4") 27 28 let result = client.createNodeSync(node: node) 29 30 print ("5") 31 32 // Verify the result of the save 33 switch result { 34 case let .failure(error): 35 print(error.localizedDescription) 36 case .success(_): 37 print("Node saved successfully") 38 } 39 40 } catch 41 { 42 print ("6") 43 } 44 45 // Do any additional setup after loading the view. 46 } 47 48 override var representedObject: Any? { 49 didSet { 50 // Update the view, if already loaded. 51 } 52 } 53} 54 55 56 57 58 59 60

試したこと

BoltClientの設定が問題だろうと推測し、
色々変えてみましたが、だめでした。
localhostをIPアドレスに変更するなど。

補足情報(FW/ツールのバージョンなど)

macOS Mojave 10.14.6
Xcode 10.3
Theo 4.1.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

clientを使う前に、client.connect()を呼んであげないといけないような気がします。

iOS用のサンプルアプリがあるようです。参考になるかと思います。
https://github.com/Neo4j-Swift/Theo-example/blob/master/theo-example/QueryViewController.swift

Neo4jもTheoも使ったことがないので、間違っていたらすいません。

投稿2019/11/23 06:25

eytyet

総合スコア803

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sato347

2019/11/26 12:00

ありがとうございます!でも、サンプルアプリを確認しても、当方はかなりの初心者で、client.connect()を呼ぶということが、具体的にどうすればよいのかご教示いただけると助かります。
eytyet

2019/11/26 12:43

ちょっとみてみましたが、Neo4jのことが分からないとダメなようで(cypher queryってなんですか?)、ご説明できるほど理解できませんでした。 print("3")のあとに`client.connectSync()`を入れたら動くかもしれません。だめだったらすいません。
sato347

2019/12/05 15:12

ありがとうございます。やってみましたが、以下の出力になり、うまくはいっていません。 1 2 3 2019-12-06 00:06:17.776351+0900 MIP[13053:2379807] dnssd_clientstub ConnectToServer: connect()-> No of tries: 1 2019-12-06 00:06:18.776502+0900 MIP[13053:2379807] dnssd_clientstub ConnectToServer: connect()-> No of tries: 2 2019-12-06 00:06:19.778085+0900 MIP[13053:2379807] dnssd_clientstub ConnectToServer: connect()-> No of tries: 3 2019-12-06 00:06:20.782390+0900 MIP[13053:2379807] dnssd_clientstub ConnectToServer: connect() failed path:/var/run/mDNSResponder Socket:6 Err:-1 Errno:1 Operation not permitted 2019-12-06 00:06:20.782646+0900 MIP[13053:2379807] [] nw_resolver_create_dns_service_locked [C1] DNSServiceCreateDelegateConnection failed: ServiceNotRunning(-65563) Unknown error while connecting: The operation couldn’t be completed. (NIO.ChannelError error 0.) 4
eytyet

2019/12/05 19:31

接続先のサーバーは動いていますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問