Erőforrások

Erőforrások #

Erőforrás #

Az erőforrás egy általános fogalom, amelyet a web-en, és a szemantikus web-en gyakran használunk. Lényegében a világban létező konkrét és absztrakt dolgokat értjük alatta. A resource-nak van két fontos tulajdonsága:

  • van egyedi azonossága, identitása (identity),
  • ábrázolható valamilyen módon (representation).

Tekintetbe véve a fenti két jellemzőt, a resource megfeleltethető a Domain Driven Design entity (entitás) és aggregate fogalmainak. A mi vizsgálatunk szempontjából a két dolgot azonosnak tekinthetjük, a lényeg, hogy egy adott dolgot egyértelműen tudjunk azonosítani, akár globálisan, akár egy szűkebb értelmezési tartományban, vagyis rendelkezzen legalább egy egyedi azonosítóval, valamint le tudjuk írni valamilyen formában.

A leírásnak sokféle formája lehet: szöveges, képi, számítógépes program kód, memóriabeli állapot, stb. Mi a szabványos reprezentációs formátumokra fogunk fókuszálni. Ezek közül is azokra, amelyek a tudás szimbolikus leírására lettek kidolgozva, mint például a szemantikus web számára.

Példák resource-okra:

  • konkrét, vagy elképzelt személyek
  • tárgyak
  • absztrakt fogalmak

Az alábbi kód részlet egy képzeletbeli személyt reprezentál JSON formátumban:

{
    "id": "<star-wars-universe:luke_skywalker>",
    "firstName": "Luke",
    "lastName": "Skywalker",
    "age": 23
}

Ugyanez a személy YAML reprezentációs formátumban:

---
id: <star-wars-universe:luke_skywalker>
firstName: Luke
lastName: Skywalker
age: 23

Két különböző reprezentáció, de ugyanaz a személy.

Tipikusan a resource-ok alkotják a tudásgráf csomópontjait, de gyakran előfordul olyan eset, hogy az entitások között fennálló kapcsolat, gráf él szerepel mint resource, amennyiben rá vonatkozóan akarunk további megállapításokat, szabályokat leírni.

IRI-k #

Az erőforrásokat, másként nevezve az entitásokat azonosítani kell. Erre szolgálnak az IRI-k. Az IRI az Internationalized Resource Identifier kifejezés rövidítése.

Az IRI egy Unicode string, amelynek a formátumát az RFC 3987 definiálja, és ami egyedileg azonosít egy entitást. Az IRI stringeket a < és > karakterek zárják közre, és a karaktereken és számokon kívül numerikus escape szekvenciákat is tartalmazhatnak. formájukban nagyon hasonlítanak az URI-kre, a Uniform Resource Identifier-ekre, mint amilyenek a webről jól ismert URL-ek.

Az IRI-k az URI-k általánosított változatának tekinthetők, Csak abszolút formában léteznek. Minden abszolút URI és URL IRI-ként tekintendő, viszont nem minden IRI számít URI-nek.

Az IRI-k alapértelmezés szerint globális hatáskörrel rendelkeznek. Ennek megfelelően egy IRI két különböző környezetben történő megjelenése ugyanazt az entitást jelenti.

Minden IRI egy jól meghatározott dolgot, erőforrást azonosít a tárgyalás körét jelentő világban. Az erőforrást, amire az IRI hivatkozik, és amit azonosít az azonosítás tárgyának (referent) nevezzük.

Példák IRI-kre:

<star-wars-universe:luke_skywalker>
<star-wars-universe:han_solo>
<35345322-543555-534534532>
<https://en.wikipedia.org/wiki/Millennium_Falcon>

Az IRI-k absztrakt dolgokat, fogalmakat is kifejezhetnek, mint például dolgok tulajdonságainak azonosítását, vagy a entitások közötti viszony kifejezését. Erre példa az alábbi néhány IRI:

<has>
<is>
<nameOf>
<foaf:knows>

Literál értékek #

Az erőforrásnak általában vannak tulajdonságai, amelyeket az ábrázolásban leírunk. Ezek a tulajdonságok valamilyen értéket vesznek fel.

Ilyen tulajdonság értékek például egy konkrét személy esetében a személy neve, születési időpontja, stb. a tulajdonságok értékei pedig a konkrét adatok (név, időpont) amiket az említett tulajdonságok felvesznek.

Ezeket a tulajdonság értékeket literál értékeknek, vagy csak egyszerűen literáloknak hívjuk.

A literál értékeknek megadhatjuk a típusát, pl.: string, egész szám, dátum, stb..

A típusokat postfix formában adjuk meg, az értékhez hozzáragasztva a ^^ jelöléssel

Példák típusokra:

"Dantooine"^^xsd:string
"23"^^<xsd:integer>

Azt is megadhatjuk, hogy milyen nyelven kell értelmezni az adott literál értéket. Ezt a nyelvi tag-gel, mint postfix-szel adhatjuk meg, a @ karaktert használva elválasztóként.

Példák nyelvi azonosításra:

"people"@en
"emberek"@hu

A nyelv azonosítása mellett az írás irányát is lehet, jelezni, és még sok finom részletet tárgyalnak a specifikációk, de ezek ismerete nem szükséges az itt leírtak megértéséhez és a Cayley használatához.