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