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