【问题标题】:rdf triple datasetrdf 三元数据集
【发布时间】:2013-03-12 07:43:56
【问题描述】:

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

我需要这种格式的数据。

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

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

【问题讨论】:

    标签: rdf triplestore triples


    【解决方案1】:

    不能拥有仅由字符串文字组成的 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 词汇表中,URI 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。有关作者身份和文档元数据,请参阅都柏林核心。有关类层次结构,请参阅 RDFS 和 SKOS。对于产品,请参阅 GoodRelations。对于软件项目,请参阅 DOAP。 And so on.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多