لطفا به تصحیح نامه ی سند فعلی که ممکن است تعدادی از اشکالات و تصحیحات معمولی و استاندارد (در نسخه انگلیسی) آن ذکر شده باشد، مراجعه نمایید.
همچنین ترجمه های این سند را ملاحظه فرمایید.
كليه ی حقوق چاپ و نشر 2007 W3C كه شامل تعهدات، علامت تجاری و استفاده از سند می باشد، برای (MIT, ERCIM, Keio) محفوظ است.
Copyright © 2007 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
RDF شیوه ای انعطاف پذیر و توسعه پذیر جهت ارایه ی اطلاعات در مورد منابع وب جهانی است، که جهت نمایش در میان چیزهای دیگر، اطلاعات شخصی، شبکه های اجتماعی، فرا داده های مربوط به مصنوعات دیجیتالی همانند موسیقی و تصاویر، مورد استفاده قرار می گیرد، و همچنین امکان یکپارچه سازی منابع نا متجانس اطلاعات را فراهم می نماید. زبان جستجوی استاندارد شده برای داده های RDF با تشخیص دهنده های برنامه های کاربردی چندگانه به توسعه دهنده ها و کاربران نهایی شیوه ای جهت نوشتن و استفاده از نتایج جستجوها در چنین طیف وسیعی از اطلاعات را ارایه می نماید.
سند فعلی فرمتی از XML را برای امکان پیوندی متغیر و فرمت های نتایج بولی توسط زبان جستجوی SPARQL برای RDF که توسط کار گروه دسترسی به داده های DAWG) W3C RDF)، بخش فعالیت وب معنایی توسعه یافته را به همان صورتی که در بیانیه ی فعالیت تشریح شده مورد توصیف قرار می دهد.
در این بخش شرح وضعیت این سند در زمان انتشار آن بیان می شود. اسناد دیگری ممکن است جانشین این سند شوند. مجموعه ای از مطالب منتشر شده ی موجود W3C و نسخه ی اخیر این گزارش فنی در فهرست گزارشهای فنی W3C در /http://www.w3.org/TR قابل دسترس می باشد.
این یک توصیه نامه ی W3C است.
سند فعلی توسط اعضای W3C، توسعه دهندگان نرم افزار و بوسیله ی دیگر گروههای W3C و افراد علاقه مند بازنگری شده و توسط مدیریت بعنوان یک توصیه نامه ی W3C مورد تایید قرار گرفته است. این سندی پایدار است و می تواند بعنوان یک مطلب مرجع مورد استفاده قرار گیرد و یا در سند دیگری به عنوان مرجع ذکر شود. نقش W3C در ایجاد توصیه نامه مبتنی بر جلب توجه دیگران به مشخصات (فنی) و در راستای ترویج کاربرد همه جانبه ی آن می باشد. این عمل عملکرد و یکپارچگی وب را افزایش می دهد.
نظرات مربوط به این سند باید به [email protected]، فهرست پستی با آرشیو عمومی ارسال شوند. پرسشها و نظرات مربوط به SPARQL که با مشخصات (فنی) ارتباطی ندارند، که شامل پسوندها و ویژگیها می باشد، می توانند در فهرست پستی [email protected]، (آرشیو عمومی) مورد بحث قرار گیرند.
این سند توسط کار گروه دسترسی به داده های RDF، که بخشی از فعالیت وب معنایی W3C است، تهیه شد. انتشار نخست این سند در 21 دسامبر سال 2004 بصورت پیش نویس کار بود و از آن موقع به بعد کار گروه با نظرات دریافت شده و مسائل بسیاری مواجه شده است. نوع رسانه ی application/sparql-results+xml
پس از انتشار توصیه نامه ی پیشنهادی در نوامبر سال 2007، مورد تایید قرار گرفته است.
گزارش تشخیص دهنده های برنامه ی کاربردی فرمت XML نتایج جستجوی SPARQL متعلق به کار گروه نشان دهنده ی آن است که اهدافی که برای تشخیص دهنده های برنامه ی سازگار تعیین شده بود، در توصیه نامه ی نامزد سپتامبر سال 2007، سرانجام به نتیجه رسید.
کار گروهِ دسترسی به داده ها، 12 موضوع، از جمله توابع جمعی و یک زبان بروز رسانی را به تعویق انداخت.
سند فعلی توسط یک گروه عملیاتی تحت سیاست حق امتیاز W3C در 5 فوریه سال 2004 تهیه گردید. W3C فهرستی عمومی از تبیین کننده های هر حق امتیاز ایجاد شده ی مرتبط با موارد ارایه شده ی گروه را دارا می باشد؛ صفحه ی مذکور همچنین شامل دستور العمل هایی برای تبیین یک حق امتیاز است. فردی که شناخت درستی از یک حق امتیاز دارد و ادعا(ها)ی ضروری را پذیرفته بایستی اطلاعات را مطابق با بخش 6 از سیاست حق امتیاز W3C درک کند.
زبان جستجوی SPARQL برایSPARQL-QUERY] RDF] چندین فرم نتایج جستجو (بخش 10جستجوی SPARQL) را تعیین می نماید. این سند، یک سند نتایج SPARQL را تعریف می کند که نتایج جستجوی امکان پیوندی متغیر را از جستجوهای SELECT
(بخش 10.2 جستجوی SPARQL) و نتایج جستجوی بولی را از جستجوهای ASK
(بخش 10.5 جستجوی SPARQL) در XML]XML] کد گذاری می نماید.
تعریف: سند نتایج SPARQL
یک سند نتایج SPARQL یک سند XML است که با توجه به هر کدام از طرحواره ی RELAX NG XML یا طرحواره ی W3C XML در بخش 4 معتبر است.
سند نتایج 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
) وجود دارند که بایستی بترتیب مذکور ظاهر شوند.
عنصر 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>
عنصر زیر مجموعه ی دوم sparql
بایستی پس از head
ظاهر شود و هر دوی results
یا boolean
را شامل می شود. که حتی اگر نتایج جستجو تهی باشند نیز نوشته می شود.
عنصر 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
به شرح ذیل قرار داده شده است:
<binding><uri>
U</uri></binding>
<binding><literal>
S</literal></binding>
<binding><literal xml:lang="
L">
S</literal></binding>
<binding><literal datatype="
D">
S</literal></binding>
<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:[email protected]</uri> </binding> </result> ... </results> </sparql>
یک نتیجه ی بولی بعنوان محتوای عنصر یک عنصر زیر مجموعه ی boolean
از عنصر sparql
مستقیما پس از head
، چه شامل true
باشد یا false
، بصورت ذیل نوشته می شود:
<?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> ... head ... <boolean>true</boolean> </sparql>
نمونه ی جستجوی 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 تبدیل شود.
یک مثال جستجوی 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 تبدیل شود.
طرح واره های موجود 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>
نوع رسانه ی اینترنت / نوع MIME برای نتایج جستجوی SPARQL فرمت XML به صورت "application/sparql-results+xml" می باشد.
توصیه می شود فایل های نتیجه در همه ی محیط ها پسوند ".srx" (کاملا با حروف کوچک) داشته باشند.
توصیه می شود فایل های نتیجه ذخیره شده در سیستم های فایل مکینتاش HFS یک نوع فایل "TEXT" را ارایه نمایند.
اطلاعات موجود در ذیل جهت بررسی، تایید و ثبت با IANA به IESG ارایه شده است. IESG از تاریخ انتشار این سند پاسخی نداده است.
به: [email protected]
موضوع: ثبت کاربرد نوع رسانه ی application/sparql-results+xml
نتایج جستجوی SPARQL از URI ها استفاده می کند. بخش 7 از [RFC3986] را ببینید.
نتایج جستجوی SPARQL از IRI ها استفاده می کند. بخش 8 از [RFC3987] را ببینید.
به همان صورت که این نوع رسانه از کنوانسیون "xml+" بهره می گیرد، الزامات امنیتی مشابهی را بصورتی که در [RFC3023]، بخش 10 توضیح داده شده، به اشتراک می گذارد.
Dave Beckett, Eric Prud'hommeaux <[email protected]>
[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.