在Cassandra中创建时JanusGraph.graphml文件架构问题

在Cassandra中创建时JanusGraph.graphml文件架构问题,cassandra,gremlin,janusgraph,Cassandra,Gremlin,Janusgraph,我正在尝试从.graphml文件创建模式,并使用Cassandra作为后端存储。我在尝试将数据加载到为附加的.graphml文件创建的模式时遇到了以下问题。架构定义如下 private static void setAirRouteSchema(JanusGraphManagement mgmt, JanusGraph graph) throws IOException { // System.out.println("Inside setAirRouteSchema

我正在尝试从.graphml文件创建模式,并使用Cassandra作为后端存储。我在尝试将数据加载到为附加的.graphml文件创建的模式时遇到了以下问题。架构定义如下

    private static void setAirRouteSchema(JanusGraphManagement mgmt, JanusGraph graph) throws IOException {

//        System.out.println("Inside setAirRouteSchema  "+mgmt);
        // Define edge labels and usage
        mgmt = graph.openManagement();
        mgmt.makeEdgeLabel("Frederick Douglass Boulevard").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("West Street").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("North Moore Street").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("Nagle Avenue").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("Broadway").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("Rivington Street").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("West 144th Street").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("[u'River Terrace', u'Vesey Place']").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("Avenue C").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("Division Street").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("Eldridge Street").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("East 79th Street").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("Madison Avenue").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("East 27th Street").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("Hester Street").multiplicity(MULTI).make();
        mgmt.makeEdgeLabel("East 81st Street").multiplicity(MULTI).make();
        mgmt.commit();

// Define vertex labels
        mgmt = graph.openManagement();
        mgmt.makeVertexLabel("traffic_signals").make();
        mgmt.commit();

// Define vertex property keys
        mgmt = graph.openManagement();
        mgmt.makePropertyKey("ref").dataType(String.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("highway").dataType(String.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("osmid").dataType(String.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("x").dataType(String.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("y").dataType(String.class).cardinality(Cardinality.SINGLE).make();
        mgmt.commit();

// Define edge property keys
        mgmt = graph.openManagement();
        mgmt.makePropertyKey("service").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("access").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("width").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("tunnel").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("bridge").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
//        mgmt.makePropertyKey("ref").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("geometry").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("maxspeed").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("lanes").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
//        mgmt.makePropertyKey("key").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("oneway").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
//        mgmt.makePropertyKey("highway").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
//        mgmt.makePropertyKey("osmid").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("length").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
        mgmt.makePropertyKey("name").dataType(Integer.class).cardinality(Cardinality.SINGLE).make();
        mgmt.commit();

}

GraphMl file loaded from here : https://www.kaggle.com/crailtap/street-network-of-new-york-in-graphml

Error :

Exception in thread "main" java.lang.IllegalArgumentException: Name cannot be in protected namespace: edge
    at org.janusgraph.graphdb.types.system.SystemTypeManager.throwIfSystemName(SystemTypeManager.java:72)
    at org.janusgraph.graphdb.types.StandardRelationTypeMaker.name(StandardRelationTypeMaker.java:181)
    at org.janusgraph.graphdb.types.StandardRelationTypeMaker.<init>(StandardRelationTypeMaker.java:53)

Also Schema is being created but data is not getting entered. Printing the schema created:

------------------------------------------------------------------------------------------------
Vertex Label Name              | Partitioned | Static                                             |
---------------------------------------------------------------------------------------------------
traffic_signals                | false       | false                                              |
---------------------------------------------------------------------------------------------------
Edge Label Name                | Directed    | Unidirected | Multiplicity                         |
---------------------------------------------------------------------------------------------------
East 81st Street               | true        | false       | MULTI                                |
Frederick Douglass Boulevard   | true        | false       | MULTI                                |
West Street                    | true        | false       | MULTI                                |
North Moore Street             | true        | false       | MULTI                                |
Nagle Avenue                   | true        | false       | MULTI                                |
Broadway                       | true        | false       | MULTI                                |
Rivington Street               | true        | false       | MULTI                                |
West 144th Street              | true        | false       | MULTI                                |
[u'River Terrace', u'Vesey Place'] | true        | false       | MULTI                                |
Avenue C                       | true        | false       | MULTI                                |
Division Street                | true        | false       | MULTI                                |
Eldridge Street                | true        | false       | MULTI                                |
East 79th Street               | true        | false       | MULTI                                |
Madison Avenue                 | true        | false       | MULTI                                |
East 27th Street               | true        | false       | MULTI                                |
Hester Street                  | true        | false       | MULTI                                |
---------------------------------------------------------------------------------------------------
Property Key Name              | Cardinality | Data Type                                          |
---------------------------------------------------------------------------------------------------
ref                            | SINGLE      | class java.lang.String                             |
highway                        | SINGLE      | class java.lang.String                             |
osmid                          | SINGLE      | class java.lang.String                             |
x                              | SINGLE      | class java.lang.String                             |
y                              | SINGLE      | class java.lang.String                             |
service                        | SINGLE      | class java.lang.Integer                            |
access                         | SINGLE      | class java.lang.Integer                            |
width                          | SINGLE      | class java.lang.Integer                            |
tunnel                         | SINGLE      | class java.lang.Integer                            |
bridge                         | SINGLE      | class java.lang.Integer                            |
geometry                       | SINGLE      | class java.lang.Integer                            |
maxspeed                       | SINGLE      | class java.lang.Integer                            |
lanes                          | SINGLE      | class java.lang.Integer                            |
oneway                         | SINGLE      | class java.lang.Integer                            |
length                         | SINGLE      | class java.lang.Integer                            |
name                           | SINGLE      | class java.lang.Integer                            |
---------------------------------------------------------------------------------------------------
Vertex Index Name              | Type        | Unique    | Backing        | Key:           Status |
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
Edge Index (VCI) Name          | Type        | Unique    | Backing        | Key:           Status |
----------------------------------
private static void setAirRouteSchema(JanusGraphManagement管理,JanusGraph图形)抛出IOException{
//System.out.println(“内部设置路线方案”+管理);
//定义边标签和用法
mgmt=graph.OpenManage();
管理makeEdgeLabel(“弗雷德里克·道格拉斯大道”).multiplity(MULTI.make();
管理makeEdgeLabel(“西街”).multiplity(MULTI.make();
管理makeEdgeLabel(“北摩尔街”).multiplity(MULTI.make();
管理makeEdgeLabel(“纳格尔大道”).multiplity(MULTI.make();
管理makeEdgeLabel(“百老汇”).multiplity(MULTI.make();
管理makeEdgeLabel(“Rivington Street”).multiplity(MULTI.make();
管理makeEdgeLabel(“西144街”).multiplity(MULTI.make();
管理makeEdgeLabel(“[u'River Terrace',u'Vesey Place']”);
管理makeEdgeLabel(“C大道”).多重性(MULTI.make();
管理makeEdgeLabel(“分割街”).multiplity(MULTI.make();
管理makeEdgeLabel(“Eldridge Street”).multiplity(MULTI.make();
管理makeEdgeLabel(“东79街”).multiplity(MULTI.make();
管理makeEdgeLabel(“麦迪逊大道”).multiplity(MULTI.make();
管理makeEdgeLabel(“东27街”).multiplity(MULTI.make();
管理makeEdgeLabel(“海丝特街”).multiplity(MULTI.make();
管理makeEdgeLabel(“东81街”).multiplity(MULTI.make();
mgmt.commit();
//定义顶点标签
mgmt=graph.OpenManage();
管理makeVertexLabel(“交通信号”).make();
mgmt.commit();
//定义顶点特性关键点
mgmt=graph.OpenManage();
mgmt.makePropertyKey(“ref”).dataType(String.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“高速公路”).dataType(String.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“osmid”).dataType(String.class).cardinality(cardinality.SINGLE).make();
mgmt.makePropertyKey(“x”).dataType(String.class).cardinality(cardinality.SINGLE).make();
mgmt.makePropertyKey(“y”).dataType(String.class).cardinality(cardinality.SINGLE).make();
mgmt.commit();
//定义边属性键
mgmt=graph.OpenManage();
mgmt.makePropertyKey(“服务”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“access”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“宽度”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“隧道”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“桥”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
//mgmt.makePropertyKey(“ref”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“geometry”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“maxspeed”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“lanes”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
//mgmt.makePropertyKey(“key”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“单向”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
//mgmt.makePropertyKey(“高速公路”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
//mgmt.makePropertyKey(“osmid”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“长度”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
mgmt.makePropertyKey(“name”).dataType(Integer.class).cardinality(cardinality.SINGLE.make();
mgmt.commit();
}
从此处加载的GraphMl文件:https://www.kaggle.com/crailtap/street-network-of-new-york-in-graphml
错误:
线程“main”java.lang.IllegalArgumentException:Name中的异常不能在受保护的命名空间:edge中
位于org.janusgraph.graphdb.types.system.SystemTypeManager.throwIfSystemName(SystemTypeManager.java:72)
位于org.janusgraph.graphdb.types.StandardRelationTypeMaker.name(StandardRelationTypeMaker.java:181)
位于org.janusgraph.graphdb.types.StandardRelationTypeMaker。(StandardRelationTypeMaker.java:53)
此外,正在创建架构,但未输入数据。打印创建的架构:
------------------------------------------------------------------------------------------------
顶点标签名称|分区|静态|
---------------------------------------------------------------------------------------------------
交通信号灯|假|假|
---------------------------------------------------------------------------------------------------
边标签名称|定向|单向|多重性|
---------------------------------------------------------------------------------------------------
东81街|真|假|多|
弗雷德里克·道格拉斯大道|真|假|多|
西街|真|假|多|
北摩尔街|真|假|多|
纳格尔大道|真|假|多|
百老汇
GraphMLReader reader = GraphMLReader.build().edgeLabelKey(<whatever your label field is>).create();
InputStream input = FileInputStream(<path to graphml file>);
reader.readGraph(input, graph);
GraphMLReader reader = GraphMLReader.build().edgeLabelKey(<whatever your label field is>).create();
g.io(<path to graphml file>).
    with(IO.reader, reader).
    read().iterate()