стоимость.

я есть график с пространственными данными с использованием пространственного плагина.

Этот график имеет «Зоны угроз» (полигоны), которые могут располагаться поверх других, поэтому они также имеют свойство z-index.

Каждая «Зона угроз» связана с 1 - N сценариями угроз, иногда несколько «Зон угроз» связаны с одним и тем же сценарием угрозы с разными свойствами.

Я пытаюсь получить верхнюю зону угрозы для каждого сценария угрозы на основе z-индекса для конкретного местоположения.

Это мой текущий запрос, который почти идеален:

MATCH (asset:Asset{name:'Asset Name'})-[]-(ara:AssetRiskAssessment)
WITH asset, ara
CALL spatial.intersects('threat_zones',asset.wkt) YIELD node 
WITH node, asset, ara
MATCH (node)<-[:FOR]-(tss:ThreatScenarioScore)-[]-(ts:ThreatScenario)
RETURN ts.name, max(node.zindex) AS zindex, tss.intention, tss.capability
ORDER BY ts.name, zindex

Моя проблема - если я уберуtss.intenion, tss.capability Я получаю то, что ищу (каждый соответствующий сценарий угрозы в нужной зоне), но мне нужно этоtss.intention а такжеtss.capability, Поскольку их значения в разных зонах разные, функция max рассматривает их как разные записи.

Есть ли лучший способ использовать функцию max, чтобы получить то, что я хочу, и / или использовать вложенный запрос, чтобы извлечь намерение / возможность (что я и хочу)?

Ответы на вопрос(1)

Ваш ответ на вопрос