**SPARUL**, বা **SPARQL/Update**, একটি ঘোষণামূলক ডেটা ম্যানিপুলেশন ভাষা যা SPARQL 1.0 কোয়েরি ভাষার মানের ভিত্তিতে তৈরি হয়েছে। SPARUL ট্রিপল স্টোর বা কোয়াড স্টোরের মধ্যে থাকা RDF ডেটা সন্নিবেশ, মোছা এবং আপডেট করার ক্ষমতা প্রদান করেছে। SPARUL মূলত হিউলেট-প্যাকার্ড তৈরি করেছিল এবং **SPARQL 1.1 আপডেট** শিরোনামের বর্তমান W3C সুপারিশের ভিত্তি হিসাবে ব্যবহার করা হয়েছে।  SPARQL 1.1 প্রকাশের সাথে সাথে, SPARUL কে বাতিল করা হয়েছে এবং কেবল SPARQL এর সম্ভাব্য ভবিষ্যতের পরিমার্জনগুলোর জন্য অনুপ্রেরণার উত্স হিসাবে বিবেচনা করা উচিত, কিন্তু বাস্তব-বিশ্বের অ্যাপ্লিকেশনগুলোর জন্য নয়।

উদাহরণ
------

একটি গ্রাফে কিছু ট্রিপল যোগ করা হচ্ছে। স্নিপেটটি RDF স্টোরের ডিফল্ট গ্রাফে ঢোকানোর জন্য দুটি RDF ট্রিপল বর্ণনা করে।

```
PREFIX dc: <http://purl.org/dc/elements/1.1/>
INSERT DATA
{ <http://example/book3> dc:title    "A new book" ;
                         dc:creator  "A.N.Other" .
}

```
এই SPARQL/Update অনুরোধে একটি মুছে ফেলার জন্য একটি ট্রিপল এবং যোগ করার জন্য একটি ট্রিপল রয়েছে (একটি বইয়ের শিরোনাম সংশোধন করতে এখানে ব্যবহার করা হয়েছে)। অনুরোধকৃত পরিবর্তনটি নামকৃত গ্রাফ যা এই ইউআরআই দ্বারা নির্দেশ করছে তার মধ্যে পরিবর্তনটি ঘটাবে।`http://example/bookStore.`

```
PREFIX dc: <http://purl.org/dc/elements/1.1/>

DELETE DATA FROM <http://example/bookStore>
{ <http://example/book3>  dc:title  "Fundamentals of Compiler Design" }

INSERT DATA INTO <http://example/bookStore>
{ <http://example/book3>  dc:title  "Fundamentals of Compiler Design" }

```
নীচের উদাহরণে পুরানো বইয়ের সমস্ত রেকর্ড মুছে ফেলার অনুরোধ রয়েছে (২০০০ সালের আগের তারিখ সহ)

```
PREFIX dc:  <http://purl.org/dc/elements/1.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

DELETE
 { ?book ?p ?v }
WHERE
  { ?book dc:date ?date .
    FILTER ( ?date < "2000-01-01T00:00:00"^^xsd:dateTime )
    ?book ?p ?v
  }

```
এই স্নিপেটটি একটি প্যাটার্নের উপর ভিত্তি করে এক নামকৃত গ্রাফ থেকে অন্য নামকৃত গ্রাফে রেকর্ড কপি করে।

```
PREFIX dc:  <http://purl.org/dc/elements/1.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

INSERT INTO <http://example/bookStore2>
 { ?book ?p ?v }
WHERE
  { GRAPH  <http://example/bookStore>
       { ?book dc:date ?date .
         FILTER ( ?date < "2000-01-01T00:00:00"^^xsd:dateTime )
         ?book ?p ?v
  } }

```
একটি প্যাটার্নের উপর ভিত্তি করে একটি নামকৃত গ্রাফ থেকে অন্য নামকৃত গ্রাফে রেকর্ডগুলো সরানোর উদাহরণ।

```
PREFIX dc:  <http://purl.org/dc/elements/1.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

INSERT INTO <http://example/bookStore2>
 { ?book ?p ?v }
WHERE
  { GRAPH  <http://example/bookStore>
     { ?book dc:date ?date .
       FILTER ( ?date < "2000-01-01T00:00:00"^^xsd:dateTime )
       ?book ?p ?v
     }
  }

```

```
DELETE FROM <http://example/bookStore>
 { ?book ?p ?v }
WHERE
  { GRAPH  <http://example/bookStore>
      { ?book dc:date ?date .
        FILTER ( ?date < "2000-01-01T00:00:00"^^xsd:dateTime )
        ?book ?p ?v
      }
  }

```

SPARQL/Update যারা ব্যবহার করছে
-------------------------------

* AllegroGraph
* ARQ
* D2R Server
* Jena
* OntoBroker
* Ontotext OWLIM
* Oracle DB Enterprise Ed.
* Parliament
* Redland / Redstore
* StrixDB supports SPARQL/Update 1.0.
* OpenLink Virtuoso Universal Server

SPARUL সমর্থনকারী ক্লায়েন্ট
----------------------------

* ট্যাবুলেটর

তথ্যসূত্র
---------

1. ↑  "SPARQL 1.1 Update"। *www.w3.org*। সংগ্রহের তারিখ ২০২১-০১-০৭।
2. ↑  "The Tabulator"

বহিঃসংযোগ
---------

* SPARQL/আপডেট W3C সদস্য জমা
* SPARQL 1.1 W3C SPARQL ওয়ার্কিং গ্রুপ থেকে প্রস্তাবিত সুপারিশ আপডেট করুন
* এডিটিংডেটা উইকি পৃষ্ঠা - লিঙ্ক করা ডেটা সম্পাদনা করার উপায়গুলির সারাংশ ( টিম বার্নার্স-লি দ্বারা রক্ষণাবেক্ষণ করা হয়েছে)