使用SQL创建三元组存储查询 - 如何查找具有公共谓词和对象的所有三元组

时间:2010-04-21 02:36:32

标签: sql rdf semantic-web triples

我有一个像三重存储一样的数据库,只是它只是一个简单的MySQL数据库。

我想选择所有具有共同谓词和对象的三元组。 Info about RDF and triples

我似乎无法解决SQL问题。

如果我只有一个谓词和对象匹配,我会这样做:

select TRIPLE from TRIPLES where PREDICATE="predicateName" and OBJECT="objectName"

但是如果我有一对(predicateName,objectName)的列表(HashMap),我不确定我需要做什么。

如果我需要提供更多信息,请告诉我,我不确定我是否已经明确表达了这一点,但我很担心提供太多信息并使问题混乱。

2 个答案:

答案 0 :(得分:1)

可能会将您的hashmap加载到临时表中并对您的三重存储执行JOIN

答案 1 :(得分:0)

从TRIPLES中选择TRIPLE,其中(?,?,?,........)和OBJECT中的PREDICATE位于(?,?,?,?,.....)

使用HashMap.keys和HashMap.values填充`?根据语言和数据访问方法,使用绑定参数(ODBC和其他方法)或扩展自己构建sql的参数。