以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  后向前向混合推理 如何 实现 插入多个三元组  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=79583)


--  作者:dulm
--  发布时间:1/20/2010 5:59:00 PM

--  后向前向混合推理 如何 实现 插入多个三元组
[rule1:[rule2: (?a poi:interestOf ?x)<-(?a poi:interestOf ?b), (?c rdfs:relate ?b), notEqual(?c,?b), (?a poi:age ?d), makeTemp(?x)] ->(?x poi:age ?d),(?x rdf:type POI)]

这样的结果很纳闷(?x rdf:type POI)插进去了,(?x poi:age ?d)和(?a poi:interestOf ?x)都没有插进去。

如果没有makeTemp(?x)的,直接把它分拆成3条后向就可以了。。。

刚开始只用一条后向,head放3条clause后报错,后向的head只能一条clause。于是我改成这样,没报错了貌似还是只有一条执行了。

是否带后向的一条规则内head的clause都只能一条?如果是的话,那么还有其他方法实现一次插入多个三元组么?


[此贴子已经被作者于2010-1-20 19:14:52编辑过]

--  作者:dulm
--  发布时间:1/20/2010 6:07:00 PM

--  

[rulefile1: (?a poi:relate ?b), (?c rdfs:subClassOf ?b), makeTemp(?x)-> (?x poi:tp poi:dd)]

[rulefile1:  (?x poi:tp poi:dd)<-(?a poi:relate ?b), (?c rdfs:subClassOf ?b), makeTemp(?x)]


分别用前向和后向,两次都能进入了while循环内,说明都插入了tp 属性的statement。
但是后面打印却只有前向的打印出statement,后向的打印不出来。


  ResIterator ri = inf.listSubjectsWithProperty(inf.getProperty(NS+"tp"));
  while (ri.hasNext())
  {
   Resource idv = (Resource) ri.next();
   System.out.println(idv.getURI());
   
  
   smi = idv.listProperties();
   for(;smi.hasNext();)
   {
    Statement smt = smi.nextStatement();
    System.out.println(smt.toString());
   }
   System.out.println();
  }

如果不把属性加到makeTemp的实例上,表现正常,两者都能打印出来。


[此贴子已经被作者于2010-1-20 22:08:25编辑过]

--  作者:dulm
--  发布时间:1/20/2010 10:14:00 PM

--  
[rule1:
[rule2: (?x poi:tp poi:ttt)<-(?a poi:interestOf ?b), (?c rdfs:relate ?b),notEqual(?c,?b), makeTemp(?x)]
-> (?x rdf:type poi:ss), (?x poi:tp poi:ss)]

ExtendedIterator ei = inf.listIndividuals(inf.getResource(NS+"ss"));
然后打印这个type为ss的individual的所有statement,只有type属性,没有tp属性。

ResIterator ri = inf.listSubjectsWithProperty(inf.getProperty(NS+"tp"));
然后打印这个有属性tp的individualstatement,只有tp属性,没有type属性的statement。
而且没有打印(?x poi:tp poi:ttt),只打印了(?x poi:tp poi:ss)


怎么都这么古怪的,有哪位大牛可以指导一下么


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
48.828ms