Resource Description FrameworkA Resource Description Framework (RDF) olyan World Wide Web Consortium- (W3C) szabvány, melyet eredetileg metaadatok adatmodelljének szántak, de később gráfadatok leírásának és cseréjének általános módszere lett. Az RDF számos szintaktikai jelöléssel és adatszerializációs formátummal rendelkezik; a leggyakrabban használt a Turtle (Terse RDF Triple Language). Az RDF hármas mondatokból álló irányított gráf. A gráfmondat részei: az alany csomópontja, az alanyból a tárgy felé haladó állítmánygörbe és a tárgy csomópontja. Mindhárom rész azonosítható URI-val, és a tárgy lehet literál. Ez az egyszerű és flexibilis adatmodell képes összetett helyzeteket, kapcsolatokat stb. leírni – miközben kellően absztrakt. Az RDF 1999-ben lett W3C-ajánlás. Az RDF 1.0 specifikációt 2004-ben, az RDF 1.1-et 2014-ben adták ki. Az RDF-gráfok standard lekérdezőnyelve a SPARQL. Az RDF-adatok leírása RDFS, OWL vagy SHACL ontológianyelven lehetséges. ÁttekintésAz RDF adatmodell[1] hasonlít a klasszikus fogalmi modellezési modellekhez (például az entitás–kapcsolat vagy az osztálydiagramok. Alapja az erőforrásokról (különösen webes erőforrásokról) szóló alany–állítmány–tárgy szerkezetű mondatok (szemantikai hármasok) megfogalmazása. Itt az alany az erőforrás, az állítmány az erőforrás tulajdonságait, jellemzőit határozza meg, kapcsolatot fejez ki az alany és a tárgy közt. Például „az RDF szemantikai hármasokat használ” mondat RDF-ben való megfogalmazása a következő: az alany „az RDF”, az állítmány a „használ”, a tárgy a „szemantikai hármasokat”. Tehát az RDF a tárgy helyett az alanyt használja az objektumorientált tervezés tipikus entitás–attribútum–érték modellje helyett: entitás (RDF), attribútum (használat), érték (szemantikai hármasok). Az RDF absztrakt modell néhány szerializációs formátummal (melyek gyakorlatilag speciális fájlformátumok). Ezenkívül az erőforrások vagy hármasok kódolása formátumonként eltérhet. Ez az erőforrás-leíró mechanizmus fontos komponens a W3C Semantic Web-aktivitásában: a világháló fejlődési szakasza, melyben a szoftver géppel olvasható információt képes cserélni, hozzáférni a világhálón, lehetővé téve, hogy a felhasználók hatékonyabban és biztosabban tudjanak hozzáférni az információhoz. Az RDF egyszerű adatmodellje és absztrakt fogalmak leírására való képessége az ettől független tudásmenedzsmentben is használatossá tette. Az RDF-mondatok irányított, jelölt multigráfot alkotnak. Ez egy RDF-adatmodellt a tudásreprezentáció egyes változataihoz megfelelőbbé tesz más relációs vagy ontológiai modelleknél. Az RDFS, a OWL és az SHACL RDF-alapú ontológiai nyelvek. TörténeteA kezdeti RDF-terv, melynek célja „operációs rendszerektől és cégektől független metaadatrendszer kiépítése”,[2] egy korai webtartalom-jelölő rendszer, a W3C Platform for Internet Content Selectionjének (PICS) származéka,[3] de a projektre hatással voltak a Dublin Core és a Meta Content Framework (MCF) ötletei,[2] melyeket 1995–1997 közt fejlesztett Ramanathan V. Guha az Apple-nél és Tim Bray a Netscape-nél.[4] Az első nyilvános RDF-vázlat 1997 októberében jelent meg,[5][6] és az IBM, a Microsoft, a Netscape, a Nokia, a Reuters, a SoftQuad és a Michigani Egyetem képviselőiből álló W3C-munkacsoport adta ki.[3] 1999-ben a W3C kiadta az első ajánlott RDF-specifikációt, a Model and Syntax Specificationt (RDF M&S).[7] Ez az RDF adatmodelljét és egy XML-szerializációt közölt.[8] Két állandó félreértés jelent meg ekkor az RDF-ről: az egyik, hogy az MCF-befolyás és az RDF „Resource Description” kezdete miatt hogy az RDF főképp metaadatok jelölésére használatos, a másik, hogy az RDF XML-formátum volt, nem adatmodell, és csak az RDF/XML szerializáció XML-alapú. Az RDF ekkor kevéssé volt ismert, de jelentős munkát végeztek a Bristoli Egyetemen az ILRT közelében, a HP Labsnél és a bostoni MIT-nél. Az RSS 1.0 és a FOAF az RDF fontos alkalmazásai lettek ekkor. Az 1999-es ajánlást hat specifikáció váltotta fel 2004-ben:[9] a „The RDF Primer”,[10] az „RDF Concepts and Abstract”,[11] az „RDF/XML Syntax Specification (revised)”,[12] az „RDF Semantics”,[13] az „RDF Vocabulary Description Language 1.0”[14] és a „The RDF Test Cases”.[15] E csoportot az alábbi hat RDF 1.1-dokumentum váltotta fel 2014-ben: az „RDF 1.1 Primer”,[16] az „RDF 1.1 Concepts and Abstract Syntax”,[17] az „RDF 1.1 XML Syntax”,[18] az „RDF 1.1 Semantics”,[19] az „RDF Schema 1.1”[20] és az „RDF 1.1 Test Cases”.[21] RDF-témákKifejezésekAz RDF specifikációk által meghatározott fontos kifejezések az alábbiak:[22] Osztályokrdf
rdfs
Tulajdonságokrdf
Az rdfs
E kifejezések az RDF-séma alapjai, mely ennek egy bővítménye. Szerializációs formátumok
Several common serialization formats are in use, including:
Az RDF/XML-t gyakran tévesen egyszerűen RDF-nek nevezik, mivel az RDF-et definiáló többi W3C-specifikáció közt szerepelt, és az első W3C-szabványos szerializációs formátum volt. Azonban fontos megkülönböztetni az RDF/XML-t az RDF-től. Bár az RDF/XML formátum még használatos, más RDF-szerializációt preferál sok RDF-használó, mind mert emberbarátabbak,[31] mind mert egyes RDF-gráfok nem írhatók fel RDF/XML-ben az XML QName-ek korlátai miatt. Erőforrás-azonosításEgy RDF-mondat alanya vagy URI vagy egy üres csomópont, melyek mindegyike erőforrást jelöl. Az üres csomópontok által jelölt erőforrások névtelen erőforrások. Nem azonosíthatók közvetlenül az RDF-mondatból. Az állítmány erőforrást azonosító URI erőforrást is jelöl, kapcsolatot jelképezve. Az objektum URI, üres csomópont vagy Unicode-karakterlánc-literál. Az RDF 1.1-ben az erőforrásokat Internationalized Resource Identifierek (IRI) azonosítják, melyek az URI általánosításai.[32] A Semantic Web-alkalmazásokban és az RDF egyes népszerű alkalmazásaiban, mint amilyenek az RSS és a FOAF (Friend of a Friend), az erőforrásokat a szándékosan a világhálón létező adatot jelölő és annak hozzáférésére használható URI-kat használ. Azonban az RDF nem korlátozódik internetalapú erőforrások leírására. Az erőforrást megnevező URI-nak nem is kell dereferálhatónak lenni. Például egy alanyként használt, „http:” kezdetű URI-nak nem szükséges HTTP-n keresztül elérhető erőforrást elérnie, és nem kell hálózatról elérhető erőforrást se jelölnie – egy ilyen URI gyakorlatilag bármit jelenthet. Azonban egyetértés van abban, hogy egy # nélküli URI, mely 300 szintű kódolt választ ad vissza HTTP GET kérésben a sikeresen elért erőforrást jelenti. Így az RDF-mondatok készítőinek és használóinak az erőforrás-azonosítók szemantikájában egyezniük kell. Ez nincs jelen magában az RDF-ben, azonban vannak gyakran használt irányított szókészletek, például a Dublin Core Metadata, mely részben RDF-ben használt URI-térhez van rendelve. Az RDF-alapú ontológiák közzététele gyakran körülírja az RDF-ben adatokhoz használt erőforrás-azonosítókat. Például az alábbi URI: http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#Merlot az egy borász által készített merlot-k osztályát jelenti, melyet az azt tartalmazó OWL ontológia fejez ki – mely maga is RDF dokumentum. A definíció nem megfelelő elemzése azon következtetést jelentheti, hogy az URI példánya egy dolog, nem bortípus. Ez nem „pucér” erőforrás-azonosító, hanem URI-hivatkozás, mely végén # van, és töredékazonosítóval ér véget. Mondatreifikáció és kontextus![]() A mondatok által modellezett információkon reifikáció végezhető, mely azt jelenti, hogy minden mondathoz URI-t rendelünk, és erőforrásként kezeljük, melyről további mondatok készíthetők, például „A azt mondja, B szerezte az X dokumentumot”. A reifikáció néha fontos a mondatok bizonyosságának vagy hasznosságának mértékének levezetéséhez. Egy reifikált RDF-adatbázisban minden mondatról legalább három további mondat van: egy, mely szerint az alany, egy, mely szerint az állítmány, és egy, mely szerint a tárgy erőforrás vagy literál. Alkalmazástól függően további mondatok fogalmazhatók meg egy mondatról. Egyes RDF-modell-megvalósítások csoportosítják a mondatokat különböző kritériumok szerint, melyeket szituációknak, kontextusoknak vagy hatóköröknek neveznek, ahogy Graham Klyne fogalmazott.[33][34] Például egy mondatnak lehet URI-val meghatározott kontextusa, mely „igaz ebben:” kapcsolatot határoz meg. Ezenkívül néha hasznos forrás szerint csoportosítani mondatokat, mely szintén URI-val azonosítható, például egy RDF/XML-dokumentum URI-jával. Ekkor a források frissítésekor a megfelelő mondatok is frissíthetők. A hatókörök implementációja nem igényel teljesen reifikált mondatokat. Egyes implementációk lehetővé tesznek egy hatókör-azonosító URI nélküli mondathoz rendelését.[35][36] Ugyanígy a nevezett gráfokban, ahol a hármasok egy halmazához URI tartozik, szintén reifikáció nélkül képesek kontextus meghatározására..[37] Lekérdező- és inferencianyelvekA leggyakoribb lekérdezőnyelv RDF-gráfokban a SPARQL, mely SQL-szerű nyelv, és 2008. január 15. óta W3C-ajánlás. Az alábbi egy afrikai országok fővárosait mutató lekérdezés fiktív ontológia használatával: PREFIX ex: <http://example.com/exampleOntology#>
SELECT ?capital ?country
WHERE {
?x ex:cityname ?capital ;
ex:isCapitalOf ?y .
?y ex:countryname ?country ;
ex:isInContinent ex:Africa .
}
További nem szabványos módszerek RDF-gráfok lekérdezésére:
A SHACL Advanced Features specifikáció[39] (W3C Working Group Note), melynek legfrissebb verzióját a SHACL Community Group kezeli, SHACL-szabályok támogatását írja le, ezt használják adattranszformációkra, inferenciákra és RDF-leképezésekre SHACL-alakzatokon alapulva. Ellenőrzés és leírásA legfőbb nyelv RDF-gráfok leírására és ellenőrzésére a SHACL (Shapes Constraint Language).[40] A SHACL specifikáció két részre van osztva (SHACL Core és SHACL-SPARQL). A SHACL Core beépített korlátok listáját (például számosság, értéktartomány) írja le, a SHACL-SPARQL SPARQL-alapú korlátokat és új korlátrészek deklarációjára való kiterjesztési mechanizmust ír le. További nem szabványos módszerek RDF-gráfok ellenőrzésére:
Példák1. példa: Egy Eric Miller nevű személy leírásaAz alábbi példa a W3C weblapjáról származik,[44] mely egy erőforrást ír le a „van Eric Miller nevű személy, aki a http://www.w3.org/People/EM/contact#me oldalon azonosítható, e-mail-címe e.miller123(at)example (biztonsági okokból megváltoztatva), és titulusa Dr.” mondatokkal. ![]() A „http://www.w3.org/People/EM/contact#me” az alany. A tárgyak:
Az alany egy URI. Az állítmányokhoz is tartoznak URI-k. Például ez esetben az URI-k:
Ezenkívül az alanynak is van típusa (http://www.w3.org/1999/02/22-rdf-syntax-ns#type), mely „személy” (URI: http://www.w3.org/2000/10/swap/pim/contact#Person). Így az alábbi „alany, állítmány, tárgy” RDF-hármasok fejezhetők ki:
Szabványos N-Triples formátumban ez így írható fel: <http://www.w3.org/People/EM/contact#me> <http://www.w3.org/2000/10/swap/pim/contact#fullName> "Eric Miller" .
<http://www.w3.org/People/EM/contact#me> <http://www.w3.org/2000/10/swap/pim/contact#mailbox> <mailto:e.miller123(at)example> .
<http://www.w3.org/People/EM/contact#me> <http://www.w3.org/2000/10/swap/pim/contact#personalTitle> "Dr." .
<http://www.w3.org/People/EM/contact#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/10/swap/pim/contact#Person> .
Ezzel ekvivalens módon így írható fel Turtle formátumban: @prefix eric: <http://www.w3.org/People/EM/contact#> .
@prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
eric:me contact:fullName "Eric Miller" .
eric:me contact:mailbox <mailto:e.miller123(at)example> .
eric:me contact:personalTitle "Dr." .
eric:me rdf:type contact:Person .
RDF/XML formátumban így írható fel: <?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#" xmlns:eric="http://www.w3.org/People/EM/contact#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://www.w3.org/People/EM/contact#me">
<contact:fullName>Eric Miller</contact:fullName>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/People/EM/contact#me">
<contact:mailbox rdf:resource="mailto:e.miller123(at)example"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/People/EM/contact#me">
<contact:personalTitle>Dr.</contact:personalTitle>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/People/EM/contact#me">
<rdf:type rdf:resource="http://www.w3.org/2000/10/swap/pim/contact#Person"/>
</rdf:Description>
</rdf:RDF>
2. példa: New York postai rövidítéseEgyes fogalmak az RDF-ben a logikából és a nyelvészetből származnak, ahol az alany–állítmány és alany–állítmány–tárgy szerkezetek jelentése hasonló, de különbözik az RDF-ben használtaktól is. Például a „New York postai rövidítése NY” mondatban New York az alany, a postai rövidítése az állítmány, NY a tárgy. RDF-hármasként kódolva az alanynak és az állítmánynak URI által megnevezett erőforrásnak kell lennie. Az objektum lehet erőforrás vagy literál. Például az N-Triples formában így néz ki az állítás: <urn:x-states:New%20York> <http://purl.org/dc/terms/alternative> "NY" .
E példában az urn:x-states:New%20York a New York államot jelentő erőforrás URI-ja, a http://purl.org/dc/terms/alternative az állítmány URI-ja, az „NY” literál. Látható, hogy az URI-k nem szabványosak, és nem kell azoknak lenniük, míg a jelentésük az olvasóknak ismert. 3. példa: Wikipédia-szócikk Tony BennrőlUgyanígy, ha a „https://en.wikipedia.org/wiki/Tony Benn” adott erőforrást azonosít (függetlenül attól, hogy az URI járható-e hivatkozásként, vagy hogy az erőforrás valóban Tony Benn Wikipédia-szócikke), hogy közölhesse, hogy az erőforrás címe Tony Benn, és a Wikipédián jelent meg, két állítás kifejezhető érvényes RDF-mondatokként. Az N-Triples változatban ezen állítások így néznek ki: <https://en.wikipedia.org/wiki/Tony Benn> <http://purl.org/dc/elements/1.1/title> "Tony Benn" .
<https://en.wikipedia.org/wiki/Tony Benn> <http://purl.org/dc/elements/1.1/publisher> "Wikipedia" .
Ez az információ ezt jelenti: „A Wikipédia által kiadott erőforrás címe Tony Benn”. Azonban az RDF formális, gép által érthető alakba írja az adatot. Célja kódolási és értelmezési mechanizmus létrehozása, hogy az erőforrások leírhatók legyenek úgy, hogy a szoftver értse, vagyis az hozzáférhessen és használhassa az információt, melyet egyébként nem tudna. A mondatok fenti változatai nem tömörek, mivel az RDF-erőforrásnak (akár alany, akár állítmány) egyedinek kell lennie. Az alanynak egyértelműnek kell lennie a leírt erőforrás egyértelmű meghatározásához. Az állítmánynak azért kell egyedinek lennie, hogy csökkentse az esélyét, hogy a cím vagy a kiadó fogalma a leírással dolgozó szoftvernek többértelmű legyen. Ha a szoftver a http://purl.org/dc/elements/1.1/title URI-t észleli (a címnek egy specifikus definíciója a Dublin Core Metadata Initiative által), tudni fogja azt is, hogy e cím eltér a földcímtől, a szerzett címtől vagy egyszerűen a t-i-t-l-e betűsorozattól. Az alábbi Turtle szintaxissal írt példa bemutatja, hogy az ilyen egyszerű állítások mennyire kidolgozhatók több RDF-szókinccsel. Itt látható, hogy a Wikipédia elsődleges témája egy személy, Tony Benn: @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
<https://en.wikipedia.org/wiki/Tony Benn>
dc:publisher "Wikipedia" ;
dc:title "Tony Benn" ;
foaf:primaryTopic [
a foaf:Person ;
foaf:name "Tony Benn"
] .
Alkalmazások
Az RDF-et használják továbbá közösségi hálózatok kutatására is. Ez segíti a üzleti dolgozóknak a jobb megértést és kapcsolatokat a hasznos iparok dolgozóival.[53] Ezenkívül az emberek kapcsolatainak megértését is segítheti. Az RDF-et használják továbbá a forgalmak jobb megértésében, mivel a forgalmi mintákról szóló információk eltérő weblapokon vannak, és az RDF a különböző webes forrásokról származó információ integrálására van. Korábban gyakori volt a kulcsszavas keresés, de ennek hátránya, hogy nem veszi a szinonimákat figyelembe. Ezért hasznosak az ontológiák. Azonban a forgalom teljes megértéséhez az emberekhez, utcákhoz, utakhoz kapcsolódó fogalmak is megértendők. Mivel ezek emberi fogalmak, szükség van fuzzy-logikára, mivel az utak leírásában hasznos értékek, például a csúszósság nem precíz fogalmak és nem mérhetők. Így a legjobb megoldás a fuzzy-logikát és az ontológiát is használhatja.[54] Kapcsolódó szócikkek
Jegyzetek
FordításEz a szócikk részben vagy egészben a Resource Description Framework című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként. Források
További információk
A Wikimédia Commons tartalmaz Resource Description Framework témájú médiaállományokat.
|
Portal di Ensiklopedia Dunia