我正在使用Apache Jena在Java程序中连续运行数千次以下查询(以生成随机游走)。
SELECT ?p ?o
WHERE {
$ENTITY$ ?p ?o .
FILTER(!isLiteral(?o)).
BIND(RAND() AS ?sortKey)
} ORDER BY ?sortKey LIMIT 1
但是,我总是得到相同的属性和对象集(即使这似乎极不可能)。我想Jena会将结果缓存到查询中(尽管有RAND()
组件)。
解决此问题的最好,最有效的方法是什么?