探索 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
可用于查询商店的当前状态。应该可以使用它来获取与您的实体关联的属性。
我正在尝试为 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
可用于查询商店的当前状态。应该可以使用它来获取与您的实体关联的属性。