我需要一个项目的数据集,该项目具有相当数量(大约一百万)的RDF三元组。我在网上发现了许多数据集,但它们都以URI的形式存在三元组中的数据。我需要一个数据集,其中数据完全是字符串文字的形式。
我需要这种格式的数据。
person1,isNamed ,‘Serge Abiteboul’
person2,isNamed ,‘Rick Hull’
person3,isNamed ,‘Victor Vianu’
我对RDF是什么以及如何使用它非常少或完全不知道。那么有人可以帮助我如何将数据转换为这种格式,或者是否有办法将数据从URI转换为字符串文字。
答案 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" .
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中建模数据,则必须
一些流行的词汇:
对于个人和社交网络,请参阅FOAF。对于在线社区,请参阅SIOC。有关作者和文档元数据,请参阅Dublin Core。对于类层次结构,请参阅RDFS和SKOS。有关产品,请参阅GoodRelations。对于软件项目,请参阅DOAP。 And so on.