1

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

我需要这种格式的数据。

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

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

4

1 回答 1

3

不能拥有仅由字符串文字组成的 RDF 三元组。

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

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

http://www.w3.org/TR/rdf-concepts/


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

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

    name- 某事物的名称。

    […]

    of something 是一个简单的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。等等。

于 2013-03-12T11:46:18.607 回答