1.一种SPARQL联合查询的数据源选择方法,其特征在于,所述方法包括:S101,获取SPARQL语句;
S102,根据所述查询语句形成有向标签图;
S103,生成所述有向标签图对应的资源相关图;
S104,根据所述资源相关图选择数据源;
所述S102具体包括:
S102‑1,确定查询语句中的三元组Gi,其中,i为三元组标识,任一三元组i包括主语si,谓语pi,宾语oi;
S102‑2,将所有三元组中的主语、谓语、宾语形成集合V,并将V中每一个元素作为有向标签图G中的一个点;
S102‑3,在每一三元组中si对应的点Vsi至oi对应的点Voi之间连接一条由Vsi指向Voi的边ei,将所有ei形成集合E,所述E中每一个元素作为有向标签图G中的一个边;其中,Vsi为边ei的头顶点,Voi为ei的尾顶点;
S102‑4,确定每条边对应的数据源λei以及每两条边之间的连接节点类型λvt;
S102‑5,形成有向标签图G=(V,E,λe,λvt);
连接节点类型λvt为如下的一种:星型,路径型,汇聚型;
所述星型中两条边的头顶点相同;
所述路径型中第一边的尾顶点为第二边的头顶点;
所述汇聚型中两条边的尾顶点相同;
所述S103具体包括:
S103‑1,将每个三元组Gi作为资源相关图的一个点Pi;
S103‑2,根据三元组在所述有向标签图中对应的边之间的连接节点类型生成其在资源相关图中对应点之间的边;
其中,所述资源相关图中任一点的点属性为该点所表示的三元组在所述有向标签图中对应的边的数据源;
所述S103‑2具体包括:
对于任两个三元组G1和G2,在P1和P2之间连接一条边,且该边由第一点指向第二点,该边的边属性由G1和G2在所述有向标签图中对应的边之间的连接节点类型确定;其中,P1为G1在资源相关图中对应的点,P2为G2在资源相关图中对应的点,若第一点为P1,则第二点为P2;若第一点为P2,则第二点为P1;
其中,若G1和G2在所述有向标签图中对应的边之间的连接节点类型为路径型,则第一点对应路径类型中的第一边,第二点对应路径类型中的第二边;若G1和G2在所述有向标签图中对应的边之间的连接节点类型为星型,或者,汇聚型,则第一点所对应的三元组在SPARQL语句中的执行顺序,先于第二点所对应的三元组在SPARQL语句中的执行顺序。
2.根据权利要求1所述的方法,其特征在于,所述该边的边属性由G1和G2在所述有向标签图中对应的边之间的连接节点类型确定,包括:若G1和G2在所述有向标签图中对应的边之间的连接节点类型为星型,则该边的边属性为主语‑主语连接关系ss;
若G1和G2在所述有向标签图中对应的边之间的连接节点类型为路径型,则该边的边属性为宾语‑主语连接关系os;
若G1和G2在所述有向标签图中对应的边之间的连接节点类型为汇聚型,则该边的边属性为宾语‑宾语连接关系oo。
3.根据权利要求1或2所述的方法,其特征在于,所述S104具体包括:步骤1,依次选取资源相关图中的各点,执行下述1或2;
1,若选择的点存在出边,则执行下述1)至4);所述出边连接所述选择的点与第三点,且所述出边由所述选择的点指向所述第三点,第三点为所述资源相关图中的其他点;
1)获取选择的点的点属性以及对应的出边,
2)对于所述点属性中的每个数据源,设置空集合temp;
3)对于每一条出边,执行下述(1)至(4),(1)获取其边属性及对应的第三点;
(2)获取第三点对应的点属性;
(3)确定与(1)中获得的边属性以及(2)中获得的点属性对应的资源;
(4)根据(2)中获得的点属性以及(3)中确定的资源,更新temp,重复执行(1),直至所有出边均执行3);
4)若temp为空集合,则将2)中选择的数据源,从步骤1中选择的点中移除;
2,若选择的点不存在出边,则从所述资源相关图中删除选择的点;
步骤2,根据当前资源相关图中所有点的点属性所包括的数据源选择的数据源。
4.根据权利要求3所述的方法,其特征在于,所述根据(2)中获得的点属性以及(3)中确定的资源,更新temp,包括:若根据(2)中获得的点属性中包括(3)中确定的资源,则将(2)中获得的点属性中的资源添加至temp中;或者,将(3)中确定的资源添加至temp中;或者,将(2)中获得的点属性中的资源与(3)中确定的资源的交集添加至temp中,或者,将(2)中获得的点属性中的资源与(3)中确定的资源的并集添加至temp中。
5.根据权利要求3所述的方法,其特征在于,所述步骤2具体包括:步骤2‑1,确定当前资源相关图中所有点的权重;
步骤2‑2,确定所有点的权重均值;
步骤2‑3,确定当前资源相关图中所有点的点属性所包括的数据源的并集;
步骤2‑4,确定步骤2‑3得到的并集中每个元素的频次,所述任一元素的频次为,所述任一元素被包括在点属性中的总数量;
步骤2‑5,根据步骤2‑4确定的各元素的频次,确定频次均值和标准差;
步骤2‑6,将频次不小于频次均值*标准差*权重均值的数据源作为选择的数据源。
6.根据权利要求5所述的方法,其特征在于,所述步骤2‑1具体包括:对于步骤2当前资源相关图中的任一点k,
确定k的入度In1和出度Out1;
确定k各出边对应的第四点;
确定各第四点的入度In2和出度Out2;
确定所有In2的最大值和所有Out2的最小值;
将(In1/所有In2的最大值)+(Out1/所有Out2的最小值)确定为k的权重。