我想为我编译的 RDF 模型创建一个简单的通用查询接口(interface)。
我必须通过某种方式访问我的数据:
1-使用内置的jena迭代器/statemetns/资源/等....
2-创建一些SPARQL
但是为了创建 SPARQL 或 RDQL,我必须调用将 SPARQL 变量绑定(bind)到 java 变量,因为在我的 SPARQL 中我可以有各种数量的变量,但我不知道如何使其通用。
那么使 RDF 查询接口(interface)通用的最佳方法是什么?
最佳答案
使用 SPARQL,而不是 RDQL。如今大多数系统都实现 SPARQL,即 W3C 标准。使用 SPARQL,就像在 SQL 中一样,您可以使用 *
绑定(bind)三重模式中出现的所有变量。示例:
SELECT * WHERE {
?s a :Person .
?s :name ?name .
?s :birthdate ?birthdate .
}
大多数 SPARQL 客户端库允许您获取所有变量。例如,在耶拿 ARQ 中,您会发现 QuerySolution
有一个方法Iterator<String> varNames()
,此方法将返回所有变量名称。你可以遍历这些并使用方法get
在同一个类中检索行值。
SPARQL 的巨大优势在于,由于它是一个标准,因此您可以使用遵循规范的不同三元组存储。
关于java - 在 jena 中以通用方式查询 RDF 模型的最佳方法是什么? (sparql 或使用集合和迭代器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10383692/