Sparql CONSTRUCT с DISTINCT - PullRequest
       16

Sparql CONSTRUCT с DISTINCT

0 голосов
/ 20 марта 2019
PREFIX content: <http://example.com/content#>
construct { ?s content:field ?o}
WHERE { ?s content:field ?o }

90% всех ?o, которые я получаю, имеют одинаковый URI <http://example.com/name>.

Я пытаюсь найти способ отфильтровать все четырехугольники, имеющие одинаковое значение для ?o, поэтому в итоге я получаю список четырехугольников, уникальных по своим ?o

Я пытался DISTINCT ?o CONSTRUCT{...}, но из того, что я увидел, вы не можете использовать DISTINCT на CONSTRUCT.

Как бы вы отфильтровали возвращенный список четырехугольников

1 Ответ

1 голос
/ 21 марта 2019

Я пытаюсь найти способ отфильтровать все четырехугольники, которые имеют одинаковые значение для ?o, поэтому в конце я получаю список четырехугольников, которые являются уникальными его ?o

если не имеет значения, какое именно значение привязано к ?s, тогда можно выбрать дополнительный выбор с group by ?o. Используйте (SAMPLE(?s) as ?subj) например что-то вроде: `

PREFIX content: <http://example.com/content#>
construct { ?s content:field ?o}
WHERE { 
    { select ?o (SAMPLE(?subj) as ?s) 
        { ?subj content:field ?o } 
    group by ?o 
    } 
}

`

...