SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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 熊本
 

Similaire à 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
 

Similaire à 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のアプリを立ち上げよう!
 

Dernier

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Dernier (8)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

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