我一直在尝试将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的基础教程。因此,这篇冗长的文章。有人有经验要发表评论吗?
答案 0 :(得分:0)
另一个用户在此处发布了一个类似的问题:https://stackoverflow.com/a/61989193/13593049
本质上,如果要在图形中使用Neo4j数据类型,则需要使用apply_ufunc
包作为日期和时间。 (Documentation)
neotime
还具有将neotime
对象转换为neotime
对象的功能。
datetime