1.一种基于属性相似度的本体匹配方法,其特征在于,该方法包括如下步骤:步骤1,计算本体资源之间的字符串相似度,进行匹配粒度的锚匹配;步骤2,对锚匹配的结果进行确认并删除不正确的锚匹配项;步骤3,根据步骤2的锚匹配结果,对本体中的所有资源进行全匹配,包括计算本体资源的结构相似度、字符串相似度以及属性内容相似度;全匹配的具体过程为:步骤3-1,设一个待匹配节点集合M为空,一个查询节点集合S为空;步骤3-2,将锚节点都放入S,锚匹配包含有两个节点,分别来自两个本体;步骤3-3,搜索S集合的所有邻近节点,逐一检查其是否包含在S集合中,将不包含的邻近节点加入集合S’,搜索完后,将S’中的所有节点同时加入到集合S和集合M;步骤3-4,如果S’不为空,则进入步骤3-5;如果S’为空,S中的资源数少于两个本体的总资源数,则将没有包含在S中的资源同时放入集合S和集合M,进入步骤3-5;步骤3-5,分别计算集合M中本体O1到本体O2类间的相似度和属性间的相似度,具体为:(1)计算类的相似度假设有两个类节点A,B,他们的相似度计算公式如下:S C (A,B)=0.5*S str (A,B)+0.2*S superclass (A,B)+0.2*S subclass (A,B)+0.1*S property (A,B) (4)其中,S str (A,B)是两个数据库资源A、B的字符串相似度,S superclass (A,B)为A,B的父类的相似度,S subclass (A,B)为A,B的子类的相似度,S property (A,B)为A,B的相关属性的相似度;式中,c a ,c b 分别为A和B的父节点,A.surperclass和B.surperclass分别为A和B的所有父节点的集合;式中,c a ′,c b ′分别为A和B的子节点,A.subclass和B.subclass分别为A和B的所有子节点的集合;A的所有相关属性集合为P A ,B的所有相关属性集合为P B ,不妨设p a 属于P A ,p b 属于P B ,S p (p a ,p b )表示属性p a 和p b 的相似度;则A,B的相关属性的相似度为所有相关属性相似度中的最大相似度:(2)计算属性的相似度p a 和p b 的相似度为S p (p a ,p b )=0.5*S domain (p a ,p b )*S range (p a ,p b )+0.3*S str (p a ,p b )+0.1*S subproperty (p a ,p b )+0.1*S superproperty (p a ,p b ) (8)式中,S domain (p a ,p b )为属性p a 和p b 的domain相似度,S range (p a ,p b )为属性p a 和p b 的range相似度,S str (p a ,p b )为属性p a 和p b 的字符串相似度,S subproperty (p a ,p b )为子属性的相似度,S superproperty (p a ,p b )为父属性的相似度;S domain (p a ,p b )=S c (domain(p a ),domain(p b )) (9)S c (domain(p a ),domain(p b ))为两个属性定义域包含的类的相似度;S range (p a ,p b )=S c (range(p a ),range(p b )) (10)S c (range(p a ),range(p b ))为两个属性值域包含的类的相似度;a.subproperty和b.subproperty分别表示属性a和属性b所有的子属性的集合, 为p a 和p b 子属性的最大相似度;a.sup erproperty和b.sup erproperty分别表示属性a和属性b所有的父属性的集合, 为p a 和p b 父属性的最大相似度;步骤4,将步骤3得到的全匹配结果输出到界面,检查是否正确,并将不正确的匹配删除;步骤5,对步骤4中全匹配的结果进行冲突检测,将冲突检测的结果返回并进行确认,修正其中的冲突。
2.根据权利要求1所述的基于属性相似度的本体匹配方法,其特征在于,所述步骤1中的锚匹配使用完全匹配的字符串相似度进行匹配,即字符串相似度为1。
3.根据权利要求2所述的基于属性相似度的本体匹配方法,其特征在于,步骤1具体为:第一步,读取同义词表,给相应的资源添加同义词;第二步,计算资源相似度:通过字符串匹配,得到资源间的相似度,资源包括类和属性;第三步,通过阈值筛选锚匹配:将第二步中相似度大于等于设定阈值的匹配放入锚集合。
4.根据权利要求3所述的基于属性相似度的本体匹配方法,其特征在于,第二步中字符串匹配使用编辑距离和Jaccard相似度,对于字符串a和字符串b,其相似度的计算公式分别为公式(1)和公式(2):上式中,LD(a,b)表示字符串a和字符串b的编辑距离,Length(a)和Length(b)分别表示字符串a和字符串b的长度,Length(a∪b)表示字符串a和字符串b字符串并集的长度,Length(a∩b)表示字符串a和字符串b交集的长度,Max函数表示求两个参数中较大的值;字符串的相似度是在上述两种相似度中取最大值:S str (A,B)=Max a∈X,b∈Y (Max(S LD (a,b),S JS (a,b))) (3)其中,X表示数据库资源A的字符串名称集合,包括字符串自身及其同义词,Y表示数据库资源B的字符串名称集合。
5.根据权利要求1所述的基于属性相似度的本体匹配方法,其特征在于,步骤5检测的冲突包括:冲突1:两个属性是匹配的,而其domain和range均不匹配;冲突2:一个本体中的多个资源和另一个本体的一个资源是匹配的;冲突3:一个本体中的资源的层次关系,匹配到另一个本体的颠倒的层次关系中。