Преобразуйте график или структуру отношений из базы 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.