我正在尝试从Turtle文件中读取RDF(如下所示),但我遇到了两个问题。首先,RDF或Turtle中的空格是否存在问题?有时候,我在读取URI {i} <I/O Performance>
时遇到了问题。删除空格后问题消失,给出<IOPerformance>
。在下面的文件中,<Standard(M1) - Small(default)>
出现此问题。这是我加载文件并列出每个三元组的主题,谓词和对象的代码。
StmtIterator iter = model.listStatements();
while (iter.hasNext()) {
Statement stmt = iter.nextStatement();
Resource subject = stmt.getSubject(); // sujeito
Property predicate = stmt.getPredicate(); // predicado
RDFNode object = stmt.getObject(); // objeto
System.out.println((subject.getLocalName());
System.out.println((predicate.getLocalName().toString());
System.out.println(StringUtils.substringBetween(object.toString(),"", "^"));
}
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix legal: <http://www.linked-usdl.org/ns/usdl-legal#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix org: <http://www.w3.org/ns/org#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix price: <http://www.linked-usdl.org/ns/usdl-price#> .
@prefix usdl: <http://www.linked-usdl.org/ns/usdl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dei: <http://dei.uc.pt/rdf/dei#> .
@prefix gr: <http://purl.org/goodrelations/v1#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
<Standard(M1) - Small(default)>
rdfs:CPU "1 EC2 Compute Unit"^^xsd:string ;
rdfs:Cost "0.08"^^xsd:float ;
rdfs:EBS-OptimizedAvailable
"false"^^xsd:boolean ;
rdfs:IOPerformance "Moderate"^^xsd:string ;
rdfs:OS "Linux/UNIX"^^xsd:string ;
rdfs:Platform "32-bit"^^xsd:string ;
rdfs:RAM "1.7"^^xsd:float ;
rdfs:Storage "160"^^xsd:float .
答案 0 :(得分:3)
<Standard(M1) - Small(default)>
不是合法的URI。
添加@base
或使用带前缀的名称。
答案 1 :(得分:1)
RDF 1.0中URI引用的原始概念支持空格。但是只引入了URI引用的概念,因为还没有引入IRI。 IRI替换URI引用,不支持空格。