不写字母RDF文件(Write rdf file without Alphabetical)

2019-10-20 09:32发布

写RDF

我有一个模型RDF,我希望它在文件中写的。 这将是结果:

@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#> .

rdf:Standard_M1__Small_default
      rdfs:CPU "1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)"^^xsd:string ;
      rdfs:RAM "1.7"^^xsd:float ;
      rdfs:Platform "32-bit"^^xsd:string ;
      rdfs:Storage "160"^^xsd:float .
      rdfs:IOPerformance "Moderate"^^xsd:string ;
      rdfs:EBS-OptimizedAvailable
              "false"^^xsd:boolean ;
      rdfs:OS "Linux/UNIX"^^xsd:string ;
      rdfs:Cost "0.08"^^xsd:float ;

但是,当执行model.write(出,郎);中,三元组是按照字母顺序(CPU,成本,ESB ...)。 当我创建了模型,把属性中我想要的顺序和工作。 但是,当我写的模型,它是按字母顺序排列。 我怎么能不顾字母顺序写的RDF模式? 另一个问题是,这个RDF文件是正确的?

谢谢。

Answer 1:

该RDF是不合法的

缺少. 在结束

在这个问题您的RDF文件的格式不正确。 表单像

s p1 o1 ;
  p2 o2 ;
  p3 o3 .

应以句点结束。 它看起来像你可能会向我们展示只是你的文件的前几行。

定义你自己的条件在RDF和RDFS命名空间

这可能不是技术上被禁止,但在一些序列化,在RDF命名空间方面都没有实际RDF词汇会导致警告,因此术语如rdf:Standard_M1__Small_defaultrdfs:Platform可能是一个糟糕的主意。 例如,参见

5.1 RDF命名空间与词汇

RDF词汇是由这个命名空间名称标识和仅包含下列名称:...任何其他的名字都没有定义,当遇到应当产生一个警告,但应该在其它方面工作正常。

顺序并不重要

RDF是一种基于图形的数据表示。 一个RDF图是一三元组,并设置没有秩序。 同样的RDF图可以在许多不同的方式进行序列化。 海龟更可读的,比一些格式写的,但它是一个无序的数据格式的只是一种表象。 因为它是一个无序的数据表示,有一个实施记得在其中添加事物的秩序没有真正的理由。 因此,有可能维持系列化任何特定的顺序没有简单的方法。



文章来源: Write rdf file without Alphabetical
标签: rdf jena rdfs