RDF是一种灵活、可扩展的信息表示方式关于万维网资源。它用于表示其他信息、个人信息、社交网络、元数据关于音乐和图像等数字制品,以及提供跨不同源的集成方法信息。RDF数据的标准化查询语言多种实现为开发人员和最终用户提供了一种方法在这个范围内编写和使用查询结果信息范围。
本文档描述了变量绑定的XML格式和提供的布尔结果格式SPARQL公司RDF的查询语言,由W3C RDF数据访问工作组(DAWG),是语义Web活动如中所述活动说明书.
这个RDF的SPARQL查询语言
[SPARQL-QUERY]定义了几个查询结果表单(SPARQL查询部分10).本文档定义了SPARQL结果文档编码变量绑定查询的结果来自选择
查询(SPARQL查询第10.2节)和布尔查询结果来自提问
查询(SPARQL查询第10.5节)在里面XML格式
[XML].
这个SPARQL结果文档以开头斯巴克尔
中的文档元素http://www.w3.org/2005/sparql-results#
命名空间,编写如下:
<?xml版本=“1.0”?><sparql-xmlns=“http://www.w3.org/2005/sparql-results#">...</sparql>
在内部斯巴克尔
元素是两个子元素,头
和结果元素(或结果
或布尔值
)必须按此顺序出现。
这个头
元素是的第一个子元素这个斯巴克尔
元素。
对于变量绑定查询结果,头
必须包含描述集合的元素序列查询变量中的名称解决方案顺序(此处称为查询结果)。
序列中变量名的顺序为参数的变量名选择
SPARQL查询中的语句。如果选择*
使用时名称的顺序未定义。
在内部头
元素的有序序列所选变量名用于创建空的子元素变量
将变量名作为属性名称
提供这样的文档:
<?xml版本=“1.0”?><sparql-xmlns=“http://www.w3.org/2005/sparql-results#"><头部><变量名称=“x”/><variable name=“hpage”/><variable name=“name”/><变量名称=“mbox”/><variable name=“blurb”/></头>...</sparql>
对于布尔查询结果,内部不需要元素头
和变量
不得出现。
对于任何查询结果,头
也可能包含链接
具有href公司
属性包含一个相对URI,该URI提供指向其他有关查询结果的元数据。已解析相对URI针对范围内的基本URI,通常是查询结果格式化文档URI。链接
元素必须出现在任何变量
存在的元素。
<?xml版本=“1.0”?><sparql-xmlns=“http://www.w3.org/2005/sparql-results#"><头部>...<link href=“metadata.rdf”/></头>...</sparql>
第二个子元素斯巴克尔
必须出现在头
并且是其中之一结果
或布尔值
.即使查询结果为空,它也会被写入。
这个结果
元素包含的完整序列查询结果。
注:在本文件的早期版本中结果
元素有两个必需的属性,不同的
和命令
。这两个属性都已删除(请参见2007-05-03的更改日志条目).
对于每个查询解决方案在查询结果中结果
的子元素结果
添加了赠送文档,如:
<?xml版本=“1.0”?><sparql-xmlns=“http://www.w3.org/2005/sparql-results#">…头部。。。<结果><结果>。。。</result><结果>。。。</result>...</结果></sparql>
每个结果
元素对应于一个查询解决方案并包含每个查询变量出现在解决方案中。它用于记录查询变量如何绑定到RDF公司期限第条。
解决方案中的每个绑定都作为元素写入结合
作为的孩子结果
使用查询变量名作为名称
属性。所以对于一个结果绑定两个变量x个和hpage(页)它会看起来像:
<?xml版本=“1.0”?><sparql-xmlns=“http://www.w3.org/2005/sparql-results#"><头部><变量名称=“x”/><variable name=“hpage”/></头><结果><结果><binding name=“x”></绑定><binding name=“hpage”></绑定></result><结果><binding name=“x”></绑定><binding name=“hpage”></绑定></result>...</结果></sparql>
查询变量绑定的值,它是RDF术语,是包含为的内容结合
如下:
- RDF URI引用U型
<绑定>
U型</uri></binding>
- RDF文字S公司
<绑定><文字>
S公司</literal></binding>
- RDF文字S公司用语言L(左)
<绑定><文字xml:lang=“
L(左)">
S公司</literal></binding>
- RDF类型的文字S公司具有数据类型URID类
<绑定><文字数据类型=“
D类">
S公司</literal></binding>
- 空白节点标签我
<绑定><bnode>
我</bnode></binding>
如果对于特定的解决方案,变量是未绑定,没有结合
该变量的元素包含在结果
元素。
注:空白节点标签我已确定范围到结果集XML文档,不需要与查询图中该RDF术语的空白节点标签。
以这种格式编码的查询解决方案示例如下:
<?xml版本=“1.0”?><sparql-xmlns=“http://www.w3.org/2005/sparql-results#"><头部><变量名称=“x”/><variable name=“hpage”/><variable name=“name”/><variable name=“age”/><变量名称=“mbox”/><variable name=“friend”/></头><结果><结果><绑定名称=“x”><b节点>r2</b节点></绑定><binding name=“hpage”><uri>http://work.example.org/bob/</uri></绑定><绑定名称=“name”>鲍勃</绑定><binding name=“age”><literal datatype=“http://www.w3.org/2001/XMLSchema#integer“>30</literal></绑定><binding name=“mbox”><uri>邮件地址:bob@work.example.org</uri></绑定></result>...</结果></sparql>
布尔结果被写入布尔值
的子元素斯巴克尔
元素直接位于头
,包含其中之一真的
或假
如下:
<?xml版本=“1.0”?><sparql-xmlns=“http://www.w3.org/2005/sparql-results网站#">…头部。。。<boolean>true</boolean></sparql>
一个例子选择
中的SPARQL查询示例.rq操作中的查询图Turtle/N3数据数据编号3提供用XML编写的有序变量绑定查询结果在里面输出srx.
可以使用示例XML查询脚本结果2到html.xq给输出-xquery.html或使用XSLT工作表结果2到html.xsl给输出-xslt.html
一个例子提问
中的SPARQL查询示例2.rq操作中的查询图Turtle/N3数据数据编号3提供用XML编写的布尔查询结果在里面输出2.srx.
可以使用示例XML查询脚本结果2到html.xq给输出-xquery2.html或使用XSLT工作表结果2到html.xsl给输出-xslt2.html
有以下格式的标准XML模式:
- 放松NG[放松]契约[松弛-紧凑]在里面结果2.rnc
- 中的RELAX NG XML结果2.rng
- W3C XML架构[XMLSCHEMA-1]在里面结果2.xsd
注意:这个模式是从RELAX NG XML模式机器生成的。
如果使用W3C XML架构xsi:schema位置
属性可以用于指向模式,如下所示:
<?xml版本=“1.0”?><sparql-xmlns=“http://www.w3.org/2005/sparql-results#"xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=“http://www.w3.org/TR/2007/CR-rdf-sparql-XMLres-20070925/result2.xsd">...</sparql>
SPARQL查询结果XML的Internet媒体类型/MIME类型格式为“application/sparql-results+xml”。
建议结果文件的扩展名为“.srx”(所有小写)。
建议将结果文件存储在Macintosh HFS文件中系统的文件类型为“TEXT”。
以下信息旨在提交给IESG供IANA审查、批准和注册。
收件人:ietf-types@iana.org
主题:媒体类型应用程序/sparql-results+xml注册
- 类型名称:
- 应用
- 子类型名称:
- sparql结果+xml
- 所需参数:
- 无
- 可选参数:
- “charset”:此参数的语义与charset相同“application/xml”媒体类型的参数为在中指定【RFC3023】第3.2节。
- 编码注意事项:
- 与中指定的“application/xml”相同[RFC3023],第3.2节。
- 安全注意事项:
-
SPARQL查询结果使用URI。请参阅的第7节[RFC3986].
SPARQL查询结果使用IRI。请参阅的第8节[RFC3987].
由于此媒体类型使用“+xml”约定,因此共享相同的中描述的安全注意事项[RFC3023],第10节。
- 互操作性注意事项:
- 没有已知的互操作性问题。
- 发布规范:
- 本规范。
- 使用此媒体类型的应用程序:
- 当前没有已知的应用程序使用此媒体类型。
- 其他信息:
- 幻数:
- 如中“application/xml”的规定[RFC3023]第3.2节。
- 文件扩展名:
- “.srx”
- 片段标识符:
- 与RFC 3023中描述的“application/xml”相同[RFC3023],第5节。
- 基本URI:
- 如中所述【RFC3023】,第6节。
- Macintosh文件类型代码:
- “文本”
- 联系人和电子邮件地址以获取更多信息:
- 戴夫·贝克特(Dave Beckett)、埃里克·普鲁德霍姆(Eric Prud'hommaux)<public-rdf-dawg-comments@w3.org>
- 预期用途:
- 通用
- 使用限制:
- 无
- 作者/更改控制器:
- SPARQL规范是万维网的一个工作产品联合体的RDF数据访问工作组。W3C有变化对这些规范的控制。
[RFC3023]Murata,M.、St.Laurent,S.和D.Kohn,“XML媒体类型”,RFC 30232001年1月。
[RFC3986]Berners-Lee,T.、Fielding,R.和L.Masinter,“制服资源标识符(URI):通用语法“,STD 66,RFC39862005年1月。
[RFC3987]Duerst,M.和M.Suignard,“国际化资源标识符(IRI)”,RFC 39872005年1月。
-
[XML]
-
可扩展标记语言(XML)1.0,第三版,T.Bray,J.Paoli,C.M.Sperberg-McQueen,E.Maler,F.Yergeau,W3C建议书编辑,2004年2月4日。本文件是http://www.w3.org/TR/2004/REC-xml-20040204 . 这个最新版本位于http://www.w3.org/TR/REC-xml .
-
[SPARQL-QUERY]
-
RDF的SPARQL查询语言E.Prud'hommeaux,A.Seaborne,W3C工作草案(正在进行中)编辑,2005年7月21日。本文件是http://www.w3.org/TR/2005/WD-rdf-sparql-query-20050721/ . 这个最新版本位于http://www.w3.org/TR/rdf-sparql-query/ .
-
[放松]
- RELAX NG规范James Clark和MURATA Makoto,OASIS委员会规范编辑,2001年12月3日。本文件为http://www.oasis-open.org/committees/relax-ng/spec-20011203.html . 这个最新版本位于http://www.oasis-open.org/committees/relax-ng/spec.html .
-
[缓解压力]
- RELAX NG紧凑语法编辑詹姆斯·克拉克(James Clark)。OASIS委员会规范,2002年11月21日。本文件是http://www.oasis-open.org/committees/relax-ng/compact-20021121.html .
-
[XMLSCHEMA-1]
-
XML模式第1部分:结构第二版,D.Beech,N.Mendelsohn,M.Maloney,H.S.Thompson,W3C建议书编辑,2004年10月28日。本文件是http://www.w3.org/TR/2004/REC-xml方案1-20041028/ . 这个最新版本位于http://www.w3.org/TR/xmlschema-1/ .
2007-05-03. “results”的“ordered”和“distinct”属性元素已根据删除工作组在2007-05-01电信会议上的决定.
2005-12-21. 未绑定变量不再显式编码,而是此类变量的绑定元素被省略。订单限制删除解决方案中的绑定元素。参见工作组在2005-12-20电信会议上的决定。
2005-08-02. 修复了打字错误,恢复为编辑的草稿格式。
2005-08-01. 发布为SPARQL查询结果XML格式W3C工作草案2005年8月1日。
有关早期更改,请参阅变化在2005年8月1日的工作草案中。