我如何重构此py2neo v4代码以使用neo4j 3.4时态数据类型?

问题描述 投票:2回答:1

我在尝试将date_accepted属性添加到代表科学论文的上传节点时遇到了麻烦。以前,我只是添加了一个时间树节点。但是,py2neo v4不再支持GregorianCalendar(可耻)。我将如何转换此代码片段以使用新的临时数据类型之一?我看过在线文档和文档,但恐怕我还不够聪明。

from datetime import date, datetime # ??? how to use this...

def getAccepted(year_accepted, month, day):
    with open('/home/pmy/pdf/id.txt') as f:
        id = f.read()
        matcher = NodeMatcher(graph)
        upload = matcher.match("Upload", id = id).first()

        a = year_accepted+month+day
        d = datetime.strptime(a, '%Y%m%d').strftime('%Y-%m-%d') 
        # >>> HOW TO CONVERT d TO A TEMPORAL DATA TYPE HERE? <<<            
        try:
            graph.merge(upload)
            upload['accepted_date']=d
            graph.push(upload)

        except IndexError as e:
            print("type error: " + str(e))
        pass
    return 0

这有效,但是它推送了日期时间字符串,而我想推送新的时间日期...

可以将上面的datetime变量d插入下面的类似查询中,它也可以使用,但是我对此表示怀疑,怀疑还有更好的方法...

query='''UNWIND [date({param})] AS date RETURN date'''
result=graph.run(query, param=d).data()
print(result)

返回]

[{'date': neotime.Date(2010, 10, 23)}]

所以我也许可以提取值并将其推到图表上?这是开发人员想要的吗?文档很简洁,针对的是合适的程序员,因此IDK

也许

 accepted=result[0].get('date')  # <class 'neotime.Date'>

&也许把它推到图表上?

py2neo v4 neotime时态类型是最新的,并且没有太多文档或适应afaik的基础教程。因此,这篇冗长的文章。有人有经验要发表评论吗?

我在尝试将date_accepted属性添加到代表科学论文的上传节点时遇到了麻烦。以前,我只是添加了一个时间树节点。但是,py2neo v4不再支持...

neo4j py2neo
1个回答
0
投票

另一个用户在此处发布了类似的问题:https://stackoverflow.com/a/61989193/13593049

© www.soinside.com 2019 - 2024. All rights reserved.