Turtle语法介绍

本文详细介绍了Turtle语法,包括URI引用、@prefix指令、文字、语言后缀、空白节点的使用,以及三元组的缩写方式。此外,还讨论了数据类型的常见缩写,如xsd:integer、xsd:double和xsd:boolean。Turtle是一种紧凑的文本格式,用于表示RDF图,适合描述数据的词汇表。
摘要由CSDN通过智能技术生成
  1. 介绍

  2. Turtle句法
    Turtle文档允许以紧凑的文本形式写下RDF图。它由一系列指令、三元组语句或空白行组成。
    注释:在#之后给出,并继续到行的末尾。
    简单的三元组是一个(主语、谓词、宾语)项的序列,由空格分隔,并在每个三元组之后由’.’结尾。
    RDF术语有三种类型:RDF URI引用(简称URIs)、文字和空白节点。
    2.1. RDF术语
    2.1.1. URI引用
    URI被写在“<”和“>”中,可以是绝对的RDF URI引用,也可以相对于当前base URI。
    # this is not a complete turtle document
    <http://example.org/path/>
    <http://example.org/path/#fragment>
    </path>
    <#fragment>
    <>
    2.1.2. @prefix
    URIs也可以通过使用@prefix指令来缩写,该指令允许为重复URIs的长前缀声明短前缀名称。这对于许多在附近的URIs命名空间中定义的RDF词汇表都是有用的,可用采用与XML命名空间机制类似的工作方式。
    一旦定义了一个前缀,例如@prefix foo: <http://example.org/ns#>,在文档中稍后提及URI可以使用一个限定的名称来启动foo:代表更长的URI。例如,限定名称foo:bar是URI http://example.org/ns#bar的速写。
    # this is a complete turtle document
    @prefix foo: <http://example.org/ns#> .
    @prefix : <http://other.example.org/ns#> .
    foo:bar foo: : .
    :bar : foo:bar .
    2.1.3. 换行符
    当文本不包含换行符时,可以使用双引号来编写文本,如”simple literal”。或者当文本可能包含换行符时,使用三双引号来编写文本,如”“”long literal”“”。
    # this is not a complete turtle document
    “a string”
    “”“a string”“”
    “”“a string
    with newlines
    “””
    2.1.4. 语言后缀
    文字可以包含一个语言后缀,或者是数据类型URI,但两者不能同时给出。语言通过简单附加“@+语言标记”来表示。数据类型URIs通过追加^ ^,然后遵循任何合法URI形式(完整或合格)以给出数据类型URI。
    # this is not a complete turtle document
    “chat”
    “chat”@en
    “chat”@fr
    “foo”^^<http://example.org/my/datatype>
    “”“10”“”^^xsd:decimal
    2.1.5. 空白节点
    空白节点被写为_:nodeID以从给定的nodeID中提供一个空节点。生成的空白节点也可以用[],这对于从谓词对象列表或集合的根中为每一对RDF三元组提供主语是有用的。
    # this is not a complete turtle document
    _:me
    _:a1234
    2.1.6. 转义字符
    文字和URIs也可以包含转义字符、不可打印字符,并通过代码点编号对Unicode字符进行编码(尽管它们也可以直接给出,编码为UTF-8)。转义字符有:
    \t (U+0009, tab)
    \n (U+000A, 换行)
    \r (U+000D, 回车)
    \” (U+0022, 双引号 -只允许字符串内可用)
    > (U+003E, 大于号 – 只允许URIs内可用)
    \ (U+005C, 反斜线)
    \uHHHH or \UHHHHHHHH 用于十六进制代码写入Unicode字符,其中H是十六进制数字。
    2.2. URIs缩写
    2.2.1. @base
    可以使用@base指令在文档中更改当前base URI。它允许URIs的进一步缩写,但通常用于简化数据中的URIs,其中前缀指令用于描述数据的词汇表。
    只要这个指令出现,它就定义所有相关URIs解析所针对的base URI。这包括URIs、限定名称、前缀指令以及稍后的基本指令。
    # this is a complete turtle document
    # In-scope base URI is the document URI at this point
    <a1> <b1> <c1> .
    @base <http://example.org/ns/</

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值