SlideShare a Scribd company logo
1 of 24
Download to read offline
Neo4j を
Javaプログラムから使う
(ローカルとリモート)
初心者向け/Java開発者向け
@madgaoh
今日の登場人物
ExecutionEngine
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-server
(HTTP)
(RESTful)
(JSON)
CypherPlugIn
neo4j-rest-graphdb
neo4j-cypher-plugin
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
Client-Side
Server-Side
data
<<interface>> RestAPI
2
RestGraphDatabase
RestAPIFacade
RestCypherQueryEngine
必要なjarファイルを
classpathに通す
http://docs.neo4j.org/chunked/stable/tutorials-java-embedded-setup.html
• Neo4jをダウンロードして libディレクトリの下にあるjarを全
部classpathに通す
• Mavenを使って依存jar一式を取得する
<dependencies>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>1.8.2</version>
</dependency>
</dependencies>
3
ローカルで使う
data
EmbeddedGraphDatabase
neo4j-kernel
EmbeddedGraphDatabase graphdb
= new EmbeddedGraphDatabase("path/to/db/data");
Node nodeA = graphdb.createNode();
Node nodeB = graphdb.createNode();
nodeA.createRelationshipTo(nodeB, MyTypeEnum.FRIEND);
graphdb.shutdown();
4
ローカルで使う
data
EmbeddedGraphDatabase
neo4j-kernel
EmbeddedGraphDatabase graphdb
= new EmbeddedGraphDatabase("path/to/db/data");
Node nodeA = graphdb.createNode();
Node nodeB = graphdb.createNode();
nodeA.createRelationshipTo(nodeB, MyTypeEnum.FRIEND);
graphdb.shutdown();
もしまだ無ければ
新規作成される
注意
最後は必ずシャットダウン
5
ローカルで使う
(ファクトリ経由で生成する)
<<interface>>
GraphDatabaseService
data
EmbeddedGraphDatabase
neo4j-kernel
GraphDatabaseService graphdb
= new GraphDatabaseFactory()
.newEmbeddedDatabase (" path/to/db/data ");
Node nodeA = graphdb.createNode();
Node nodeB = graphdb.createNode();
nodeA.createRelationshipTo(nodeB, MyTypeEnum.FRIEND);
graphdb.shutdown();
6
ローカルで使う
(ビルダーでカスタマイズする)
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
data
EmbeddedGraphDatabase
neo4j-kernel
GraphDatabaseService graphdb
= new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(" path/to/db/data ")
.setConfig(GraphDatabaseSettings.read_only, "true")
.newGraphDatabase();
Node nodeA = graphdb.createNode();
graphdb.shutdown();
7
リードオンリーの指定
ローカルで使う
(ビルダーでカスタマイズする)
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
data
EmbeddedGraphDatabase
neo4j-kernel
GraphDatabaseService graphdb
= new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(" path/to/db/data ")
.setConfig(GraphDatabaseSettings.read_only, "true")
.newGraphDatabase();
Node nodeA = graphdb.createNode();
graphdb.shutdown();
8
もしまだ無ければ
例外発生!
書き込み操作はできない
(例外発生!)
ローカルで使う
(Cypherのクエリで検索する)
ExecutionEngine
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
data
GraphDatabaseService graphdb
= new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(" path/to/db/data ")
.newGraphDatabase();
ExecutionEngine engine = new ExecutionEngine(graphdb);
Map<String, Object> params = new HashMap<>();
params.put("id", 1);
ExecutionResult result
= engine.execute("START n = node({id}) RETURN n", params);
9
ローカルで使う
(Cypherのクエリで検索する)
ExecutionEngine
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
data
GraphDatabaseService graphdb
= new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(" path/to/db/data ")
.newGraphDatabase();
ExecutionEngine engine = new ExecutionEngine(graphdb);
Map<String, Object> params = new HashMap<>();
params.put("id", 1);
ExecutionResult result
= engine.execute("START n = node({id}) RETURN n", params);
注意
Cypher は Scala で書かれており、
ExecutionEngine は同名のクラスでも
Scala 用と Java 用があるので、正解は
Package名に .javacompat と付く方
10
RESTfulサーバとして起動する
ExecutionEngine
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-server
(HTTP)
(RESTful)
(JSON)
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
Client-Side
Server-Side
data
> curl -X POST http://server:7474/db/data/node
-d {"last_name": "satake", "first_name": "masahiro"}'
> curl -X GET http://server:7474/db/data/node/1
Jetty (AppServer)
+
Jersey (JAX-RS)
+
Jackson (JSON)
11
neo4j-rest-graphdb
とは
• Neo4jのREST-APIをラップしてくれるクライアントサイド用
Javaライブラリ
• Mavenリポジトリが別になっている
– セントラルに登録されていない
• pom.xml に リポジトリの追加の設定が必要
• GitHubで見ると java-rest-binding という名前になっている
– 寄贈されたもの・・・(だけど neo4j-contrib でもない・・・?)
– 本体のバージョンと完全には同期していない
• 5/22 現在の最新は1.8.1
– Branch 1.8.1を見ると1.8.2を追いかけてはいる
• 同時に1.9-SNAPTSHOT 2.0-SNAPSHOT もある
https://github.com/neo4j/java-rest-binding
12
neo4j-rest-graphdb
(Mavenリポジトリを追加)
<repositories>
<repository>
<id>neo4j-public-repository</id>
<name>Publically available Maven 2 repository for Neo4j</name>
<url>http://m2.neo4j.org</url>
</repository>
</repositories>
:
<dependencies>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-rest-graphdb</artifactId>
<version>1.8.1</version>
</dependency>
</dependencies>
13
neo4j-rest-graphdb
(Server側と本体バージョン合わせる)
1) 本体のライブラリだけ明示的に1.8.2にする
<dependencies>
:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>server-api</artifactId>
<version>1.8.2</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-kernel</artifactId>
<version>1.8.2</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-lucene-index</artifactId>
<version>1.8.2</version>
</dependency>
:
</dependencies>
2) 1.9-SNAPSHOT(RC2) に上げてしまう
<repositories>
<repository>
<id>neo4j-public-repository</id>
<name>Publically available Maven 2 repository for
Neo4j</name>
<url>http://m2.neo4j.org</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
:
<dependencies>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-rest-graphdb</artifactId>
<version>1.9-SNAPSHOT</version>
</dependency>
</dependencies>
3) ブランチ最新ソースからビルド
14
リモートで使う
(neo4j-rest-graphdbを利用)
ExecutionEngine
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-server
(HTTP)
(RESTful)
(JSON)
neo4j-rest-graphdb
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
Client-Side
Server-Side
data
RestAPI api = new RestAPIFacade("http://server:7474/db/data");
Map<String, Object> props = new HashMap<>();
api.createNode(props);
api.close();
<<interface>> RestAPI
15
RestAPIFacade
リモートで使う
(neo4j-rest-graphdbを利用)
ExecutionEngine
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-server
(HTTP)
(RESTful)
(JSON)
neo4j-rest-graphdb
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
Client-Side
Server-Side
data
RestAPI api = new RestAPIFacade("http://server:7474/db/data");
Map<String, Object> props = new HashMap<>();
api.createNode(props);
api.close();
<<interface>> RestAPI
16
注意
最後は必ずクローズする
RestAPIFacade
リモートで使う
(ローカルの時と同じinterfaceで)
ExecutionEngine
<<interface>> RestAPI
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-server
(HTTP)
(RESTful)
(JSON)
neo4j-rest-graphdb
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
Client-Side
Server-Side
data
GraphDatabaseService graphdb = new RestGraphDatabase(api);
// or new RestGraphDatabase ("http://...");
// or GraphDatabaseFactory.databaseFor("http://...");
RestGraphDatabase
RestAPIFacade
17
<<interface>> RestAPI
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-server
(HTTP)
(RESTful)
(JSON)
neo4j-rest-graphdb
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
Client-Side
Server-Side
data
RestAPI api = new RestAPIFacade("http://server:7474/db/data");
GraphDatabaseService graphdb = new RestGraphDatabase(api);
// or new RestGraphDatabase ("http://...");
// or GraphDatabaseFactory.databaseFor("http://...");
Node nodeA = graphdb.createNode();
graphdb.shutdown();
ExecutionEngine
RestGraphDatabase
RestAPIFacade
リモートで使う
(ローカルの時と同じInterfaceで)
18
<<interface>> RestAPI
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-server
(HTTP)
(RESTful)
(JSON)
neo4j-rest-graphdb
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
Client-Side
Server-Side
data
RestAPI api = new RestAPIFacade("http://server:7474/db/data");
GraphDatabaseService graphdb = new RestGraphDatabase(api);
// or new RestGraphDatabase ("http://...");
// or GraphDatabaseFactory.databaseFor("http://...");
Node nodeA = graphdb.createNode();
graphdb.shutdown();
ExecutionEngine
RestGraphDatabase
RestAPIFacade
リモートで使う
(ローカルの時と同じInterfaceで)
19
注意
ここでも最後は必ずシャットダウン
(サーバはシャットダウンされない。
内部のRestAPIやリソースの開放)
リモートで使う
(Cypherのクエリで検索する)
ExecutionEngine
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-server
(HTTP)
(RESTful)
(JSON)
neo4j-rest-graphdb
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
Client-Side
Server-Side
data
<<interface>> RestAPI
GraphDatabaseService graphdb
= new RestGraphDatabase(api);
ExecutionEngine engine
= new ExecutionEngine(graphdb);
RestGraphDatabase
RestAPIFacade
ExecutionEngine
20
リモートで使う
(Cypherのクエリで検索する)
ExecutionEngine
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-server
(HTTP)
(RESTful)
(JSON)
neo4j-rest-graphdb
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
Client-Side
Server-Side
data
<<interface>> RestAPI
RestGraphDatabase
RestAPIFacade
ExecutionEngine
21
GraphDatabaseService graphdb
= new RestGraphDatabase(api);
ExecutionEngine engine
= new ExecutionEngine(graphdb);
注意
Client-Sideで Cypher クエリを使う場合に
Server側の cypher ライブラリは使わない
リモートで使う
(Cypherのクエリで検索する)
ExecutionEngine
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-server
(HTTP)
(RESTful)
(JSON)
CypherPlugIn
neo4j-rest-graphdb
neo4j-cypher-plugin
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
Client-Side
Server-Side
data
<<interface>> RestAPI
RestAPI api
= new RestAPIFacade("URL…");
RestCypherQueryEngine engine
= new RestCypherQueryEngine(api);
RestGraphDatabase
RestAPIFacade
RestCypherQueryEngine
22
ExecutionEngineneo4j-server
(HTTP)
(RESTful)
(JSON)
CypherPlugIn
neo4j-rest-graphdb
neo4j-cypher-plugin
neo4j-cypher
neo4j-kernel
Client-Side
Server-Side
<<interface>> RestAPI
RestAPI api
= new RestAPIFacade("URL…");
RestCypherQueryEngine engine
= new RestCypherQueryEngine(api);
Map<String, Object> params = new HashMap<>();
params.put("id", 1);
QueryResult result
= engine.query ("START n = node({id}) RETURN n", params);
RestGraphDatabase
RestAPIFacade
RestCypherQueryEngine
23
リモートで使う
(Cypherのクエリで検索する)
ご清聴ありがとうございました
ExecutionEngine
<<interface>>
GraphDatabaseService
EmbeddedReadOnly
GraphDatabase
neo4j-server
(HTTP)
(RESTful)
(JSON)
CypherPlugIn
neo4j-rest-graphdb
neo4j-cypher-plugin
neo4j-cypher
neo4j-kernel
EmbeddedGraphDatabase
Client-Side
Server-Side
data
<<interface>> RestAPI
24
RestGraphDatabase
RestAPIFacade
RestCypherQueryEngine

More Related Content

What's hot

Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Yuji Kubota
 
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugHead toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugYuji Kubota
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方Takahiro YAMADA
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaYuta Kawadai
 
Advanced database monitoring in modern java
Advanced database monitoring in modern javaAdvanced database monitoring in modern java
Advanced database monitoring in modern javaChihiro Ito
 
WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」Hiroaki NAKADA
 
JDK9 新機能 (日本語&ショートバージョン) #jjug
JDK9 新機能 (日本語&ショートバージョン) #jjugJDK9 新機能 (日本語&ショートバージョン) #jjug
JDK9 新機能 (日本語&ショートバージョン) #jjugYuji Kubota
 
jjugccc2018 app review postmortem
jjugccc2018 app review postmortemjjugccc2018 app review postmortem
jjugccc2018 app review postmortemtamtam180
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?Takahiro YAMADA
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugYuji Kubota
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5Takahiro YAMADA
 
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築Daein Park
 
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoOpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoTakahiro YAMADA
 
Jenkinsプラグイン開発
Jenkinsプラグイン開発Jenkinsプラグイン開発
Jenkinsプラグイン開発Takahisa Wada
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセスMakoto Kato
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_GebNobuhiro Sue
 
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Wayロフト くん
 
20161022 Linux on Azureの世界
20161022 Linux on Azureの世界20161022 Linux on Azureの世界
20161022 Linux on Azureの世界Takayoshi Tanaka
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQLRyusuke Kajiyama
 
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本Takahiro YAMADA
 

What's hot (20)

Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
 
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugHead toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjug
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
 
Advanced database monitoring in modern java
Advanced database monitoring in modern javaAdvanced database monitoring in modern java
Advanced database monitoring in modern java
 
WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」
 
JDK9 新機能 (日本語&ショートバージョン) #jjug
JDK9 新機能 (日本語&ショートバージョン) #jjugJDK9 新機能 (日本語&ショートバージョン) #jjug
JDK9 新機能 (日本語&ショートバージョン) #jjug
 
jjugccc2018 app review postmortem
jjugccc2018 app review postmortemjjugccc2018 app review postmortem
jjugccc2018 app review postmortem
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
 
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築
 
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoOpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
 
Jenkinsプラグイン開発
Jenkinsプラグイン開発Jenkinsプラグイン開発
Jenkinsプラグイン開発
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセス
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
 
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
 
20161022 Linux on Azureの世界
20161022 Linux on Azureの世界20161022 Linux on Azureの世界
20161022 Linux on Azureの世界
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
 
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
 

Similar to Neo4j を Javaプログラムから使う

実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)torutk
 
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
どこよりも早い Spring Boot 1.2 解説 #渋谷Javaどこよりも早い Spring Boot 1.2 解説 #渋谷Java
どこよりも早い Spring Boot 1.2 解説 #渋谷JavaToshiaki Maki
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDEdcubeio
 
JavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJavaJavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJavaなおき きしだ
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードKazuhiro Hara
 
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方Yuki Morishita
 
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発Hironao Sekine
 
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイPlaybay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイKazuhiro Hara
 
thymeleafさいしょの一歩
thymeleafさいしょの一歩thymeleafさいしょの一歩
thymeleafさいしょの一歩Yuichi Hasegawa
 
Java/phpからのOracle接続(debian)
Java/phpからのOracle接続(debian)Java/phpからのOracle接続(debian)
Java/phpからのOracle接続(debian)Kimiyuki Yamauchi
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJavaTakashi Ito
 
OpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseOpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseHideki Saito
 
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編Yohei Yasukawa
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む2bo 2bo
 
RapidMinerのインストール【CentOS 6.5】
RapidMinerのインストール【CentOS 6.5】RapidMinerのインストール【CentOS 6.5】
RapidMinerのインストール【CentOS 6.5】Satoshi Kitajima
 
Gws 20130315 gradle_handson
Gws 20130315 gradle_handsonGws 20130315 gradle_handson
Gws 20130315 gradle_handsonNobuhiro Sue
 
Nodejuku01 ohtsu
Nodejuku01 ohtsuNodejuku01 ohtsu
Nodejuku01 ohtsuNanha Park
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Daisuke Hiraoka
 

Similar to Neo4j を Javaプログラムから使う (20)

実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)
 
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
どこよりも早い Spring Boot 1.2 解説 #渋谷Javaどこよりも早い Spring Boot 1.2 解説 #渋谷Java
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDE
 
JavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJavaJavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJava
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
 
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
 
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発
 
Ruby In Wheezy
Ruby In WheezyRuby In Wheezy
Ruby In Wheezy
 
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイPlaybay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイ
 
thymeleafさいしょの一歩
thymeleafさいしょの一歩thymeleafさいしょの一歩
thymeleafさいしょの一歩
 
Java/phpからのOracle接続(debian)
Java/phpからのOracle接続(debian)Java/phpからのOracle接続(debian)
Java/phpからのOracle接続(debian)
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
 
OpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseOpenStack QuickStart - Icehouse
OpenStack QuickStart - Icehouse
 
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
RapidMinerのインストール【CentOS 6.5】
RapidMinerのインストール【CentOS 6.5】RapidMinerのインストール【CentOS 6.5】
RapidMinerのインストール【CentOS 6.5】
 
Maven tips
Maven tipsMaven tips
Maven tips
 
Gws 20130315 gradle_handson
Gws 20130315 gradle_handsonGws 20130315 gradle_handson
Gws 20130315 gradle_handson
 
Nodejuku01 ohtsu
Nodejuku01 ohtsuNodejuku01 ohtsu
Nodejuku01 ohtsu
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 

Recently uploaded

ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 

Recently uploaded (12)

ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 

Neo4j を Javaプログラムから使う