Преобразуйте график или структуру отношений из базы Neo4j в ориентированный график
создает ориентированный график из структуры G = neo4jStruct2Digraph(s)s. С помощью ориентированного графа запустите аналитику графовой сети с использованием MATLAB®. Для примера, чтобы визуализировать график, смотрите Графическое построение и Индивидуальную настройку.
Создайте соединение с базой данных Neo4j ® с помощью URL- http://localhost:7474/db/data, имя пользователя neo4j, и пароль matlab.
url = 'http://localhost:7474/db/data'; username = 'neo4j'; password = 'matlab'; neo4jconn = neo4j(url,username,password);
Проверьте Message свойство объекта Neo4j соединения neo4jconn. Пустой 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 ® с помощью URL- http://localhost:7474/db/data, имя пользователя neo4j, и пароль matlab.
url = 'http://localhost:7474/db/data'; username = 'neo4j'; password = 'matlab'; neo4jconn = neo4j(url,username,password);
Проверьте Message свойство объекта Neo4j соединения neo4jconn. Пустой 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 ® с помощью URL- http://localhost:7474/db/data, имя пользователя neo4j, и пароль matlab.
url = 'http://localhost:7474/db/data'; username = 'neo4j'; password = 'matlab'; neo4jconn = neo4j(url,username,password);
Проверьте Message свойство объекта Neo4j соединения neo4jconn. Пустой 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 - Имена узловИмена узлов в Neo4j базе данных, заданные как массив ячеек из векторов символов или строковых массивов.
Пример: ["User6","User7"]
Типы данных: cell | string
G - Ориентированный графикdigraph объектОриентированный граф, возвращенный как digraph объект.
close | distances | neo4j | searchGraph | searchNode | searchRelation
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.