طرح‌واره آردی‌اف

**طرح‌واره آردی‌اف** (به انگلیسی&#x3A; RDF Schema) (یا طرح‌واره چارچوب توصیف منبع، با کوته‌نوشت‌های **RDFS** **RDF(S)** ،**RDF-S**، یا **RDF/S**) مجموعه‌ای از کلاس‌ها و ویژگی‌های معین است که از مدل داده نمایش دانش گسترش‌پذیر RDF استفاده می‌کند. هدف از RDFS فراهم کردن عناصر اساسی برای توصیف هستی‌شناسی‌ می‌باشد. RDFS از دایره واژه‌های RDF که برای سازماندهی به منابع RDF در نظرگرفته شده‌اند، استفاده می‌کند. RDF و RDFS را می‌توان در یک تریپل‌استور ذخیره کرد، و سپس با استفاده از یک زبان پرسمان مثل اسپارکل اطلاعات خاصی را استنتاج نمود.

اولین انتشار RDFS در آوریل ۱۹۹۸ و توسط ائتلاف وب جهان‌گستر رخ داد، و آخرین انتشار آن در فوریه ۲۰۱۴ می‌باشد. بیشتر مولفه‌های RDFS در «زبان هستی‌شناسی وب» یا OWL (که یک زبان پبچبده‌تر است) هم وارد شده‌اند.

## ساختارهای اصلی RDFS
ساختارهای RDFS همان «کلاس‌ها» و «ویژگی‌ها» آن هستند، همچنین شامل «ویژگی‌های کاربردی» است که بر اساس دایره واژه محدود RDF ساخته شده‌اند.

### کلاس‌ها
* **rdfs:Resource** کلاسی برای همه چیز است. هر چیزی که توسط RDF توصیف شود، «منبع» نام دارد.
* **rdfs:Class** اعلام می‌کند که یک منبع کلاسی برای منابع دیگر است.

یک مثال معمول برای rdfs:Class، کلاس foaf:Person در دایره واژه آشنای یک آشنا (FOAF) است. یک نمونه از foaf:Person، یک منبع است، که از طریق ویژگی rdf:type به کلاس foaf:Person پیوند داده شده‌است، مثلاً موقعی که در یک جمله از زبان طبیعی می‌گوییم «آقای جان یک انسان است» توسط عبارت صوری اینگونه بیان می‌شود:

*ex:John➞➞ rdf:type➞➞ foaf:Person*

تعریف rdfs:Class یک تعریف بازگشتی است، یعنی rdfs:Class کلاسی از کلاس‌ها است و بنابراین نمونه ای از خودش است.

*rdfs:Class➞➞ rdf:type➞➞ rdfs:Class*

در زیر دیگر کلاس‌هایی که توسط مشخصات RDF و RDFS توصیف شده‌اند، آمده‌است:
* **rdfs:Literal**: شامل مقادیر راستین‌نمادی مثل رشته یا عدد صحیح است. مقادیر ویژگی (مثل رشته‌های متنی)، مثال‌هایی از راستین‌نماد RDF هستند. راستین‌نمادها می‌توانند ساده یا نوع‌دار باشند.
* **rdfs:Datatype**: همان کلاس نوع‌داده است. کلاس rdfs:Datatype هم نمونه و هم زیر کلاسی از rdfs:Class است. هر نمونه از rdfs:Datatype زیرکلاسی از rdfs:Literal هم هست.
* **rdf:XMLLiteral**: کلاسی برای مقادیر راستین‌نماد XML است. rdf:XMLLiteral نمونه‌ای از rdfs:Datatype و همچنین نمونه‌ای از rdfs:Literal می‌باشد.
* **rdf:Property**: همان کلاس ویژگی‌ها است.

### ویژگی‌ها
ویژگی‌ها نمونه‌هایی از کلاس rdf:Property هستند، و توصیف کننده یک رابطه بین منابع «فاعل» و «مفعول» هستند. در هنگام استفاده، این ویژگی‌ها «گزاره»  نامیده می‌شوند (جسمیت بخشی به RDF را ببینید).
* **rdfs:domain** برای یک rdf:Property، کلاس «فاعل» را در یک سه‌تایی اعلام می‌کند، که این ویژگی، «گزاره» آن است.
* **rdfs:range** برای یک rdf:Property، کلاس یا نوع‌داده «مفعول» را در یک سه‌تایی اعلام می‌کند، که این ویژگی «گزاره» آن است.

در مثال زیر، دو اعلامیه آمده‌است که از آن برای اعلام آنکه ویژگی ex:employer یک فاعل از نوع foaf:Person را به یک مفعول از نوع foaf:Organization مرتبط می‌کند:

```
''ex:employer➞ rdfs:domain ➞ foaf:Person''

''ex:employer➞ rdfs:range➞ foaf:Organization''
```

اگر دو اعلامیه قبل را داشته باشیم، از سه‌تایی زیر:

```
''ex:John➞➞ ex:employer➞ ex:CompanyX''
```

می‌توان استنتاج کرد که ex:John از نوع foaf:Person است و ex:CompanyX از نوع foaf:Organization است.
* **rdf:type** یک ویژگی است که از آن برای بیان آنکه یک منبع نمونه‌ای از یک کلاس است، استفاده می‌شود. یک شایسته‌نام بسیار معروف برای این ویژگی، "a" است.
* **rdfs:subClassOf** به ما امکان اعلام سلسله‌مراتبی از کلاس‌ها را می‌دهد.

مثال زیر جمله «هر انسان یک عامل است» را اعلام می‌کند:

*foaf:Person➞ rdfs:subClassOf➞ foaf:Agent*

در سلسله‌مراتب کلاس‌ها، ارث‌بری «دامنه و برد» ویژگی، از یک کلاس به زیرکلاس‌هایش، حفظ می‌شود (تعاریف بخش بعد را ببینید).
* **rdfs:subPropertyOf** نمونه‌ای از rdf:Property است که از آن برای بیان آنکه هر دو منبع مرتبط با یک ویژگی توسط دیگری هم مرتبط است استفاده می‌شود.
* **rdfs:label** یک نمونه از rdf:Property است، که از آن برای ایجاد ورژن انسان-خواندنی از نام منبع استفاده می‌شود.
* **rdfs:comment** نمونه ای از rdf:Property است که از آن برای ایجاد یک توصیف انسان-خواندنی از یک منبع استفاده می‌شود.

### ویژگی‌های کاربردی
* **rdfs:seeAlso** نمونه‌ای از rdf:Property است که از آن برای اعلام آنکه یک منبع، که ممکن است «اطلاعات اضافی» دربارهٔ منبع فاعل بدهد، استفاده می‌شود.
* **rdfs:isDefinedBy** یک نمونه از rdf:Property است که از آن برای اعلام آنکه یک منبع «تعریف کننده» منبع فاعل است استفاده می‌شود. از این ویژگی می‌توان برای اعلام یک دایره واژه RDF، که توسط آن یک منبع توصیف می‌شود، استفاده کرد.

## مثال‌هایی از دایره‌واژه RDF
دایره واژه‌های مردمی RDF که توسط RDF نمایش می‌یابد شامل:
* FOAF: منبع آن صفحه http://xmlns.com/foaf/spec/ که یک RDFS است که در نحو RDFa نوشته شده‌است.
* Dublin Core: یک منبع RDFS است که در چندین نحو در دسترس است.
* Schema.org: منبع صفحه http://schema.org/docs/schema_org_rdfa.html یک RDFS است که توسط نحو RDFa نوشته شده‌است.
* Simple Knowledge Organization System یا SKOS: در صفحه http://www.w3.org/TR/skos-reference/skos-xl.rdf که یک هستی‌شناسی OWL برای دایره واژه SKOS است، که از نحو OWL RDF/XML استفاده می‌کند، و از این نظر، از تعدادی از کلاس‌ها و ویژگی‌های RDFS استفاده می‌کند.

## پیامد منطقی در RDFS
یک نظام پیامد منطقی، با استفاده از RDFS (یا OWL و غیره)، نه تنها تعیین‌کننده نوع رابطه پیامد منطقی استفاده شده‌است، بلکه تعیین می‌کند که کدام پرسمانها یا گراف‌ها برای این نظام، خوش-فرم هستند. پیامد منطقی در RDFS، یک «رابطه پیامد منطقی استاندارد» در وب معنایی است.

کدهای مثال زیر اعلام می‌کنند که «Dog1 یک حیوان است»، «Cat1 یک گربه است»، «باغ‌وحش محل حیوانات است»، و «در zoo1 گربه Cat2 موجود است»:

```
ex:dog1 rdf:type ex:animal
ex:cat1 rdf:type ex:cat
zoo:host rdfs:range ex:animal
ex:zoo1 zoo:host ex:cat2
```

اما این گراف خوش-فرم نیست، زیرا این سامانه نمی‌تواند حدس بزند که "گربه یک حیوان است". اگر ما اعلامیه «گربه‌ها حیوان هستند» را اضافه کنیم، یک گراف خوش-فرم را خواهیم ساخت:

```
ex:cat rdfs:subClassOf ex:animal
```

در زیر مثال صحیح آمده‌است:

اگر تریپل‌استور (یا پایگاه داده RDF) نظام پیامد منطقی را برای RDF و RDFS پیاده‌سازی کرده باشد، پرسمان اسپارکل زیر (که در آن کلیدواژه "a" معادل rdf:type در اسپارکل است):

```sparql
PREFIX ex: <http://example.org/>
SELECT ?animal
WHERE
  { ?animal a ex:animal . }
```
نتیجه زیر را به دست می‌دهد: (دقت کنید که cat1 نیز در آن موجود هست، زیرا نوع Cat، نوع Animal را به ارث می‌برد)

## منابع

رده:آردی‌اف
رده:استانداردهای وب
رده:زبان‌های نمایش دانش
رده:وب معنایی
رده:استانداردهای ائتلاف وب جهان‌گستر