اسپارکل
اسپارکل ، یک زبان پرسمان RDF (یک نوع زبان ) برای پایگاه‌های داده است. اسپارکل می‌تواند داده‌های ذخیره شده در فرمت چارچوب توصیف منبع (RDF) را بازیابی و دستکاری کند.
SPARQL کوته‌نوشت بازگشتی برای SPARQL Protocol and RDF Query Language می‌باشد، و به صورت اسپارکل تلفظ می‌شود.
این زبان به وسیلهٔ «کارگروه دسترسی دادهٔ آردی‌اف» کوته نوشت (DAWG) از ائتلاف وب جهان‌گستر استانداردسازی شد، و به عنوان یکی از فن آوری‌های کلیدی در وب معنایی شناخته می‌شود. در ۱۵ ژانویه سال ۲۰۰۸ زبان SPARQL 1.0 تبدیل به پیشنهاد رسمی W3C شد، سپس SPARQL 1.1 در مارس سال ۲۰۱۳ تبدیل به پیشنهاد شد. اسپارکل به یک پرسمان اجازه می‌دهد تا شامل الگوهای سه تایی باشند: پیوستگی ، تفکیک و الگوهای اختیاری.
پیاده‌سازی‌هایی برای چندین زبان برنامه‌نویسی موجود است. و ابزارهایی موجود است که به افراد اجازهٔ اتصال و ساخت نیمه-خودکار یک پرسمان اسپارکل را برای یک پایانه اسپارکل می‌دهد، که یک مثال آن ViziQuer است. بعلاوه ابزارهایی برای ترجمهٔ پرسمان‌های اسپارکل به دیگر زبان‌های پرسمان مثل SQL و XQuery موجود است.
اسپارکل به کاربران اجازه نوشتن پرسمان در برابر آنچه که دادهٔ «کلید-مقدار» نامیده می‌شود را می‌دهد، به صورت اختصاصی تر، داده‌ای که از ویژگی‌های RDF از W3C پیروی می‌کنند پرسمان می‌شوند. از این رو کل پایگاه داده مجموعه ای از سه تایی‌های «موضوع-خبر-هدف» می‌باشد. این روش مشابه بعضی پایگاه داده‌های NoSQL است که از عبارت «سند-کلید-مقدار» استفاده می‌کنند، مثل MongoDB.اسپارکل یک مجموعهٔ کامل از عملیات پرسمان تحلیلی مثل JOIN, SORT, AGGREGATE را برای داده‌ای که که طرح‌واره ی آن به صورت ذاتی بخشی از داده‌است فراهم می‌کند، و نه آنکه نیاز به یک تعریف طرح‌واره جداگانه باشد. با این حال اطلاعات طرح‌واره (آنتالوژی) معمولاً به صورت بیرونی تهیه می‌شود، زیرا اجازه اتصال دیتاست‌های مختلف را به صورت غیر مبهم را می‌دهد. بعلاوه، اسپارکل یک نحو پیمایش گراف بخصوص برای داده‌ای که می‌تواند به صورت گراف تصور شود، تهیه می‌بیند.
در پرسمان‌هایی که داده را از پایگاه داده می‌خوانند، زبان اسپارکل چهار نوع مختلف پرسمان، برای چهار هدف مختلف تعیین کرده‌است.
برای استخراج داده‌های خام، از پایانه اسپارکل استفاده می‌شود، نتایج به صورت قالب جدولی بازگردانده می‌شوند.
برای استخراج اطلاعات از پایانه اسپارکل و تبدیل نتایج به یک RDF مجاز استفاده می‌شود.
برای تهیه یک نتیجه درست/غلط ساده برای یک پرسمان در یک پایانه اسپارکل استفاده می‌شود.
برای استخراج گراف RDF از پایانهٔ اسپارکل استفاده می‌شود، محتوای آن بر عهدهٔ پایانه است، تا بر اساس آنچه که نگهدارنده اطلاعات مفید می‌پندارد تصمیم‌گیری کند.
هر کدام از این فرم‌های پرسمان یک بلاک WHERE برای محدودسازی پرسمان می‌گیرد، اگرچه در حالت پرسمان DESCRIBE قسمت WHERE اختیاری است.
اسپارکل ۱٫۱ یک زبان برای به روزرسانی پایگاه داده به کمک چندین فرم پرسمان جدید تعیین نموده‌است.
این پرسمان‌ها می‌توانند به چندین پایانه اسپارکل (سرویس‌های که پرسمان اسپارکل را می‌پذیرند، و نتایج را برمی‌گردانند) توزیع شوند، محاسبه شوند، و نتایج جمع‌آوری گردد، این فرایند به عنوان پرسمان متحد شناخته می‌شود.
چه در حالت پرسمان متحد یا پرسمان محلی، تعاریف سه تایی‌های اضافه در پرسمان باید اجازهٔ اتصال به انواع موضوع مختلف را بدهد، مثلاً خودرو، تا به پرسمان‌های ساده، اجازه بازگرداندن لیستی از نام‌ها و ایمیل‌ها را برای هر انسانی که «خودروهایی با راندمان سوخت بالا» را بدهد.
مثال زیر یک پرسمان ساده را نشان می‌دهد که از تعریف آنتالوژی بهره می‌گیرد ("friend of a friend").
پرسمانی که در ادامه آمده‌است، نام‌ها و ایمیل‌های هر انسان موجود در دیتاست را برمی‌گرداند: PREFIX foaf:  SELECT ?name WHERE این پرسمان همهٔ سه تایی‌هایی را که موضوع منطبق دارند را به هم متصل می‌کند، که در آن نوع خبر "a" یک انسان است (foaf:Person)، و آن انسان یک یا بیشتر نام (foaf:name) و صندوق پستی (foaf:mbox) دارد.
نویسندهٔ این پرسمان برای ارجاع به موضوع از نام متغیر «?person» استفاده کرده‌است، تا وضوح خواندن افزایش یابد. به دلیل آنکه عنصر اول برای سه تایی همیشه موضوع است، نویسنده می‌تواند به سادگی هر نام متغیری را به استفاده کند، مثل "؟subj" یا "?x". هر نامی که انتخاب شود، باید در همهٔ خطوط پرسمان مشابه باشد، تا نشان بدهد که موتور پرسمان باید سه تایی‌های با موضوع مشابه را متصل کند.
نتیجهٔ این پرسمان مجموعه ای از ردیف‌ها می‌باشد- person، ?name، ?email?. این پرسمان؟name و؟email را برمی‌گرداند، زیرا؟person معمولاً یک URI پیچیده‌است، تا آنکه یک رشته انسان-خواندنی باشد. توجه کنید که هر؟person می‌تواند چندین ایمیل داشته باشد، بنابراین در مجموعه بازگشت شده، یک ردیف؟name می‌تواند چندین بار ظاهر شود، برای هر ایمیل یک بار.
یک مثال دیگر از پرسمان SPARQL که سؤال «پایتخت‌های همهٔ کشورهای در آفریقا کدامند؟» را برمی‌گرداند: PREFIX ex:  SELECT ?capital WHERE در اینجا متغیرها به وسیلهٔ یک پیشوند؟ یا $ مشخص می‌شوند. اتصالات به؟capital و؟country برگردانده می‌شود. وقتیکه یک سه تایی به وسیله یک سمیکالن تمام می‌شود، موضوع از این سه تایی به صورت ضمنی جفت بعدی را پر می‌کند، و این موضوع تا انتهای سه تایی ادامه می‌یابد؛ بنابراین، برای مثال ex:isCapitalOf ?y یک خلاصه برای؟x ex:isCapitalOf ?y می‌باشد.
پردازشگر پرسمان اسپارکل به دنبال مجموعه‌های سه تایی می‌گردد که با این چهار الگوی سه تایی منطبق می‌باشند، و متغیرهای موجود در پرسمان را با قسمت‌های متناظر هر سه تایی متصل می‌کند. آنچه که در اینجا باید توجه کرد، «جهت‌گیری ویژگی» است، (یک کلاس فقط از طریق هدایت‌های ویژگی‌های کلاس، منطبق می‌شود، تایپ‌دهی اردکی را ببینید).
برای مختصر کردن پرسمان‌ها، اسپارکل به ما اجازه تعریف پیشوند، و URI‌های مبنی را، به یک روش مشابه می‌دهد. در این پرسمان، پیشوند ex برای “http://example.com/exampleOntology#” استفاده شده‌است.
پیاده‌سازی‌های اسپارکل متن باز مرجع