1

我是语义网的初学者,我对 RDF 的作用略知一二。有人可以向我解释一下从语义网络编程一书中获得的以下语句,特别是带有分号的语法(例如,rdf:type foaf:Person; and foaf: family name "Web")?

@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#> .
@prefix swp2:
<http://semwebprogramming.org/2009/ont/chp2#>.
< swp2:me>
rdf:type 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> 
4

1 回答 1

2

正如评论中所揭示的,但不是在原始帖子中,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" .
于 2014-05-12T15:16:51.890 回答