在OrientDB中使用Java为图数据库创建模式

时间:2015-05-09 18:17:43

标签: java orientdb

我尝试使用Java在OrientDB中为图形数据库创建模式,但我有两个问题无法解决。我正在使用此示例http://orientdb.com/docs/last/Graph-Schema.html

  1. 当我使用此代码时
  2. OServerAdmin serverAdmin = new OServerAdmin("remote:localhost").connect("root", "1234");
    serverAdmin.createDatabase("mydb", "graph", "plocal");
    serverAdmin.close();
    

    我收到以下错误:

      

    java.lang.NoSuchMethodError:com.orientechnologies.common.concur.resource.OResourcePool.getAllResources()Ljava / util / Collection;       在com.orientechnologies.orient.client.r

    它创建了数据库但仅此而已,因为我得到了这个例外。

    1. 我可以从命令行创建数据库,然后使用Java创建模式,如:
    2. OrientGraph graph = new OrientGraph("remote:localhost/mydb", "root", "1234");         
      OrientVertexType userVType = graph.createVertexType("User");
      userVType.createProperty("email", OType.STRING)
      // ...
      

      它工作正常,但每次运行程序时都会尝试创建模式,我得到的错误消息就像用户类已经存在等等。所以我想知道如何检查数据库和模式是否已经存在或者哪个是在OrientDB中用Java创建模式的正确方法?

1 个答案:

答案 0 :(得分:3)

请参阅here,其中显示了有关创建图形数据库的完整示例。

关于该导入的一些要点:

  • 始终使用工厂 factoryGraph = new OrientGraphFactory(dbPath,“admin”,“admin”)。setupPool(1,10);
  • 使用非图形环境创建数据库结构(不知怎的,我在一段时间后发现它的效果更好) db = new ODatabaseDocumentTx(dbPath);
  • 创建辅助方法(例如 void createProperty(String className,String propertyName,OType oType){...}

我正在使用这种导入方式在我的最新项目中没有任何问题。我还创建了一种保存旧功能的技术,导入后我将其恢复。

如果你需要更多信息,请告诉我,我会在这里添加。