gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 17:43:27 25 4
gpt4 key购买 nike

我一直在尝试将 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

这行得通,但它会推送日期时间字符串,而我想推送一个新时间时间日期...

可以将上面的日期时间变量 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 temporal types 是非常新的,没有太多的文档,或者基本教程来适应 afaik。因此这篇冗长的帖子。哪位有经验的可以评论一下?

最佳答案

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

本质上,如果您想在图形中使用 Neo4j 数据类型,则需要为您的日期和时间使用 neotime 包。 ( Documentation )

neotime 还具有将 neotime 对象转换为 datetime 对象的功能。

import neotime

date_accepted = neotime.Date(2020, 05, 25)

print(date_accepted.to_native())
# # datetime.date(2020, 5, 25)

关于neo4j - 如何重构此 py2neo v4 代码以使用 neo4j 3.4 时间数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53319135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com