gpt4 book ai didi

python - Py2Neo 没有正确创建日期时间数据类型?

转载 作者:行者123 更新时间:2023-12-03 23:53:15 24 4
gpt4 key购买 nike

我尝试构建一些函数来填充我的新 Neo4j 图表,但我很难使用 Py2Neo v4 和 Neo4j 3.4.7 将日期填充为 Neo4j 中的正确数据类型。根据 Neo4j docummention有日期时间数据类型......我也想获得空间点

我无法在 Py2Neo 中找到任何使用空间点或时间点的文档。我发现在 Py2Neo 的 v2 中有一个用于这些数据类型的插件,但没有找到其他任何东西。

我可以发送一个 Python datetime.datetime反对 Neo4j 作为节点属性,但是当我尝试使用 Cypher 进行查询时,它不承认它的格式正确。

# python/py2neo code being used to make the node
example_node = Node("Example", date=datetime.datetime.now())
tx.create(example_node)
# cypher query
MATCH (e:Example)
WHERE e.date > datetime("2018-12-31")
RETURN e

注意:如果我投 e.datedatetime像这样 datetime(e.date)我收到语法错误:
Neo.ClientError.Statement.SyntaxError: Text cannot be parsed to a DateTime
"2019-01-14 13:00:52"

在 Py2neo 中找到适当文档的任何帮助,或者甚至是更好的驱动程序都将不胜感激。

谢谢

最佳答案

原来 py2neo使用 neotime用于返回/创建 Neo4j 日期/时间类型的模块。 (链接到文档 here )我通过将现有字符串字段转换为 date 发现了这一点。使用 Cypher 输入并查看 py2neo当我查询图表时返回。

from py2neo import Graph, Node
import neotime
import uuid

# Create graph object
graph = Graph()

# Create example node for a blog post
post = Node(
'Post',
id=str(uuid.uuid4()),
title='Neo4j Date Post',
text='Here is some text',
# Use neotime to create Neo4j date/time fields
timestamp=neotime.DateTime.now(),
date=neotime.Date(2020, 5, 23)
)
graph.create(post)

图表上的查询将返回 neotime.Dateneotime.DateTime对象,幸好有 to_native()您可以调用的方法,它将它们转换为 datetime对象

import neotime

print(neotime.Date(2020, 5, 24).to_native())
# datetime.date(2020, 5, 24)

print(neotime.DateTime.now().to_native())
# datetime.datetime(2020, 5, 24, 11, 43, 30, 373512)

关于python - Py2Neo 没有正确创建日期时间数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54188358/

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