我有一个应用程序通过其REST API从各种其他应用程序请求JSON对象。从任何应用程序的响应进来的格式如下:在本体注释的JSON对象之间执行虚拟对齐
{
data : {
key1: { val: value, defBy: "ontology class"}
key2: ...,
}
}
下面的代码描述了来自应用1的对象:
{
data : {
key1: { val: "98404506-385576361", defBy: "abc:SHA-224"}
}
}
下面的代码描述了来自应用2的对象:
{
data : {
key2: { val: "495967838-485694812", defBy: "xyz:SHA3-224"}
}
}
这里,DefBy
指的是用于加密val
中字符串的算法。当我的应用程序接收到这样的对象,它解析JSON和各KV的对象转换成RDF这样的:
// For objects from App1:
key1 rdf:type osba:key
key1 osba:generatedBy abc:SHA-224
...
// For objects from App2
key2 rdf:type osba:key
key2 osba:generatedBy xyz:SHA3-224
我需要查询的,我可以指定的方式生成的RDF数据如果任何osba:generatedBy
键属于SHA家庭,然后回到主题,因为一个有效的查询结果,使得:where {?k osba:generatedBy ???}
请注意以下几点:
我还有R与其他加密算法如
MD5
等我不知道eceive对象事先什么加密算法将由一个新的应用程序加入网络也不它使用什么样
NS
使用。例如,在上述对象中,一个使用abc:
,另一个使用xyz:
。我不能使用SPARQL滤波,因为该值可以是
SecureHashAlgorithm
代替SHA
我的问题是,我无法预先限定上(引用)本体和映射存储的值在defBy:
的传入对象,因为我不知道什么本体被使用,也没有什么加密算法的价值代表。
我读了关于自动本体集成,对齐,映射等。但是我无法找到这个概念的理由来解决我的问题。
任何解决方案?
你能说说点3吗?你尝试过哪些过滤器不起作用? –
我试图使用通配符函数,如沙*,但我无法解决问题,因为P-3 –
中表达的原因。没有集成本体,您不能执行查询扩展等。显然,你需要一个同义词的映射,否则,你不能写一个完整和正确的过滤器。这对每个领域都适用。 – AKSW