Поиск подграфика или целого графика в Neo4j базе данных
Поиск информации о графике в базе данных Neo4j ® с помощью меток узлов и отображение информации.
Создайте 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 =
[]
Поиск по графику для всех узлов с меткой 'Person' использование Neo4j подключения к базе данных.
nlabel = {'Person'};
graphinfo = searchGraph(neo4jconn,nlabel)graphinfo = struct with fields:
Nodes: [7×3 table]
Relations: [8×5 table]
graphinfo - структура, содержащая результаты поиска:
Все начальные и конечные узлы, которые обозначают каждое совпадающее соотношение
Все совпадающие отношения
Доступ к таблице узлов.
graphinfo.Nodes
ans=7×3 table
NodeLabels NodeData NodeObject
__________ ____________ ___________________________________
0 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
1 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
2 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
3 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
4 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
5 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
9 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
Доступ к ключам свойств для первого узла.
graphinfo.Nodes.NodeData{1}ans = struct with fields:
name: 'User1'
Доступ к таблице отношений.
graphinfo.Relations
ans=8×5 table
StartNodeID RelationType EndNodeID RelationData RelationObject
___________ ____________ _________ ____________ _______________________________________
1 0 'knows' 1 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
0 0 'knows' 2 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
3 1 'knows' 3 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
2 2 'knows' 1 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
5 3 'knows' 4 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
4 3 'knows' 5 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
6 5 'knows' 4 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
8 5 'knows' 9 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
Доступ к ключам свойств для первого отношения. Первая связь не имеет ключей свойств.
graphinfo.Relations.RelationData{1}ans = struct with no fields.
Поиск по графику для всех меток узлов в базе данных.
allnodes = nodeLabels(neo4jconn); graphinfo = searchGraph(neo4jconn,allnodes);
Закройте подключение к базе данных.
close(neo4jconn)
Поиск информации о графике в базе данных Neo4j ® с помощью типа отношения и отображение информации.
Создайте 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 =
[]
Найдите на графике тип связи 'knows' использование Neo4j подключения к базе данных.
reltype = {'knows'};
graphinfo = searchGraph(neo4jconn,reltype)graphinfo = struct with fields:
Nodes: [7×3 table]
Relations: [8×5 table]
graphinfo - структура, содержащая результаты поиска:
Все начальные и конечные узлы, которые обозначают каждое совпадающее соотношение
Все совпадающие отношения
Доступ к таблице узлов.
graphinfo.Nodes
ans=7×3 table
NodeLabels NodeData NodeObject
__________ ____________ ___________________________________
0 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
2 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
1 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
3 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
5 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
4 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
9 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]
Доступ к таблице отношений.
graphinfo.Relations
ans=8×5 table
StartNodeID RelationType EndNodeID RelationData RelationObject
___________ ____________ _________ ____________ _______________________________________
0 0 'knows' 2 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
1 0 'knows' 1 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
2 2 'knows' 1 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
3 1 'knows' 3 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
4 3 'knows' 5 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
5 3 'knows' 4 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
6 5 'knows' 4 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
8 5 'knows' 9 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]
Поиск по графику для всех типов отношений в базе данных.
allreltypes = relationTypes(neo4jconn); graphinfo = searchGraph(neo4jconn,allreltypes);
Закройте подключение к базе данных.
close(neo4jconn)
Поиск информации о графике в базе данных Neo4j ® с помощью меток узлов. Верните информацию в виде ориентированного графа и отобразите ребра и узлы графика.
Предположим, что у вас есть графовые данные, хранящиеся в Neo4j базе данных, которая представляет социальное соседство. Эта база данных имеет семь узлов и восемь отношений. Каждый узел имеет только один уникальный ключ свойств name со значением в диапазоне от User1 через User7. Каждая связь имеет тип knows.
Создайте 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 =
[]
Поиск по графику для всех узлов с меткой узла Person использование Neo4j подключения к базе данных. Верните информацию о графике как ориентированный граф при помощи 'DataReturnFormat' аргумент пары "имя-значение" со значением 'digraph'.
nlabel = "Person"; graphinfo = searchGraph(neo4jconn,nlabel, ... 'DataReturnFormat','digraph');
Отображение ребер ориентированного графа.
graphinfo.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}
Отображение узлов ориентированного графа.
graphinfo.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}
Закройте подключение к базе данных.
close(neo4jconn)
neo4jconn - Neo4j подключения к базе данныхNeo4jConnect объектNeo4j подключения к базе данных, заданное как Neo4jConnect объект, созданный с помощью функции neo4j.
criteria - Критерии поискаКритерии поиска, заданные как массив ячеек из векторов символов или строковых массивов. Для поиска по узлам задайте одну или несколько меток узлов как векторы символов в массиве ячеек. Чтобы искать по отношениям, задайте один или несколько типов отношений как векторы символов в массиве ячеек. Или задайте строковые массивы для нескольких меток узлов или типов отношений.
Типы данных: cell | string
graphinfo - Информация о графикеИнформация о графике в Neo4j базе данных, которая соответствует критериям поиска, возвращенная как структура с этими полями.
| Область | Описание |
|---|---|
| Таблица, содержащая информацию о узле для каждого узла в
Имена строк в таблице являются идентификаторами Neo4j узлов соответствующих узлов базы данных. Если |
| Таблица, содержащая информацию о взаимоотношениях для узлов в
Имена строк в таблице являются Neo4j идентификаторами отношений. Если |
Примечание
Когда вы используете 'DataReturnFormat' аргумент пары "имя-значение" со значением 'digraph', searchGraph функция возвращает информацию о графике в digraph объект. Результат digraph объект содержит те же данные, что и digraph объект, созданный при выполнении neo4jStruct2Digraph функция, использующая graphinfo выходной аргумент.
close | neo4j | nodeLabels | relationTypes | searchNode | searchNodeByID | searchRelation
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.