피할 수없는 개체가 x 개 미만인 모든 트리플을 삭제하는 삭제를 수행하려고합니다.WHERE 절에서 FILTER (COUNT (DISTINCT? obj)> x)를 사용하여 SPARQL DELETE {} WHERE {}를 수행 할 수 있습니까?
의도 된 쿼리는 내 기분 후 모양은 다음과 같습니다
DELETE { ?sub ?pred ?obj . }
WHERE {
{SELECT ?sub ?pred ?obj (count(?obj) as ?count)
WHERE { ?sub ?pred ?obj .
} GROUP BY ?sub
} FILTER(?count < 14)
}
은 위의 작동하지 않습니다.
?obj
을 달성하려면 GROUP BY
이 필요하지만이 방법은 알 수 없습니다.
누군가이 작업을 해결하기 위해 올바른 방향으로 나를 밀어 낼 수 있습니까?
'작동하지 않음'이란 무엇을 의미합니까? 오류 메시지가 있으면 질문에 포함 시키십시오. – chrisis
첫째, 나는 당신이'SELECT' 권한을 얻을 필요가 있다고 생각합니다. 여러분의 도전이 버추 오소 관련일지도 모른다면, 버전 정보를 추가하고 [Virtuoso Users 메일 링리스트] (https://lists.sourceforge.net/lists/listinfo/virtuoso-users/)에 질문을 올려주십시오. [OpenLink 지원 포럼] (http://boards.openlinksw.com/support/index.php) 또는 [OpenLink 지원 사례] (http://support.openlinksw.com/support/online-support.vsp) . (ObDisclaimer : 저는 [Virtuoso] (http://virtuoso.openlinksw.com/)의 제조업체 인 [OpenLink Software] (http://www.openlinksw.com/)에서 일하고 있습니다. – TallTed
'{? sub? pred? obj. }'트리플 또는''sub'을 삭제 하시겠습니까? 후자를 원하면'? sub'에 대한 참조를 제거하고 싶을 것입니다. – scotthenninger