rdf三元数据集

时间:2013-03-12 07:43:57

标签: rdf triplestore triples

我需要一个项目的数据集,该项目具有相当数量(大约一百万)的RDF三元组。我在网上发现了许多数据集,但它们都以URI的形式存在三元组中的数据。我需要一个数据集,其中数据完全是字符串文字的形式。

我需要这种格式的数据。

person1,isNamed ,‘Serge Abiteboul’  
person2,isNamed ,‘Rick Hull’  
person3,isNamed ,‘Victor Vianu’

我对RDF是什么以及如何使用它非常少或完全不知道。那么有人可以帮助我如何将数据转换为这种格式,或者是否有办法将数据从URI转换为字符串文字。

1 个答案:

答案 0 :(得分:3)

不能只有一个由字符串文字组成的RDF三元组。

RDF三元组由主语,谓语和宾语组成。主题和谓词始终是URI。对象可以是URI或(字符串)文字。 (但是,主题和对象也可以是空白节点。)

要描述RDF中的数据,您需要表示事物/概念/关系的URI。

请参阅http://www.w3.org/TR/rdf-concepts/


对于您的示例,您可以使用流行的FOAF词汇表。在Turtle syntax中,它可能看起来像:

<http://example.com/team/person1#me> <http://xmlns.com/foaf/0.1/name> "Serge Abiteboul" .
  • 此处,URI http://example.com/team/person1#me(=主题)代表实际的人(而不是关于该人的页面)。如果没有这样的URI,您可以在自己的域下自己创建它(FOAF词汇表有各种类和属性来描述人)。
  • FOAF词汇表中的http://xmlns.com/foaf/0.1/name(=谓词)是defined

      

    name - 某事的名称。

         

    [...]

         

    某事物的name是一个简单的文字字符串。

  • "Serge Abiteboul"(= object)是一个字符串文字。

可以使用XML Schema指定对象文字的数据类型,例如"-5.0"^^xsd:decimal表示十进制数。还可以指定对象文字字符串的语言,例如, "house"@en为英文字符串。


当然你可以使用前缀而不是一直使用完整的URI(但最后它仍然是URI):

@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.com/team/> .

ex:person1#me foaf:name "Serge Abiteboul" .

因此,如果您想在RDF中建模数据,则必须

  • 找到(或创建)您要描述的抽象事物的URI,
  • 查找(或创建)定义类和属性(以URI形式)的词汇表/本体,以描述抽象事物及其关系。

一些流行的词汇:

对于个人和社交网络,请参阅FOAF。对于在线社区,请参阅SIOC。有关作者和文档元数据,请参阅Dublin Core。对于类层次结构,请参阅RDFS和SKOS。有关产品,请参阅GoodRelations。对于软件项目,请参阅DOAP。 And so on.