Я застрял, пытаясь добавить свойство 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 появились совсем недавно, и документации для их адаптации не так много. Отсюда и этот многословный пост. Кто-нибудь с опытом заботы прокомментировать?