Преобразовать узел с несколькими типами атрибутов (int, float, string) во вложение с использованием Neo4j и GraphSAGE?

Если мои узлы выглядят так:

      {id: 1, name: "John", last_name: "Doe", age: 40, city: "New York", credit_score: 5.5}
{id: 2, name: "Linda", last_name: "Lumbo", age: 32, city: "Washington", credit_score: 5.5}
{id: 3, name: "Greg", last_name: "Tanta", age: 28, city: "New York", credit_score: 5.5}
{id: 4, name: "Donald", last_name: "Greenboim", age: 64, city: "Tel Aviv", credit_score: 5.5}
{id: 5, name: "Leo", last_name: "Greenhouse", age: 98, city: "Paris", credit_score: 5.5}
{id: 6, name: "John", last_name: "Opelbaum", age: 80, city: "Moscow", credit_score: 1}
{id: 7, name: "John", last_name: "Vein", age: 21, city: "Los Angeles", credit_score: 0.35}
{id: 8, name: "Dino", last_name: "Lodz", age: 34, city: "New York", credit_score: 1.5}
{id: 9, name: "Kurt", last_name: "Kreston", age: 89, city: "New York", credit_score: 5.3}
{id: 10, name: "Alex", last_name: "Mulo", age: 22, city: "Moscow", credit_score: 2.5}
{id: 11, name: "John", last_name: "Tolo", age: 32, city: "Liverpool", credit_score: 0.5}
{id: 12, name: "Trent", last_name: "Benson", age: 57, city: "London", credit_score: 5.114}
{id: 13, name: "Tom", last_name: "Richardson", age: 23, city: "New York", credit_score: 0.986}
....

Учтите, что все взаимосвязано, и я хочу применить алгоритм GraphSAGE к атрибутам. По какой-то причине я не могу получить вложения, когда мои атрибуты являются строками. Подскажите, пожалуйста, как применить алгоритм GraphSAGE к узлам с атрибутами строкового типа? Или смешанный (float, int, string).

      Failed to invoke procedure gds.graph.create: Caused by: java.lang.UnsupportedOperationException: Loading of values of type String is currently not supported

1 ответ

Если вы хотите применить для запуска GraphSAGE атрибуты строкового типа, вам нужно применить одно горячее кодирование или какой-либо другой метод для преобразования их в число из списка чисел. Тип свойства не может быть смесью различных типов данных, он должен быть согласованным для всех свойств. Насколько я знаю, это справедливо для любой библиотеки, включающей GraphSAGE, а не только для Neo4j GDS.

Вероятно, вы можете пропустить свойство id, так как оно не несет никакой дополнительной информации. Для города, имени и фамилии вы можете использовать либо одну горячую кодировку, либо встраивание слов, чтобы включить эти свойства в GraphSAGE, решение за вами.

Другие вопросы по тегам