以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Semantic Web(语义Web)/描述逻辑/本体 』 (http://bbs.xml.org.cn/list.asp?boardid=2) ---- RDQL问题:如何找到两个节点之间的path (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=23784) |
-- 作者:BenLin -- 发布时间:10/31/2005 12:05:00 PM -- RDQL问题:如何找到两个节点之间的path Jena Tutorial - RDQL中有一个例子: -------------------- More Graph patterns: Paths One very common structure is to know the path in the graph, whether from a known point or from a variable. Such a path is made up a number of edges, linked by a graph node which has to be given a variable (see "vc-q4") SELECT ?resource ?givenName 应该用什么RDQL语句?这是推理还是查询?
|
-- 作者:jpz6311whu -- 发布时间:10/31/2005 12:27:00 PM -- private String SearchRelation(String language, String Mstr, String Nstr,int depth) 写一个动态生成RDQL的方法,depth是深度。 曾经尝试过,当instances数目达到13000的时候,深度为3勉强还可以接受,大概10秒左右才能查询出结果。 以上仅供参考,感觉实现起来效率不高,算法并不太好。 |
-- 作者:01musician -- 发布时间:10/31/2005 12:50:00 PM -- 仅已知NodeA,NodeB,要找出所有路径,用RDQL语句估计写不出来(我觉得),个人认为可以用程序查询的方法,用一个for循环不断的添加新的变量来解决(多加一个变量即搜寻多一个中间节点的 路径)。 RDQL是查询语句,看你你想要推理后的查询,还是要没有推理的查询咯。 |
-- 作者:jpz6311whu -- 发布时间:10/31/2005 12:55:00 PM -- 感觉用程序实现效率不会比RDQL高,毕竟RDQL是专门做查询的。 至于是否推理,就看查询的源数据是推理前的还是推理后的,我同意你的看法。 |
-- 作者:BenLin -- 发布时间:10/31/2005 11:15:00 PM -- 第一:我不知道这个问题是“推理”还是“查询” 第二:其实我要找的不是“所有路径”,要找最短路径 第三:“动态生成RDQL的方法”,很好的思路,不过按照你说的,效率可能是一个问题。最大有10层以上。 第四:13000个节点,和我的一样啊。难道 jpz6311whu你也是做GeneOntology? 第五:这个owl一load近来,就直接做这个查找。查询的源数据是推理前的。 第六:如果RDQL没有现成的语句,我打算用BFS来“手工”找最短路径。两头同时开始。大家意下如何? ---------------------- |
-- 作者:jpz6311whu -- 发布时间:10/31/2005 11:46:00 PM -- 请问BFS是什么? |
-- 作者:BenLin -- 发布时间:11/1/2005 12:13:00 AM -- breadth first search, 广度优先搜索
|
-- 作者:jpz6311whu -- 发布时间:11/1/2005 12:20:00 AM -- 两头同时开始"广度优先搜索",大概知道你的思路了, 你的本体库复杂程度怎么样,平均每个接点有几个ObjectProperty? |
-- 作者:BenLin -- 发布时间:11/1/2005 12:30:00 AM -- 这个本体是个类似“树”,tree-likely graph,也就是每个节点有十几个子节点,但是只会有1-3个父。 我现在要找的是两个节点的(最近)共同祖先节点,所以在这个意义上说,我是反过来找父节点,所以每个节点会有1-3个父节点。搜索的branch facter ~= 2 不算大吧?不过深度可能是20。
|
-- 作者:jpz6311whu -- 发布时间:11/1/2005 12:50:00 AM -- branch facter ~= 2 ,深度可能是20 这个就很难说了,毕竟深度太大了 我做的测试是,branch factor~=30,深度为3,速度大概10秒左右,算法是直接用的RDQL,深度到4就完全不行了。 |
-- 作者:BenLin -- 发布时间:11/1/2005 1:19:00 AM -- 过两天看看程序效果吧。 |
-- 作者:YinglongMa -- 发布时间:1/25/2007 9:44:00 PM -- 是具有推理的查询啊。较长的路径可以使用多个rdf三元组的连接查询,这和sql没有多大的区别 |
-- 作者:hyb22ndf -- 发布时间:4/26/2012 11:52:00 AM -- 求两个节点间的最短距离 能不能把代码分享一下,学习一下 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
93.750ms |