Rom*_*usi 4 sesame owl ontology owlim graphdb
简化一点,我有一个以OWL表示的域本体(D),它描述了设备,它们的功能,配置.此外,对于每个供应商,我希望有特定于供应商的本体(V),它将连接到域1.问题是,如何对齐D和V?是否可以将V尽可能接近供应商术语,或者将D的类子类化为V(并且可能对数据属性和对象属性执行相同的操作)?这个想法是应用程序使用本体D进行查询和推理机制尽可能地隐藏供应商细节.
第一个变体似乎更合乎逻辑(毕竟,语义技术是关于互连),但我可以预见某些数据类型中的某些不匹配.例如,一个供应商可以按百分比表示电池电量,另一个供应商使用高,中,低等字.我不知道如何使用OWL将这些数据带到共同点.可能更难的情况,需要正则表达式应用程序和通常完成的任何脚本伏都教.(还有一个有趣的细节是直接使用dataproperties还是通过"包装"数据空间与对象属性和每个数据表的概念来添加一个间接层,以便为typemismath做更多的准备).
换句话说,似乎输入数据应该在进入RDF生态系统之前进行预处理......或者可能还有其他可能性?
(对于那些倾向于快速将问题标记为重复的人,我不是要求两个本体之间的映射,而是在OWL本身中安排"对齐"作为预处理与更丰富的"适配器模式")
一般来说,你通过创建一个新的本体O来连接这两个本体,它引入了D和V,并定义了一系列与它们中的类和属性相关的公理.
第一个变体似乎更合乎逻辑(毕竟,语义技术是关于互连),但我可以预见某些数据类型中的某些不匹配.例如,一个供应商可以按百分比表示电池电量,另一个供应商使用高,中,低等字.我不知道如何使用OWL将这些数据带到共同点.
这实际上是您可以在OWL中处理的情况.例如,假设V1具有对象属性hasPowerLevel,该对象属性将电池与高,中和低之一相关联.假设V2具有数据类型属性hasPercentageRemaining,它将PowerCell与[1,100]范围内的整数相关联.您首先要确定Battery和PowerCell之间的关系.例如,这可以是以下任何一种,或完全不同于其他任何东西.它取决于类的特定语义.
电池
⊑PowerCellPowerCell⊑电池电源
电池
≡电池
电池⊑PowerCell⊓∃hasPowerSource -1
然后你必须关联属性.这可能是一致的
(hasPowerLevel value High)≡(hasPercentageRemaining some integer [> = 66])
(hasPowerLevel value Medium)≡(hasPercentageRemaining some integer [<= 66,> = 33])
(hasPowerLevel value Low)≡(hasPercentageRemaining some integer [<= 33] ])
这只是一个例子,但它表明你实际上可以在OWL中做很多这种"桥接".hasPowerLevel
可能更难的情况,需要正则表达式应用程序和通常完成的任何脚本伏都教.(同样有趣的细节是直接使用dataproperties还是通过"包装"数据空间与对象属性和每个数据表的概念来添加一个间接层,以便为typemismatch做更多的准备).
那些OWL数据类型方面(例如,我们如何指定整数范围)也可以处理正则表达式限制.也就是说,在整合OWL中的所有内容之前,通常可以更容易地进行一些中间连接.SWRL规则在这里可能会有所帮助,因为可以将内容放到RDF级别并使用SPARQL或SPIN执行一些基于规则的处理.
虽然这个领域有很多研究,但实际上并没有任何神奇的子弹或解决方案可以在任何地方使用.声称普遍适用的任何东西都将达到如此高的水平,以至于其实际应用需要回答您已经提出的大多数相同问题.有一些通用的方法可能有用,但我们确实需要一些特定的情况来帮助解决这些问题.