Преобразуйте график или структуру отношения от базы данных Neo4j до ориентированного графа
создает ориентированного графа из структуры G
= neo4jStruct2Digraph(s
)s
. С ориентированным графом запустите аналитику сети графика с помощью MATLAB®. Например, чтобы визуализировать график, см., что График Строит и Индивидуальная настройка.
Создайте соединение с базой данных Neo4j® с помощью http://localhost:7474/db/data
URL, имя пользователя
neo4j
, и пароль matlab
.
url = 'http://localhost:7474/db/data'; username = 'neo4j'; password = 'matlab'; neo4jconn = neo4j(url,username,password);
Проверяйте Message
свойство объекта neo4jconn
связи Neo4j. Пустой
Message
свойство указывает на успешную связь.
neo4jconn.Message
ans = []
Ищите входящие отношения с помощью соединения с базой данных Neo4j neo4jconn
и идентификатор узла источника nodeid
.
nodeid = 1;
direction = 'in';
relinfo = searchRelation(neo4jconn,nodeid,direction);
Преобразуйте информацию об отношении в ориентированного графа. G
digraph
объект, который содержит две таблицы для ребер и узлов.
G = neo4jStruct2Digraph(relinfo)
G = digraph with properties: Edges: [2×3 table] Nodes: [3×3 table]
Доступ к таблице ребер.
G.Edges
ans=2×3 table
EndNodes RelationType RelationData
__________ ____________ ____________
'0' '1' 'knows' [1×1 struct]
'2' '1' 'knows' [1×1 struct]
Доступ к таблице узлов.
G.Nodes
ans=3×3 table
Name NodeLabels NodeData
____ __________ ____________
'0' 'Person' [1×1 struct]
'1' 'Person' [1×1 struct]
'2' 'Person' [1×1 struct]
Найдите кратчайший путь между всеми узлами в G
.
d = distances(G)
d = 3×3
0 1 Inf
Inf 0 Inf
Inf 1 0
Закройте соединение с базой данных.
close(neo4jconn)
Создайте соединение с базой данных Neo4j® с помощью http://localhost:7474/db/data
URL, имя пользователя
neo4j
, и пароль matlab
.
url = 'http://localhost:7474/db/data'; username = 'neo4j'; password = 'matlab'; neo4jconn = neo4j(url,username,password);
Проверяйте Message
свойство объекта neo4jconn
связи Neo4j. Пустой
Message
свойство указывает на успешную связь.
neo4jconn.Message
ans = []
Ищите подграф с помощью соединения с базой данных Neo4j neo4jconn
и метка nlabel
узла.
nlabel = {'Person'};
graphinfo = searchGraph(neo4jconn,nlabel);
Преобразуйте информацию о графике в ориентированного графа. G
digraph
объект, который содержит две таблицы для ребер и узлов.
G = neo4jStruct2Digraph(graphinfo)
G = digraph with properties: Edges: [8×3 table] Nodes: [7×3 table]
Доступ к таблице ребер.
G.Edges
ans=8×3 table
EndNodes RelationType RelationData
__________ ____________ ____________
'0' '1' 'knows' [1×1 struct]
'0' '2' 'knows' [1×1 struct]
'1' '3' 'knows' [1×1 struct]
'2' '1' 'knows' [1×1 struct]
'3' '4' 'knows' [1×1 struct]
'3' '5' 'knows' [1×1 struct]
'5' '4' 'knows' [1×1 struct]
'5' '9' 'knows' [1×1 struct]
Доступ к таблице узлов.
G.Nodes
ans=7×3 table
Name NodeLabels NodeData
____ __________ ____________
'0' 'Person' [1×1 struct]
'1' 'Person' [1×1 struct]
'2' 'Person' [1×1 struct]
'3' 'Person' [1×1 struct]
'4' 'Person' [1×1 struct]
'5' 'Person' [1×1 struct]
'9' 'Person' [1×1 struct]
Найдите кратчайший путь между всеми узлами в G
.
d = distances(G)
d = 7×7
0 1 1 2 3 3 4
Inf 0 Inf 1 2 2 3
Inf 1 0 2 3 3 4
Inf Inf Inf 0 1 1 2
Inf Inf Inf Inf 0 Inf Inf
Inf Inf Inf Inf 1 0 1
Inf Inf Inf Inf Inf Inf 0
Закройте соединение с базой данных.
close(neo4jconn)
Создайте соединение с базой данных Neo4j® с помощью http://localhost:7474/db/data
URL, имя пользователя
neo4j
, и пароль matlab
.
url = 'http://localhost:7474/db/data'; username = 'neo4j'; password = 'matlab'; neo4jconn = neo4j(url,username,password);
Проверяйте Message
свойство объекта neo4jconn
связи Neo4j. Пустой
Message
свойство указывает на успешную связь.
neo4jconn.Message
ans = []
Ищите подграф с помощью соединения с базой данных Neo4j neo4jconn
и метка nlabel
узла.
nlabel = {'Person'};
graphinfo = searchGraph(neo4jconn,nlabel);
Преобразуйте информацию о графике в ориентированного графа с помощью имен узла в подграфе. Преобразуйте имена узла в массив ячеек из символьных векторов nodenames
G
digraph
объект, который содержит две таблицы для ребер и узлов.
names = [graphinfo.Nodes.NodeData{:}];
nodenames = {names(:).name};
G = neo4jStruct2Digraph(graphinfo,'NodeNames',nodenames)
G = digraph with properties: Edges: [8×3 table] Nodes: [7×3 table]
Доступ к таблице ребер.
G.Edges
ans=8×3 table
EndNodes RelationType RelationID
__________________ ____________ __________
'User1' 'User3' 'knows' 1
'User1' 'User2' 'knows' 0
'User3' 'User4' 'knows' 3
'User2' 'User3' 'knows' 2
'User4' 'User5' 'knows' 5
'User4' 'User6' 'knows' 4
'User6' 'User5' 'knows' 6
'User6' 'User7' 'knows' 8
Доступ к таблице узлов.
G.Nodes
ans=7×3 table
Name NodeLabels NodeData
_______ __________ ____________
'User1' 'Person' [1×1 struct]
'User3' 'Person' [1×1 struct]
'User2' 'Person' [1×1 struct]
'User4' 'Person' [1×1 struct]
'User5' 'Person' [1×1 struct]
'User6' 'Person' [1×1 struct]
'User7' 'Person' [1×1 struct]
Найдите кратчайший путь между всеми узлами в G
.
d = distances(G)
d = 7×7
0 1 1 2 3 3 4
Inf 0 Inf 1 2 2 3
Inf 1 0 2 3 3 4
Inf Inf Inf 0 1 1 2
Inf Inf Inf Inf 0 Inf Inf
Inf Inf Inf Inf 1 0 1
Inf Inf Inf Inf Inf Inf 0
Закройте соединение с базой данных.
close(neo4jconn)
s
— График или информация об отношенииГрафик или информация об отношении в виде структуры, возвращенной searchGraph
или searchRelation
.
Типы данных: struct
nodenames
nodenames Имена узла в базе данных Neo4j в виде массива ячеек из символьных векторов или массива строк.
Пример: ["User6","User7"]
Типы данных: cell
| string
G
— Ориентированный графdigraph
объектОриентированный граф, возвращенный как digraph
объект.
neo4j
| searchNode
| searchGraph
| searchRelation
| distances
| close
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.