Преобразуйте график или структуру отношения от базы данных Neo4j до ориентированного графа
G = neo4jStruct2Digraph(s)G = neo4jStruct2Digraph(s,'NodeNames',nodenames) создает ориентированного графа из структуры G = neo4jStruct2Digraph(s)s. С ориентированным графом запустите аналитику сети графика с помощью MATLAB®. Например, чтобы визуализировать график, см., что График Строит и Индивидуальная настройка (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 метка nlabel узла и neo4jconn.
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 метка nlabel узла и neo4jconn.
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.
close | distances | neo4j | searchGraph | searchNode | searchRelation
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.