正如评论中所揭示的,但不是在原始帖子中,Turtle 序列化中的这个示例 RDF 取自Semantic Web Programming,第 42 页。URI 格式错误(例如 )的数据存在一些问题< swp:me>
,但 Google 图书预览看起来可能来自该书的草稿。我不知道这些问题是否存在于最终的印刷副本中。
作者实际上将您指向第 3 章以获取有关不同序列化格式的更多信息,但在这种情况下,您只需要了解;
和,
符号即可。Turtle 序列化它与 SPARQL 查询语法非常相似,因此您可能会从 SPARQL 运算符的含义的答案中受益';' . 简而言之,这些语法让你编写
<subject> <predicate> <object> .
三倍。有时您有多个具有相同主语和谓语的三元组,在这种情况下,您将拥有:
<subject> <predicate> <object1> .
<subject> <predicate> <object2> .
这些语法让您可以使用逗号来缩写:
<subject> <predicate> <object1> , <object2> .
当您有多个具有相同主题的谓词-宾语对时,例如,
<subject> <predicateA> <object1> .
<subject> <predicateB> <object2> .
您可以使用分号进行缩写:
<subject> <predicateA> <object1> ;
<predicateB> <object2> .
你也可以组合这些缩写的主体,这样你就可以转
<subject> <predicateA> <object1a> .
<subject> <predicateA> <object2a> .
<subject> <predicateB> <object1b> .
<subject> <predicateB> <object2b> .
作为
<subject> <predicateA> <object1a> ,
<object2a> ;
<predicateB> <object1b> ,
<object2b> .
如果您修复了原始数据中的问题(格式错误的 URI)以及复制和粘贴问题引起的问题(例如,在 中缺少下划线foaf:family_name
),您最终会得到如下数据:
@prefix swp2: <http://semwebprogramming.org/2009/ont/chp2#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix admin: <http://webns.net/mvcb/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
swp2:me a foaf:Person ;
foaf:depiction <http://semwebprogramming.org/semweb.jpg> ;
foaf:family_name "Web" ;
foaf:givenname "Semantic" ;
foaf:homepage <http://semwebprogramming.org> ;
foaf:knows swp2:Reasoner , swp2:Statement , swp2:Ontology ;
foaf:name "Semantic Web" ;
foaf:nick "Webby" ;
foaf:phone <tel:410-679-8999> ;
foaf:schoolHomepage <http://www.web.edu> ;
foaf:title "Dr" ;
foaf:workInfoHomepage <http://semwebprogramming.com/dataweb.html> ;
foaf:workplaceHomepage <http://semwebprogramming.com> .
很明显,使用我上面讨论的;
和,
缩写,这个文档包含一堆三元组,其主题是swp2:me
. 这与作者的描述一致,他们在其中写道(第 45 页):
这些由 FOAF-a-Matic 生成的语义网语句描述了人、语义网和朋友。陈述形成关系。例如,第一个分组#me
声明有关所有者的信息,即语义网。报表分组提供有关所有者姓名、电话号码等的信息。
如果您想显式查看所有三元组,N-Triples 序列化(每行放置一个三元组)很有用:
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/workplaceHomepage> <http://semwebprogramming.com> .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/knows> <http://semwebprogramming.org/2009/ont/chp2#Reasoner> .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/phone> <tel:410-679-8999> .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/knows> <http://semwebprogramming.org/2009/ont/chp2#Statement> .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/workInfoHomepage> <http://semwebprogramming.com/dataweb.html> .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/depiction> <http://semwebprogramming.org/semweb.jpg> .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/givenname> "Semantic" .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/schoolHomepage> <http://www.web.edu> .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/homepage> <http://semwebprogramming.org> .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/title> "Dr" .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/nick> "Webby" .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/knows> <http://semwebprogramming.org/2009/ont/chp2#Ontology> .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/family_name> "Web" .
<http://semwebprogramming.org/2009/ont/chp2#me> <http://xmlns.com/foaf/0.1/name> "Semantic Web" .