2016-06-27 8 views
0

埋め込みNeo4jバージョン3.0.3を使用しています。 Following this guide、Neo4j/Javaコードを作成しました。これはデータベースを作成し、2つのノードを追加し(Java用とスカラ用)、関係を追加します。デフォルトのビジュアライゼーションを使用してWebブラウザに埋め込みneo4jインスタンスを視覚化する

package examples; 

import java.io.File; 
import org.neo4j.graphdb.*; 
import org.neo4j.graphdb.factory.GraphDatabaseFactory; 

public class HelloWorld { 
    public static void main(String[] args) { 

     GraphDatabaseFactory dbFactory = new GraphDatabaseFactory(); 
     GraphDatabaseService db = dbFactory.newEmbeddedDatabase(new File("Test_DB")); 

     try (Transaction tx = db.beginTx()) { 
      Node javaNode = db.createNode(Tutorials.JAVA); 
      javaNode.setProperty("TutorialID", "JAVA001"); 

      Node scalaNode = db.createNode(Tutorials.SCALA); 
      scalaNode.setProperty("TutorialID", "SCALA001"); 

      Relationship relationship = javaNode.createRelationshipTo(scalaNode, TutorialRelationships.JVM_LANGUAGES); 
      relationship.setProperty("Id", "1234"); 
      tx.success(); 
     } 
    } 
} 

enum Tutorials implements Label { 
    JAVA, SCALA, SQL, NEO4J; 
} 

enum TutorialRelationships implements RelationshipType { 
    JVM_LANGUAGES, NON_JVM_LANGUAGES; 
} 

私はEclipseを使用してプログラミングするので、すべてのライブラリがインポートされ、私は、コードが実行して取得するためにEclipseを「RUN」ボタンをクリックすることができ、そして問題なく動作するようです。コードを実行すると、~/workspace/project_name/Test_DBディレクトリにTest_DBというフォルダが作成されました。ここでproject_nameはEclipseフォルダ全体の名前です。 私の目標は、このデータベースをWebブラウザで視覚化することです。前のページにリンクしたガイドは、この例を示しています。ユーザはウェブブラウザ内のノードを見ることができた(ウェブページの一番下を参照)。残念ながら、私はFirefoxでLinuxコンピュータを使用していますが、チュートリアルはWindows上にあり、視覚化の仕方を理解することはできません。

これに関連するその他の質問がいくつかあります。残念ながら、それらの一部(such as this one)は、以外ののデフォルトビジュアライゼーションを使用することを提案しています。私はコンピュータを所有していないので、外部コードをインストールするためにはラウンドアバウトプロセスを経なければなりません。私が意味することを明確にするために、this link discusses the default Neo4j browser。これは私が見たいものです。

This question here directly tackles the same issue実際、使用したのとまったく同じチュートリアルが使用されています。答えはneo4j-server.propertiesファイル内のパスを変更することを提案しています。残念なことに、そのファイルは存在しません。さらに解析すると、Neo4j 3.0が設定名を変更したように思えます。これは、the answer to this similar questionという名前で判明しました。この情報を持つファイルconf/neo4j.confがあります。最初の数行に次の情報を入力して、他の設定をデフォルトのままにしておきました。

# The name of the database to mount 
dbms.active_database=Test_DB 
# Paths of directories in the installation. 
dbms.directories.data=/home/username/workspace/project_name/ 

これは動作していません。これらの設定を正しく使用していますか? ./bin/neo4j startを実行した後にneo4j Webブラウザを開き、左側のデータベースシンボルをクリックすると、 "Name:Test_DB"が表示されますが、データベースにはノードもリレーションシップもなく、すべて一致していますクエリは何も提供しません。ブラウザが自分のデータベースに接続してノードを見ることができますか(上記のJavaコードの2つのノードなど)?

または、私はこのコードを正しく使用していません。コードは何らかの理由で終了しないでください(つまり、tx.success()を別のものに置き換えてください)。

答えて

0

私自身の質問にお答えして申し訳ありませんが、最終的にどのようにこれを行うかを考え出しました。 according to the github change log for 3.0.0.RC-1

データベースは、dbms.directoriesで指定されたディレクトリの下のdatabasesというディレクトリに格納されるようになりました。データ

だから、我々は実際にがしなければならないどのような私達のデータベースには、次の場所にあることを確認している。

/home/username/workspace/project_name/databases/

問題は、私たちはEclipseでそれを実行すると、我々が得るということです次のフォルダ内のデータベース:

/home/username/workspace/project_name/

はこのように、解決策は確認することです新しいデータベースフォルダの前にdatabasesという名前が付いています。つまり、1行を次のように変更します。

GraphDatabaseService db = dbFactory.newEmbeddedDatabase(new File("databases/Test_DB")); 
関連する問題