查找turtle文件中的集合数

时间:2013-07-01 05:35:09

标签: rdf jena turtle-rdf

首先我从语句中提取对象,然后尝试使用其中一个函数isBag() isSeq() and isAlt(),但它给出了错误

 "cannot find symbol
  symbol:   method isBag()
  location: variable object of type RDFNode"

1 个答案:

答案 0 :(得分:4)

如果您收到如下错误:

  

找不到符号符号:方法isBag()位置:RDFNode类型的变量对象

然后你以一种给你(就Java源代码而言)RDFNode而不是Resource的方式获得该语句的主题。这很令人惊讶,因为Statement.getSubject()会返回Resource。这意味着你听起来像是在做:

RDFNode subject = statement.getSubject();
if ( subject.isBag() ) { … }

然而,你做不到

Resource subject = statement.getSubject();
if ( subject.isBag() ) { … }

,因为isBag等,Resource中也未定义;他们来自Container。但是,您可以做的是询问资源(或RDFNode)canAs ( Container.class ),如果它可以被视为容器,请使用{{1获取Container的方法,然后可以检查更具体的子类型:

as