美文网首页
JanusGraph---访问JanusGraph实例方式

JanusGraph---访问JanusGraph实例方式

作者: zlcook | 来源:发表于2020-08-06 15:07 被阅读0次

    JanusGraph database instance

    • 图数据库实例
    • 需要通过配置文件(properties)来进行初始化
    graph = JanusGraphFactory.open('conf/janusgraph-berkeleyje-es.properties')
    

    JanusGraph Server

    • 服务器,用于接收客户端的请求,并去访问JanusGraph database instance然后返回结果给客户端。
    • 需要通过一个yaml型配置文件来启动。
    bin/gremlin-server.sh ./conf/gremlin-server/socket-gremlin-server.yaml
    
    • 使用默认配置文件启动服务器命令
    bin/janusgraph.sh start     //其实是使用了默认的配置文件./conf/gremlin-server/gremlin-server.yaml
    
    • 服务器负责初始化JanusGraph database instance 。所以在yaml配置文件中需要指定图实例初始化时需要的配置文件的位置,通过graphs条目来指定。
    graphs: {
      graph: conf/gremlin-server/socket-janusgraph-hbase-server.properties
    }
    
    • 有两种访问模式:WebSocket和REST。也是在yaml中通过channelizer来指定。
    channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
    或
    channelizer: org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer
    
    • REST模式下访问方式
    The JanusGraph Server should now be running in REST mode and available for testing. curl can be used to verify the server is working:
    
    curl -XPOST -Hcontent-type:application/json -d '{"gremlin":"g.V().count()"}' http://[IP for JanusGraph server host]:8182
    

    注:可以启动多个Server,每个Server可以设置不同的模式,这样客户端就可以选择多种方法来访问了(websocket或rest)。即一个JanusGraph database instance被多个不同模式的server访问。(未来一个Server有可能同时支持多个访问协议)

    Gremlin.sh

    • 启动客户端
    $  bin/gremlin.sh
             \,,,/
             (o o)
    -----oOOo-(3)-oOOo-----
    plugin activated: tinkerpop.server
    plugin activated: tinkerpop.hadoop
    plugin activated: tinkerpop.utilities
    plugin activated: janusgraph.imports
    plugin activated: tinkerpop.tinkergraph
    
    • 可以直接构建图数据库实例,然后进行API调用。
    gremlin> graph = JanusGraphFactory.open('conf/janusgraph-berkeleyje-es.properties')
    ==>standardjanusgraph[berkeleyje:../db/berkeley]
    gremlin> GraphOfTheGodsFactory.load(graph)
    ==>null
    gremlin> g = graph.traversal()
    ==>graphtraversalsource[standardjanusgraph[berkeleyje:../db/berkeley], standard]
    
    • 也可以访问服务器,通过服务器(服务器需是WebSocket模式)来访问数据库实例。conf/remote.yaml指定访问服务器的信息。
    gremlin> :remote connect tinkerpop.server conf/remote.yaml
    ==>Connected - localhost/127.0.0.1:8182
    gremlin> :> graph.addVertex("name", "stephen")
    ==>v[256]
    gremlin> :> g.V().values('name')
    ==>stephen
    

    编程访问

    • 不通过Gremlin.sh来访问
    • 1.直接在程序中实例化janusGraph database instance 然后调用API访问。
    • 2.访问服务器,服务器在WebSocket模式下,程序中编写websocket客户端和服务器进行通信。在REST模式下,程序中通过发送http连接来访问。

    Gremlin Server和JanusGraph Server关系

    • Since JanusGraph Server is a TinkerPop Gremlin Server packaged with configuration files for JanusGraph, a version compatible TinkerPop Gremlin Server can be downloaded separately and used with JanusGraph. Get started by downloading the appropriate version of Gremlin Server, which needs to match a version supported by the JanusGraph version in use.

    相关文章

      网友评论

          本文标题:JanusGraph---访问JanusGraph实例方式

          本文链接:https://www.haomeiwen.com/subject/jajnyxtx.html