Алгоритм Neo4j GraphSAGE на графе с разными свойствами узла?
Например, у меня есть следующий график Neo4j:
CREATE
// Persons
( dan:Person {name: 'Dan', age: 20, department: 'A', heightAndWeight: [185, 75]}),
(annie:Person {name: 'Annie', age: 12, heightAndWeight: [124, 42]}),
( matt:Person {name: 'Matt', age: 67, heightAndWeight: [170, 80]}),
( jeff:Person {name: 'Jeff', age: 45, department: 'C', heightAndWeight: [192, 85]}),
( brie:Person {name: 'Brie', age: 27, department: 'B' heightAndWeight: [176, 57]}),
( elsa:Person {name: 'Elsa', age: 32, kuku: 'lulu', heightAndWeight: [158, 55]}),
( john:Person {name: 'John', age: 35, abc: 'non relevant', heightAndWeight: [172, 76]}),
(dan)-[:KNOWS {relWeight: 1.0}]->(annie),
(dan)-[:KNOWS {relWeight: 1.6}]->(matt),
(annie)-[:KNOWS {relWeight: 0.1}]->(matt),
(annie)-[:KNOWS {relWeight: 3.0}]->(jeff),
(annie)-[:KNOWS {relWeight: 1.2}]->(brie),
(matt)-[:KNOWS {relWeight: 10.0}]->(brie),
(brie)-[:KNOWS {relWeight: 1.0}]->(elsa),
(brie)-[:KNOWS {relWeight: 2.2}]->(jeff),
(john)-[:KNOWS {relWeight: 5.0}]->(jeff)
Как вы можете видеть, некоторые из узлов имеют разные атрибуты, эти атрибуты являются динамическими, и я действительно не знаю, какой набор я получу.
Я хочу применить алгоритм GraphSAGE в Neo4j, но как настроить учет всех атрибутов (кроме тех, которые я упомяну - id или чего-то еще).
Я не могу этого сделать, потому что мне нужно инициализировать и обучить алгоритм GraphSAGE.
Посоветуйте, пожалуйста, как это сделать? Я не могу запустить его, потому что атрибуты Person абсолютно динамические.
CALL gds.graph.create(
'persons',
{
Person: {
label: 'Person',
properties: ['age', 'heightAndWeight']
}
}, {
KNOWS: {
type: 'KNOWS',
orientation: 'UNDIRECTED',
properties: ['relWeight']
}
})