我知道我做错了什么,但我不知道...我正在尝试使用数据立方体词汇表生成RDF文件。
问题是,输出应该是这样的:
<qb:DataSet rdf:about="about...">
<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">label.</rdfs:label>
<dcterms:subject rdf:resource="http://purl.org/linked-data/sdmx/2009/subject#2.2"/>..。
但是,我得到的只是:
<qb:DataSet rdf:about="about...">
<rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string">.</rdfs:label>
<dcterms:subject>
<rdf:Thing rdf:about="http://purl.org/linked-data/sdmx/2009/subject#2.2"/>
</dcterms:subject>我可以提供代码示例,但这可能就足够了。这个问题不应该那么难。我需要其他资源的资源...
最好的,Srecko
发布于 2012-10-05 15:51:19
这两种形式的RDF基本上是等效的。第二种形式包含一些附加信息,即额外的三元组:
<http://purl.org/linked-data/sdmx/2009/subject#2.2> rdf:type rdf:Thing .这不会有什么坏处,尽管Thing不是RDF名称空间中的标准术语--您可能指的是owl:Thing。RDF的一般经验法则是不必担心输出的确切语法形式,因为给定的RDF模型可能有许多不同的序列化,它们都解析为完全相同的三元组集合,因此在语义上具有相同的含义。XML序列化尤其如此。除非您出于某种原因(例如,使用工具链的另一部分进行处理)而需要XML,否则我建议您使用Turtle输出序列化。它更紧凑,更易于阅读。
如果你需要关于你正在生成的模型的更具体的建议,如果你发布了代码将会有所帮助。
顺便说一句,如果您确实需要XML,以便可以使用其他XML工具处理它,那么您可能希望自己生成输出,而不是依赖于Model.write()。这是因为模型内容中的一个小变化可能会导致由write生成的XML发生重大变化。这使得编写XSLT样式表之类的东西成为一件很痛苦的事情。最好生成您自己的序列化,因为这样您就可以使用您对特定领域模型的了解来更好地控制输出。
https://stackoverflow.com/questions/12736555
复制相似问题