我有一個應用程序通過其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