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

از ویکی‌پدیا، دانشنامهٔ آزاد
طرح‌واره RDF
Resource Description Framework Schema
وضعیتمنتشر شده (پیشنهاد W3C)
سال شروع۱۹۹۸؛ ۲۳ سال پیش (۱۹۹۸)
آخرین ویرایش۱٫۱ (پیشنهاد W3C)
۲۵ فوریه ۲۰۱۴؛ ۶ سال پیش (۲۰۱۴-۰۲-25)
سازمانائتلاف وب جهان‌گستر (W3C)
ویراستاراندن بریکلی، راماناتان وی. گوها
استانداردهای پایهRDF
استانداردهای مرتبطOWL
دامنهوب معنایی
کوته‌نوشتRDFS
وبگاه

طرح‌واره آردی‌اف (به انگلیسی: 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 هستند، و توصیف کننده یک رابطه بین منابع «فاعل» و «مفعول» هستند. در هنگام استفاده، این ویژگی‌ها «گزاره» (به انگلیسی: predicate) نامیده می‌شوند (جسمیت بخشی به 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 نمایش می‌یابد شامل:[۶]

پیامد منطقی در 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

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

عبارت انگلیسی گراف متناظر
  • Dog1 is an animal
  • Cat1 is a cat
  • Cats are animals
  • Zoos host animals
  • Zoo1 hosts the Cat2
Regime entailment basic
RDF/turtle
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ex:   <http://example.org/> .
@prefix zoo:   <http://example.org/zoo/> .
ex:dog1    rdf:type     ex:animal .
ex:cat1    rdf:type     ex:cat .
ex:cat    rdfs:subClassOf  ex:animal .
zoo:host   rdfs:range     ex:animal .
ex:zoo1    zoo:host     ex:cat2 .

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

PREFIX ex: <http://example.org/>
SELECT ?animal
WHERE
  { ?animal a ex:animal . }

نتیجه زیر را به دست می‌دهد: (دقت کنید که cat1 نیز در آن موجود هست، زیرا نوع Cat، نوع Animal را به ارث می‌برد)

animal
<http://example.org/dog1>
<http://example.org/cat1>
<http://example.org/cat2>

پانویس[ویرایش]

  1. RDFS first version
  2. "XML and Semantic Web W3C Standards Timeline" (PDF). 2012-02-04. Archived from the original (PDF) on April 24, 2013.
  3. Final W3C recommendation
  4. FOAF Vocabulary Specification 0.99 by Dan Brickley, Libby Miller.
  5. DuCharme, Bob (2011). Learning SPARQL. Sebastopol, California, United States: O'Reilly Media. p. 36. ISBN 978-1-4493-0659-5.
  6. ۶٫۰ ۶٫۱ W3C RDF 1.1 Primer by Guus Schreiber and Yves Raimond
  7. DCMI term declarations represented in RDF schema language, Dublin Core Metadata Initiative

منابع[ویرایش]