использовать агрегаты (min, max, avg) в запросе CONSTRUCT

Можно ли использовать агрегаты в запросе SPARQL CONSTRUCT? Если да, то как?

У меня есть следующий (упрощенный) запрос, который работает:

CONSTRUCT { 
    ?s ei:number ?number .
}
FROM <http://example.org>
WHERE { 
    ?s ei:number ?number
} 

Однако, поскольку ?number имеет несколько решений, я хотел бы вычислить агрегат. Я пробовал это так:

CONSTRUCT { 
    ?s ei:number AVG(?number) .
}
FROM <http://example.org>
WHERE { 
    ?s ei:number ?number
} 

валидатор запросов SPARQL выдает следующую ошибку:

Encountered " "avg" "AVG "" at line 3, column 14.
Was expecting one of:
     ...
     ...
     ...
     ...
     ...
     ...
    "true" ...
    "false" ...
     ...
     ...
     ...
     ...
     ...
     ...
     ...
     ...
     ...
     ...
     ...
     ...
     ...
    "(" ...
     ...
    "[" ...
     ...

Следовательно, мой вопрос: (Как) я могу использовать агрегаты в запросах SPARQL CONSTRUCT?


person beta    schedule 02.11.2015    source источник
comment
Вам нужно будет использовать подзапрос в части WHERE, чтобы использовать агрегаты и конструкцию, основанную на этих данных. Например, этот ответ из Функции SPARQL в CONSTRUCT/WHERE работают на вас?   -  person Joshua Taylor    schedule 02.11.2015
comment
Спросили и ответили в списке пользователей Jena.   -  person AndyS    schedule 02.11.2015