Вставка векторов с определенными значениями вызывает ошибку 500

Я вставляю узлы с векторами признаков в Neo4j, используя py2neo. Он работает почти со всеми моими данными. Однако в двух случаях векторы содержали значения NaN, из-за чего Neo4j возвращал ошибку 500, когда я пытался создать узел.

Example 'good' vector: 
[0.0113546584773214, 0.0013764569567850638, 0.0007963202777833693, 0.00024471203511268117, 0.000390211070019412, 0.0028226812771905787, 0.04202329389178023, 0.0016958982585343057, 0.00014684726916060307, 0.000531159187816418, 0.0013412474934636795, 2.1611844247944313e-05, 0.0, 0.0, 0.0, 0.0]

Example 'bad' vector:
[nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, 0.0, 0.0, 0.027777777777777776, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

Есть ли какая-то кодировка, которую мне нужно сделать, чтобы Neo4j их принял?


person betseyb    schedule 05.01.2015    source источник


Ответы (1)


NaN не является значением, которое поддерживает Neo4j*.

* Технически он может поддерживать NaN на уровне хранилища, но протокол удаленного взаимодействия Neo использует JSON, который не может его кодировать.

Боюсь, вам придется найти альтернативный способ хранения таких значений, который не зависит от NaN.

person Nigel Small    schedule 06.01.2015