我正在使用围绕 SPARQL 的 IBM 包装器解决方案从我们的数据库中获取信息。我设置了一个三元组变量作为过滤器,但它不返回完全匹配,只返回一个“包含”匹配。
更具体地说,我们正在研究集合中的需求。SPARQL 查询返回所有需求对象和它们所在的集合。每个集合都有一个与之关联的唯一标识符,可通过谓词“dcterms:identifier”访问。SPARQL 代码中执行此操作的确切行是:
?oslc_rm_RequirementCollection1_uri dcterms:identifier ?oslc_rm_RequirementCollection1_identifier
这按预期工作。在输出中,我得到一个包含每个集合的表格,其中包含与每个集合相关的需求列表。
当我只想查看特定集合中的需求时,就会出现问题。为此,我在 IBM 的包装器中设置了变量oslc_rm_RequirementCollection1_identifier,它通常可以工作。如果我输入“18732”,它只会向我显示 ID 为 18732 的集合中的要求。但是,这不是完全匹配,只有包含。例如,如果我输入“867”,我会看到两个集合:867 和 38674。
如何修改它以排除 38674 并仅显示完全匹配?我不能使用字符串文字,因为包装器不允许这样做。