1

具有记录类的节点存储有唯一的record_id。记录的类定义是这样的:

    class BaseRecord(Node):
     element_type = "baserecord"

     rec_id = Integer(nullable=False,unique=True)
     name = String(nullable=False)

    class Record(BaseRecord):
     element_type = "record"

     rec_type = String(nullable=False)

运行以下代码以使用 rec_id 作为键查找节点。

    for i in range(6153713,6153717):
     records = mmidata.graph_db.record.index.lookup("rec_id",i)
     if records != None:
      print "Index Lookup - ",i, list(records)
     else:
      print "Index Lookup - ",i,records
     script = "g.V.filter{it.element_type=="+"\"record\""+"}.filter{it.rec_id=="+str(i)+"}" 
     print "Executing:",script
     records = mmidata.graph_db.gremlin.query(script)
     if records != None:
      print "Gremlin Result - ",i, list(records)
     else:
      print "Gremlin Result - ",i,records

在 6153713,通过查找检索到两条记录,包括 rec_id=6153714 的记录,而 gremlin 查询返回单个结果。这是代码执行的结果。

Index Lookup -  6153713 [<Record: http://localhost:7474/db/data/node/5684>, <Record: http://localhost:7474/db/data/node/25977>]
Executing: g.V.filter{it.element_type=="record"}.filter{it.rec_id==6153713}
Gremlin Result -  6153713 [<Record: http://localhost:7474/db/data/node/5684>]

Index Lookup -  6153714 [<Record: http://localhost:7474/db/data/node/25977>]
Executing: g.V.filter{it.element_type=="record"}.filter{it.rec_id==6153714}
Gremlin Result -  6153714 [<Record: http://localhost:7474/db/data/node/25977>]

Index Lookup -  6153715 [<Record: http://localhost:7474/db/data/node/25978>]
Executing: g.V.filter{it.element_type=="record"}.filter{it.rec_id==6153715}
Gremlin Result -  6153715 [<Record: http://localhost:7474/db/data/node/25978>]

Index Lookup -  6153716 [<Record: http://localhost:7474/db/data/node/25979>]
Executing: g.V.filter{it.element_type=="record"}.filter{it.rec_id==6153716}
Gremlin Result -  6153716 [<Record: http://localhost:7474/db/data/node/25979>]

此错误的原因可能是什么?

4

0 回答 0