探索 RDF4J 自定义函数中的图形

Explore Graph in RDF4J custom function

我正在尝试为 Ontotext GraphDB 实现一个插件。我希望它能通过呼吸优先搜索计算两个实体之间的距离(将 GraphDB 视为无向图)。

我发现 RDF4J custom function 也许是个好方法。

public Value evaluate(ValueFactory valueFactory, Value... values) throws ValueExprEvaluationException {
    if (values.length!=2 || !values[0].isResource() || !values[1].isResource()){
        throw new ValueExprEvaluationException("Usage Wrong");
        }
    Resource source= (Resource) values[0];
    Resource target= (Resource) values[1];
    return null;
}

但是,我无法通过Value获取实体的属性(邻居)。而且好像valueFactory只能创建实体

现在我在 Ontotext GraphDB 上成功实现了 example。但是这个例子只涉及字符串处理。

有什么方法可以访问 RDF4J 自定义函数中实体的属性吗?

感谢您的回复。

不幸的是,该教程有点过时了。查看最新的 javadoc for the Function interface:它现在有一个 evaluate(TripleSource tripleSource, Value... values) 方法。 TripleSource 可用于查询商店的当前状态。应该可以使用它来获取与您的实体关联的属性。