W3C

فرمت XML نتایج جستجوی SPARQL

توصیه نامه ی W3C در 15 ژانویه سال 2008

نسخه ی فعلی:
http://www.w3.org/TR/2008/REC-rdf-sparql-XMLres-20080115
آخرین نسخه ی منتشر شده:
http://www.w3.org/TR/rdf-sparql-XMLres
نگارش قبلی:
http://www.w3.org/TR/2007/PR-rdf-sparql-XMLres-20071112
ویراستارها:
Dave Beckett, Institute for Learning and Research Technology (ILRT), University of Bristol
Jeen Broekstra, Information Systems Group, Eindhoven University of Technology

لطفا به تصحیح نامه ی سند فعلی که ممکن است تعدادی از اشکالات و تصحیحات معمولی و استاندارد (در نسخه انگلیسی) آن ذکر شده باشد، مراجعه نمایید.

همچنین ترجمه های این سند را ملاحظه فرمایید.

كليه ‌ی حقوق چاپ و نشر 2007 W3C كه شامل تعهدات، علامت تجاری و استفاده از سند می‌ باشد، برای (MIT, ERCIM, Keio) محفوظ است.


چکیده

RDF شیوه ای انعطاف پذیر و توسعه پذیر جهت ارایه ی اطلاعات در مورد منابع وب جهانی است، که جهت نمایش در میان چیزهای دیگر، اطلاعات شخصی، شبکه های اجتماعی، فرا داده های مربوط به مصنوعات دیجیتالی همانند موسیقی و تصاویر، مورد استفاده قرار می گیرد، و همچنین امکان یکپارچه سازی منابع نا متجانس اطلاعات را فراهم می نماید. زبان جستجوی استاندارد شده برای داده های RDF با تشخیص دهنده های برنامه های کاربردی چندگانه به توسعه دهنده ها و کاربران نهایی شیوه ای جهت نوشتن و استفاده از نتایج جستجوها در چنین طیف وسیعی از اطلاعات را ارایه می نماید.

سند فعلی فرمتی از XML را برای امکان پیوندی متغیر و فرمت های نتایج بولی توسط زبان جستجوی SPARQL برای RDF که توسط کار گروه دسترسی به داده های DAWG) W3C RDF)، بخش فعالیت وب معنایی توسعه یافته را به همان صورتی که در بیانیه ی فعالیت تشریح شده مورد توصیف قرار می دهد.

شرح وضعیت این سند

در این بخش شرح وضعیت این سند در زمان انتشار آن بیان می شود. اسناد دیگری ممکن است جانشین این سند شوند. مجموعه ای از مطالب منتشر شده ی موجود W3C و نسخه ی اخیر این گزارش فنی در فهرست گزارشهای فنی W3C در /http://www.w3.org/TR قابل دسترس می باشد.

این یک توصیه نامه ی W3C است.

سند فعلی توسط اعضای W3C، توسعه دهندگان نرم افزار و بوسیله ی دیگر گروههای W3C و افراد علاقه مند بازنگری شده و توسط مدیریت بعنوان یک توصیه نامه ی W3C مورد تایید قرار گرفته است. این سندی پایدار است و می تواند بعنوان یک مطلب مرجع مورد استفاده قرار گیرد و یا در سند دیگری به عنوان مرجع ذکر شود. نقش W3C در ایجاد توصیه نامه مبتنی بر جلب توجه دیگران به مشخصات (فنی) و در راستای ترویج کاربرد همه جانبه ی آن می باشد. این عمل عملکرد و یکپارچگی وب را افزایش می دهد.

نظرات مربوط به این سند باید به public-rdf-dawg-comments@w3.org، فهرست پستی با آرشیو عمومی ارسال شوند. پرسشها و نظرات مربوط به SPARQL که با مشخصات (فنی) ارتباطی ندارند، که شامل پسوندها و ویژگیها می باشد، می توانند در فهرست پستی public-sparql-dev@w3.org، (آرشیو عمومی) مورد بحث قرار گیرند.

این سند توسط کار گروه دسترسی به داده های RDF، که بخشی از فعالیت وب معنایی W3C است، تهیه شد. انتشار نخست این سند در 21 دسامبر سال 2004 بصورت پیش نویس کار بود و از آن موقع به بعد کار گروه با نظرات دریافت شده و مسائل بسیاری مواجه شده است. نوع رسانه ی application/sparql-results+xml پس از انتشار توصیه نامه ی پیشنهادی در نوامبر سال 2007، مورد تایید قرار گرفته است.

گزارش تشخیص دهنده های برنامه ی کاربردی فرمت XML نتایج جستجوی SPARQL متعلق به کار گروه نشان دهنده ی آن است که اهدافی که برای تشخیص دهنده های برنامه ی سازگار تعیین شده بود، در توصیه نامه ی نامزد سپتامبر سال 2007، سرانجام به نتیجه رسید.

کار گروهِ دسترسی به داده ها، 12 موضوع، از جمله توابع جمعی و یک زبان بروز رسانی را به تعویق انداخت.

سند فعلی توسط یک گروه عملیاتی تحت سیاست حق امتیاز W3C در 5 فوریه سال 2004 تهیه گردید. W3C فهرستی عمومی از تبیین کننده های هر حق امتیاز  ایجاد شده ی مرتبط با موارد ارایه شده ی گروه را دارا می باشد؛ صفحه ی مذکور همچنین شامل دستور العمل هایی برای تبیین یک حق امتیاز است. فردی که شناخت درستی از یک حق امتیاز دارد و ادعا(ها)ی ضروری را پذیرفته بایستی اطلاعات را مطابق با بخش 6 از سیاست حق امتیاز W3C درک کند.


فهرست مطالب

1. مقدمه

 زبان جستجوی SPARQL برای SPARQL-QUERY] RDF] چندین فرم نتایج جستجو (بخش 10جستجوی SPARQL) را تعیین می نماید. این سند، یک سند نتایج SPARQL را تعریف می کند که نتایج جستجوی امکان پیوندی متغیر را از جستجوهای SELECT (بخش 10.2 جستجوی SPARQL) و نتایج جستجوی بولی را از جستجوهای ASK (بخش 10.5 جستجوی SPARQL) در XML] XML]  کد گذاری می نماید.

2. تعریف

تعریف:  سند نتایج SPARQL  

یک سند نتایج SPARQL یک سند XML است که با توجه به هر کدام از طرحواره ی RELAX NG XML یا طرحواره ی W3C XML در بخش 4 معتبر است.

2.1. عنصر سند

 سند نتایج SPARQL با عنصر سند sparql در فضای نامی #http://www.w3.org/2005/sparql-results، نوشته شده به شرح ذیل آغاز می شود:

<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
 ...
</sparql>

در (فاصله ی بین تگهای شروعی و پایانی) عنصر sparql دو عنصر زیر گروه head و عنصر نتایج (هر دوی results یا boolean) وجود دارند که بایستی بترتیب مذکور ظاهر شوند.

2.2. سر صفحه

عنصر head نخستین عنصر زیرمجموعه ی عنصر sparql است.

برای یک نتیجه ی جستجوی امکان پیوندی متغیر، head بایستی دربر دارنده ی ترتیب عناصری باشد که مجموعه ی نام های متغیر جستجو در مجموعه راه حل ها را توصیف می نماید (که در اینجا نتایج جستجو نامیده می شود).

ترتیب نام های متغیر در مجموعه، ترتیب نام های متغیر داده شده به استدلال عبارت SELECT در جستجوی SPARQL است. اگر SELECT * مورد استفاده قرار گرفته باشد، ترتیب نامها تعریف نمی شود.

درون عنصر head، مجموعه ی مرتب نامهای متغیر منتخب جهت ساختن عناصر زیر مجموعه ی تهی variable با نام متغیر استفاده شده اند بطوریکه مقدار ویژگی name یک سند بدین صورت ارایه می شود:

<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">

  <head>
    <variable name="x"/>
    <variable name="hpage"/>
    <variable name="name"/>
    <variable name="mbox"/>
    <variable name="blurb"/>

  </head>
...
</sparql>

برای یک نتیجه جستجوی بولی، هیچ عنصری لازم نیست حتما درون head و variable وجود داشته باشد.

برای هر نتیجه ی جستجو، head همچنین می تواند محتوی عناصر زیر مجموعه ی link با یک ویژگی href حاوی URI مربوطه باشد که لینک به برخی فرا داده های افزوده در مورد نتایج جستجو را فراهم نماید. URI مربوطه در برابر دامنه ی مبتنی بر یک URI که معمولا URI سند فرمت نتایج جستجوی است، مورد حل و فصل قرار می گیرد. عناصر link بایستی پس از هر عنصر variable موجود، ظاهر شوند.

<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">

  <head>
    ...
    <link href="metadata.rdf"/>
  </head>

...
</sparql>

2.3. نتایج

عنصر زیر مجموعه ی دوم sparql بایستی پس از head ظاهر شود و هر دوی results یا boolean را شامل می شود. که حتی اگر نتایج جستجو تهی باشند نیز نوشته می شود.

2.3.1. نتایج امکان پیوندی متغیر

عنصر results دربرگیرنده ی مجموعه ی کاملی از نتایج جستجو است.

برای هر راه حل جستجو در نتایج جستجو یک عنصر result که زیر مجموعه ی results می باشد بصورتی که در زیر آمده، اضافه می شود:

<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
  ...  head ...

  <results>

    <result>...
    </result>
    <result>...
    </result>
    ...
  </results>

</sparql>

هر عنصر result متناظر با یک راه حل جستجو در یک نتیجه و شامل عناصر زیر مجموعه (بدون هیچ ترتیب خاصی) برای هر متغیر جستجو که بعنوان راه حل ظاهر می شود. و جهت ثبت چگونگی پیوند متغیرهای جستجو به اصطلاحات RDF مورد استفاده قرار گرفته است.

هر پیوند درون یک راه حل بصورت یک عنصر binding بعنوان زیر مجموعه ی result با نام متغیر جستجو بصورت مقدار ویژگی name نوشته شده است. بنابراین برای یک پیوند نتیجه ی دو متغیر x و hpage می تواند بدین صورت باشد:

<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
  <head>
    <variable name="x"/>
    <variable name="hpage"/>
  </head>

  <results>
    <result>
      <binding name="x"> ... </binding>
      <binding name="hpage"> ... </binding>

    </result>

    <result>
      <binding name="x"> ... </binding>
      <binding name="hpage"> ... </binding>

    </result>
    ...
  </results>

</sparql>

مقدار یک امکان پیوندی متغیر جستجو، که یک اصطلاح RDF است، بصورت محتوای binding به شرح ذیل قرار داده شده است:

RDF URI Reference U
<binding><uri>U</uri></binding>
RDF Literal S
<binding><literal>S</literal></binding>
RDF Literal S with language L
<binding><literal xml:lang="L">S</literal></binding>
RDF Typed Literal S with datatype URI D
<binding><literal datatype="D">S</literal></binding>
Blank Node label I
<binding><bnode>I</bnode></binding>

اگر، برای یک راه حل ویژه، یک متغیر نامحدود است، هیچ عنصر binding ای برای آن متغیر در عنصر result قرار داده نمی شود.

توجه: برچسب گره ی فضای خالی I به مجموعه نتیجه ی سند XML محدود شده و لزومی ندارد هیچ گونه ارتباطی با برچسب گره ی فضای خالی برای اصطلاح  آن RDF در نمودار جستجو داشته باشد.

نمونه ای از یک راه حل جستجوی رمزی شده به این فرمت، بصورت زیر می باشد:

<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">

  <head>
    <variable name="x"/>
    <variable name="hpage"/>

    <variable name="name"/>
    <variable name="age"/>
    <variable name="mbox"/>
    <variable name="friend"/>
  </head>

  <results>

    <result> 
      <binding name="x">
	<bnode>r2</bnode>
      </binding>
      <binding name="hpage">

	<uri>http://work.example.org/bob/</uri>
      </binding>
      <binding name="name">
	<literal xml:lang="en">Bob</literal>
      </binding>

      <binding name="age">
	<literal datatype="http://www.w3.org/2001/XMLSchema#integer">30</literal>
      </binding>
      <binding name="mbox">
	<uri>mailto:bob@work.example.org</uri>

      </binding>
    </result>

    ...
  </results>

</sparql>

2.3.2. نتایج بولی

یک نتیجه ی بولی بعنوان محتوای عنصر یک عنصر زیر مجموعه ی boolean از عنصر sparql مستقیما پس از head، چه شامل  true باشد یا false، بصورت ذیل نوشته می شود:

<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
  ...  head ...

  <boolean>true</boolean>

</sparql>

3. مثالها

3.1. مثالهای نتایج امکان پیوندی متغیر

نمونه ی جستجوی SELECT SPARQL در عملیات example.rq بر روی نمودار جستجوی داده ی Turtle/N3 در data.n3 نتایج جستجوی امکان پیوندی نوشته شده در XML در output.srx را بصورت منظم ارایه می نماید.

این XML با استفاده از اسکریپت جستجوی XML نمونه ی result-to-html.xq ارایه شده ی output-xquery.html یا با XSLT sheet  result-to-html.xsl ارایه شده ی output-xslt.html می تواند به XHTML تبدیل شود.

3.2. مثالهای نتایج بولی

یک مثال جستجوی ASK SPARQL در عملیات example2.rq بر روی نمودار جستجوی داده ی Turtle/N3 در data.n3 نتیجه ی جستجوی بولی  نوشته شده در XML در output2.srx را ارایه می نماید.

این XML با استفاده از اسکریپت جستجوی XML نمونه ی result-to-html.xq ارایه شده ی output-xquery2.html یا با XSLT sheet result-to-html.xsl ارایه شده ی output-xslt2.html می تواند به XHTML تبدیل شود.

4.  طرح واره های XML

طرح واره های موجود XML استاندارد به فرمت های زیر ارایه شده اند:

  1. RELAXNG] RELAX NG] فشرده [RELAXNG-COMPACT] در result.rnc
  2. RELAX NG XML در result.rng
  3. طرح واره ی XMLSCHEMA-1] W3C XML] در result.xsd
    توجه: این طرح واره بصورت تولید شده ی ماشینی از طرح واره ی RELAX NG XML است.

اگر شمای W3C XML استفاده شده است، یک ویژگی xsi:schemaLocation با توجه به طرح واره ی ذیل می تواند مورد استفاده قرار گرفته باشد:

<?xml version="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/2007/SPARQL/result.xsd">

  ...

</sparql>

5. نوع رسانه اینترنت، پسوند فایل و نوع فایل مکینتاش

نوع رسانه ی اینترنت / نوع MIME برای نتایج جستجوی SPARQL فرمت XML به صورت "application/sparql-results+xml" می باشد.

توصیه می شود فایل های نتیجه در همه ی محیط ها پسوند ".srx" (کاملا با حروف کوچک) داشته باشند.

توصیه می شود فایل های نتیجه ذخیره شده در سیستم های فایل مکینتاش HFS یک نوع فایل "TEXT" را ارایه نمایند.

اطلاعات موجود در ذیل جهت بررسی، تایید و ثبت با IANA  به IESG ارایه شده است. IESG از تاریخ انتشار این سند پاسخی  نداده است.

فرم ثبت نوع رسانه ی اینترنت

به: ietf-types@iana.org
موضوع: ثبت کاربرد نوع رسانه ی application/sparql-results+xml

نام نوع:
application
نام زیر گروه:
sparql-results+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."
شناسه های گسسته:
مشابه با همان که از "application/xml" بصورتی که در  RFC3023] RFC 3023]، بخش 5 توصیف شده است.
URI مبنا:
بطوریکه در [RFC3023]، بخش 6 تعیین شده است.
کد(های) نوع فایل مکینتاش:
"TEXT"
شخص و نشانی پست الکترونیکی جهت تماس برای کسب اطلاعات بیشتر:

Dave Beckett, Eric Prud'hommeaux <public-rdf-dawg-comments@w3.org>

استفاده ی مورد نظر:
COMMON
محدودیت در استفاده:
هیچ
 کنترل کننده ی Author/Change:
مشخصات (فنی) SPARQL یکی از نتایج فعالیت کار گروه دسترسی به داده های RDF متعلق به کنسرسیوم وب جهانی می باشد. W3C کنترل تغییر در این مشخصات (فنی) را در دست دارد.

مراجع

[RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media Types", RFC 3023, January 2001.

[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005.

[RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource Identifiers (IRIs)", RFC 3987, January 2005.

6. مراجع

[XML]
Extensible Markup Language (XML) 1.0, Third Edition, T. Bray, J. Paoli, C.M. Sperberg-McQueen, E. Maler, F. Yergeau, Editors, W3C Recommendation, 4 February 2004. This document is http://www.w3.org/TR/2004/REC-xml-20040204 . The latest version is available at http://www.w3.org/TR/REC-xml .
[SPARQL-QUERY]
SPARQL Query Language for RDF, E. Prud'hommeaux, A. Seaborne, Editors, W3C Recommendation, 15 January 2008. This document is http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/ . The latest version is available at http://www.w3.org/TR/rdf-sparql-query/ .
[RELAXNG]
RELAX NG Specification, James Clark and MURATA Makoto, Editors, OASIS Committee Specification, 3 December 2001. This document is http://www.oasis-open.org/committees/relax-ng/spec-20011203.html . The latest version is available at http://www.oasis-open.org/committees/relax-ng/spec.html .
[RELAXNG-COMPACT]
RELAX NG Compact Syntax, James Clark, Editor. OASIS Committee Specification, 21 November 2002. This document is http://www.oasis-open.org/committees/relax-ng/compact-20021121.html .
[XMLSCHEMA-1]
XML Schema Part 1: Structures Second Edition, D. Beech, N. Mendelsohn, M. Maloney, H. S. Thompson, Editors, W3C Recommendation, 28 October 2004. This document is http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/ . The latest version is available at http://www.w3.org/TR/xmlschema-1/ .