Вы можете запросить граф знаний, чтобы найти поднабор элементов и отношений, которые он содержит, и определить, как различные элементы связаны друг с другом. См. примеры ниже:
- На основе графа знаний, представляющего распространение инфекционного заболевания, можно работать с людьми и животными, связанными любыми отношениями с данным помещением.
- На основе графа знаний, представляющего производственную цепочку поставок, можно работать с любыми ресурсами, связанными с определенной ее частью, включая поставщиков, средства доставки, склады и так далее.
- На основе графа знаний, представляющего организацию, можно работать с устройствами заданного типа и получать список их свойств, включая имя ответственного сотрудника.
Вы можете определить поднабор элементов и отношений или их свойства, запросив граф знаний. Используйте язык запросов openCypher, чтобы писать запросы openCypher для обнаружения связанных элементов и их свойств, и для работы с этим ограниченным набором информации на графе знаний, карте или диаграмме связей.
Написание запроса openCypher
Запросы openCypher относятся к базам данных графов так же, как запросы SQL относятся к реляционным базам данных. В качестве базового примера рассмотрим граф, описывающий продукты компании и материально-технические средства, на которых они создаются. У автомобильной компании есть материально-технические средства, которые являются элементами, идентифицируемыми переменной f; модели транспортных средств, которые она производит, являются элементами, m; и между материально-техническим средством и моделями, в производстве которых оно используется, существует связь HasModel, hm.
- Чтобы найти первые десять элементов типа Model, можно использовать запрос вида MATCH (m:Model) RETURN m LIMIT 10.
- Чтобы узнать, какие модели связаны с какими материально-техническими средствами, можно сопоставить элементы посредством отношения HasModel с помощью запроса вида MATCH (f:Facility)-[ :HasModel]->(m) RETURN f,m.
- Ваш запрос может возвращать определенные свойства элемента или отношения в дополнение или вместо его отображаемого имени. Например, чтобы вернуть модель автомобиля, а также свойство категории модели, можyj использовать запрос вида MATCH (f:Facility)-[ :HasModel]->(m) RETURN f,m,m.category.
Вы можете узнать больше о языке запросов openCypher из документа, предоставленного Amazon. ArcGIS Knowledge не поддерживает все аспекты языка запросов openCypher. Например, запросы нельзя использовать для обновления графа знаний, только для возврата значений.
Вы можете изучить openCypher, просмотрев запросы, получающие данные графов знаний для построения гистограмм. На панели Поиск и фильтрация, на вкладке Гистограмма , щелкните кнопку Настройки и нажмите Отправить запрос на вкладку Запрос. Запрос, используемый для получения данных для текущего набора гистограмм, отображается в текстовом поле Запрос.
Запросите содержимое исследования
Вы можете изучить меньший набор элементов и отношений в исследовании, запросив его содержимое в представлении исследования.
- Откройте исследование и просмотрите его содержание.
- В верхней части представления исследования щелкните в текстовом поле поиска или нажмите Ctrl+F.
Появится элемент управления поиском.
- Щелкните Режим запроса в нижней части элемента управления поиском.
Подсказка в текстовом поле поиска изменяется на Запустить запрос к графу знаний, появляется кнопка Развернуть окно запроса , а в нижней части элемента управления поиском отображается Режим поиска .
- Введите запрос openCypher в окно поиска.
Например, запрос вида MATCH (p:Person)-->(v:Vehicle) RETURN p, v возвращает все элементы Person, которые имеют какое-либо отношение к элементу Vehicle, и возвращает элемент Person и элемент Vehicle в результатах.
- Нажмите Enter.
Результаты запроса отображаются в представлении исследования.
- Щелкните в текстовом поле запроса, чтобы изменить запрос, и введите свои изменения.
Например, измените запрос на MATCH (p:Person)-[hv:HasVehicle]->(v:Vehicle) RETURN p, hv, v, чтобы вернуть все элементы Person, у которых есть отношение HasVehicle к элементу Vehicle, и вернуть элемент Person, отношение HasVehicle и элемент Vehicle в результатах.
- Нажмите Enter, чтобы запустить измененный запрос.
Результаты обновленного запроса отображаются в представлении исследования. Элементы и отношения, которые возвращает запрос, обозначаются соответствующими значками.
- Если вам нужно больше места для написания более длинного запроса openCypher, нажмите кнопку Развернуть окно запроса .
Текущий запрос откроется в увеличенном многострочном текстовом поле запроса, а не будет находиться непосредственно в однострочном текстовом поле в верхней части элемента управления.
- Введите свои изменения в запрос, используя столько строк, сколько необходимо для ясности.
Например, измените запрос на MATCH (p:Person)-[hv:HasVehicle]->(v:Vehicle) WHERE hv.acquisitionDate = NULL RETURN p, hv, v, v.make, v.model, v.year, чтобы вернуть все элементы Person, которые имеют отношение HasVehicle к элементу Vehicle, где свойство acquisitionDate отношения HasVehicle relationship имеет значение NULL. Возвращает те же элементы и отношения, что и ранее, но также включает в результаты значения свойств марки, модели и года выпуска элемента Vehicle.
Результаты обновленного запроса отображаются в представлении исследования. Элементы и отношения, которые возвращает запрос, обозначаются соответствующими значками.
- Нажмите кнопку Запустить запрос .
При использовании развернутого окна запроса нажатие клавиши Ввод переместит указатель на новую строку в многострочном текстовом поле вместо выполнения запроса.
Результаты запроса отображаются в представлении исследования.
- Нажмите кнопку Сбросить поиск в текстовом поле запроса, чтобы очистить запрос и удалить результаты запроса.
Элементы графа, которые ранее были перечислены в представлении исследования, появятся снова.
- Когда текстовое поле запроса не заполнено, щелкните в текстовом поле запроса, чтобы открыть элемент управления запросом и вывести список из трех последних запросов. Щелкните запрос в списке, чтобы запустить его снова.
Выбранный запрос выполняется, а результаты запроса отображаются в исследовании.
- Нажмите кнопку Сбросить поиск в текстовом поле запроса, чтобы очистить текстовое поле запроса и удалить результаты запроса из исследования. Щелкните в пустом текстовом поле запроса, чтобы открыть элемент управления запросом, и нажмите кнопку Удалить из истории для определенного запроса в списке, чтобы удалить его из журнала.
Указанный запрос удален из списка. История ваших запросов обновляется, отображая три самых последних запроса.
- Если вам больше не нужно многострочное текстовое поле запроса, нажмите кнопку Свернуть окно запроса справа от текстового поля запроса.
При изменении запроса он будет обновлен непосредственно в текстовом поле запроса в одной строке. Нажмите Enter, чтобы запустить обновленный запрос.
Запросите граф знаний на панели Поиск и фильтрация
Панель Поиск и фильтрация можно использовать с представлением исследования для запроса его содержимого, с картой для запроса содержимого слоя графа знаний или с диаграммой связей для запроса элементов и отношений, которые он описывает.
- Откройте панель Поиск и фильтрация одним из следующих способов:
- На вкладке ленты Исследование в группе Поиск щелкните Поиск и фильтрация .
- Щелкните слой графа знаний на панели Содержание карты. Щелкните контекстную вкладку Слой графа знаний. В группе Поиск щелкните кнопку Поиск и фильтрация .
- На вкладке ленты Диаграмма связей в группе Поиск щелкните Поиск и фильтрация .
Откроется панель Поиск и фильтрация.
- Щелкните ниспадающий список Источник и нажмите исследование, слой карты или диаграмму связей, для которых вы хотите запросить граф знаний.
- Щелкните вкладку Запрос .
Когда вы соединяете открытое исследование, слой карты или диаграмму связей с панелью Поиска и фильтрация, все запросы оцениваются по всему графу знаний, связанному с попарным представлением. Появится сообщение, напоминающее, что запрос не ограничивается содержимым, доступным в попарном представлении.
- Введите запросopenCypher в текстовое окно Запрос.
- Щелкните Применить.
Результаты запроса появятся в списке Результаты.
Подсказка:
Графы знаний могут представлять множество элементов и отношений. Индикатор занятости в нижней части панели Поиск и фильтрация показывает, что создается список результатов. Когда ArcGIS Pro завершает создание списка результатов, индикатор занятости остановится, и вы увидите кнопку Обновить результаты . Если возврат результатов вашего запроса занимает слишком много времени, вы можете прекратить создание списка результатов, щелкнув индикатор занятости.
По умолчанию панель Поиск и фильтрация может быть слишком узкой для просмотра результатов запроса. Вы можете открепить панель, чтобы расширить ее, не влияя на расположение других представлений и панелей в главном окне приложения ArcGIS Pro.
Изучение результатов запроса
Запрос openCypher может вернуть разнообразные результаты. Когда запрос возвращает список элементов или отношений, они отображаются в списке результатов по одному элементу или отношению в строке. Значения, возвращаемые запросом, отображаются в столбцах, помеченных так, как указано в самом запросе.
Запрос openCypher может возвращать результаты, которые показывают, какие элементы имеют определенное отношение к другому элементу. В этом случае в списке результатов будет по одной строке для каждой тройки, где тройка состоит из исходного элемента, отношения и целевого элемента. Например, запрос вида MATCH (p:Person)-[r]->(e) RETURN p,r,e возвращает список результатов, где каждая строка в результате представляет лицо, отношение между этим лицом и другим лицом и целевой элемент отношения. В этом случае в списке результатов будет столбец для лица под названием p, столбец для отношения под названием r и столбец для целевого элемента под названием e.
Если вместо этого запрос возвращает определенные свойства элементов или отношений, в списке результатов отобразятся эти значения в столбцах с соответствующими именами, определенными запросом. Например, запрос вида MATCH (p:Person)-[ :HasVehicle]->(v) RETURN p,v,v.year возвращает отображаемое имя для элемента Person в столбце p, отображаемое имя для элемента Vehicle в столбце v и значение свойства года элемента Vehicle в столбцах v.year. Если элемент не имеет значения для определенного свойства, возвращаемого запросом, вы увидите значение null как представление того факта, что значение для отображения отсутствует.
Приведенный ниже пример иллюстрирует запрос, который возвращает элемент Person и элемент Vehicle, где лицо участвует в отношениях HasVehicle с транспортным средством. Запрос также возвращает свойство acquisitionDate отношения HasVehicle, а также свойства марки, модели и года объекта Vehicle. Если свойство не имеет значения, в столбце отображается текстовое значение null.
Столбцы, содержащие элемент или отношение , будут показывать отображаемое имя элемента графа вместе с его значком. На скриншоте выше возвращенные свойства Person и Vehicle отображаются в столбцах p и v, соответственно. Свойство acquisitionDate отношения HasVehicle отображается в столбце hv.acquisitionDate. Значения свойств марка, модель и год элементов Vehicle отображаются в столбцах v.make, v.model и v.year, соответственно.
Если вы запрашиваете граф знаний из исследования, используйте панель подробной информации для просмотра свойств выбранного элемента или отношения. На панели сведений вы можете исследовать другие отношения и связанные элементы, которые не включены в результаты запроса.
Если вы запрашиваете граф знаний на панели Поиск и фильтрация, используйте вкладку Гистограмма , чтобы обобщить и отфильтровать результаты. Заголовок в верхней части вкладки изменился на Гистограмма — запрос, чтобы указать, что представленные диаграммы представляют собой содержимое, возвращаемое запросом в окне Запрос, а не содержимое из парного представления. Кроме того, поскольку запрос оценивается по графу знаний представления, появляется сообщение, указывающее, что гистограммы могут включать содержимое, недоступное в попарном представлении.
На панели исследования или на панели Поиск и фильтрация вы можете выбрать интересующие элементы или отношения и щелкнуть правой кнопкой выбранный элемент графа. Используйте доступные опции, чтобы добавить элементы графа к новой или существующей карте или диаграмме связей для дальнейшего анализа. Либо выберите соответствующие элементы в существующих исследовании, карте или диаграмме связей.