Java 使用Jena在Turtle中读取带空格的URI?

Java 使用Jena在Turtle中读取带空格的URI?,java,rdf,jena,turtle-rdf,Java,Rdf,Jena,Turtle Rdf,我试图从一个Turtle文件(如下所示)中读取RDF,但我遇到了两个问题。首先,RDF或Turtle中的空格有问题吗?有时,我在读取URI时遇到问题,比如。当我删除空格时,问题消失了,给出了。在下面的文件中,我遇到了的问题。下面是我加载文件并列出每个三元组的主语、谓语和宾语的代码 stmtiter=model.listStatements(); while(iter.hasNext()){ 语句stmt=iter.nextStatement(); Resource subject=stmt.ge

我试图从一个Turtle文件(如下所示)中读取RDF,但我遇到了两个问题。首先,RDF或Turtle中的空格有问题吗?有时,我在读取URI时遇到问题,比如
。当我删除空格时,问题消失了,给出了
。在下面的文件中,我遇到了
的问题。下面是我加载文件并列出每个三元组的主语、谓语和宾语的代码

stmtiter=model.listStatements();
while(iter.hasNext()){
语句stmt=iter.nextStatement();
Resource subject=stmt.getSubject();//sujeito
属性谓词=stmt.getPredicate();//predicado
RDFNode object=stmt.getObject();//对象
System.out.println((subject.getLocalName());
System.out.println((predicate.getLocalName().toString());
System.out.println(StringUtils.substringBetween(object.toString(),“”,“^”);
}
@前缀dc:。
@前缀合法:。
@前缀foaf:。
@前缀vann:。
@前缀组织:。
@前缀rdfs:。
@前缀价格:。
@前缀usdl:。
@前缀xsd:。
@前缀owl:。
@前缀rdf:。
@前缀dei:。
@前缀gr:。
@前缀skos:。
rdfs:CPU“1ec2计算单元”^^xsd:string;
rdfs:成本“0.08”^^xsd:浮动;
rdfs:EBS优化器可用
“false”^^xsd:boolean;
rdfs:IOPerformance“中等”^^xsd:string;
rdfs:OS“Linux/UNIX”^^xsd:string;
rdfs:Platform“32位”^^xsd:string;
rdfs:RAM“1.7”^^xsd:float;
rdfs:Storage“160”^^xsd:float。
不是合法的URI

  • 它里面有空间
  • 这是一个相对URI(相对于文件的读取位置),因此很难猜测完整的绝对URI
  • 添加
    @base
    或使用前缀名称。

    不是合法的URI

  • 它里面有空间
  • 这是一个相对URI(相对于文件的读取位置),因此很难猜测完整的绝对URI

  • 添加
    @base
    或使用前缀名称。

    RDF 1.0中URI引用的原始概念支持空格。但URI引用的概念只是因为尚未引入IRIs而引入的。IRIs替换URI引用,不支持空格。

    RDF 1.0中URI引用的原始概念支持空格orted空格。但是URI引用的概念只是因为IRIs还没有被引入。IRIs取代了URI引用,并且不支持空格。

    好的,所以不允许使用空格,对吗?我有一个文件xml,我用它来创建文件rdf>该服务的URI如何?我在这一点上有一个问题out URI.ok,所以不允许使用空格,对吗?我有一个文件xml,用于创建文件rdf>该服务的URI如何?我在这一点上有一个关于URI的问题。这不是真的。[rdf 1.0]的URI语法规范()是的附录A,它不允许空白。RDF中的URI与IRIs向前兼容:“注意:RDF URI引用与[XML名称空间1.1]定义的国际资源标识符兼容。”.有什么方法可以用空格来显示文件的数据吗?我知道在使用空格的情况下,它们需要用百分比编码来处理…但我不知道如何用代码来编写。创建URI的标准是什么?基于这个RDF/XML文件,就像服务标准(M1)-小(默认值)的URI一样?@JoshuaTaylor我说的是RDF 1.0中抽象语法()中定义的URI引用,而不是URI。URI引用可以有空格,URI显然不能。在这种情况下,有一些URI引用不是有效的IRIs,如前所述“对于使用不符合[IRI草稿]或其后续版本的RDF URI引用,实现可能会发出警告。"啊,好的,我明白你的意思了。URI引用是一个可以包含空格的Unicode字符串,但是它所表示的URI没有空格,而是有空格的百分比编码。所以这不是URI引用不支持空格的问题,它们支持。问题是海龟语法不支持空格任何具有URI引用的内容,但使用
    之间的内容作为URI字符,其中不允许使用空格。这是不正确的。[RDF 1.0]()的URI语法规范是的附录a,它不允许空白。RDF中的URI与IRIs前向兼容:“注意:RDF URI引用与[XML名称空间1.1]定义的国际资源标识符兼容。“。是否有一些方法可以用空格来显示文件的数据?我看到在使用空格的情况下,它们需要用百分比编码来处理…但我不知道如何在代码中编写。创建URI的标准是什么?基于此RDF/XML文件,就像服务标准(M1)-小(默认值)的URI一样?@JoshuaTaylor我说的是RDF 1.0中抽象语法()中定义的URI引用,而不是URI。URI引用可以有空格,URI显然不能。在这种情况下,有一些URI引用不是有效的IRIs,如前所述“对于使用不符合[IRI草稿]或其后续版本的RDF URI引用,实现可能会发出警告。"啊,好的,我明白你的意思了。URI引用是一个可以包含空格的Unicode字符串,但是它所表示的URI没有空格,而是有空格的百分比编码。所以这不是URI引用不支持空格的问题,它们支持。问题是海龟语法不支持空格任何具有URI引用的内容,但使用
    之间的内容作为URI字符,其中不允许使用空格。