Laboratuar Notları #4 - the CyberSoft Bilişim Teknolojileri Home Page

Transkript

Laboratuar Notları #4 - the CyberSoft Bilişim Teknolojileri Home Page
The European Union’s “Making the Labour Market more
Inclusive III” programme For “North Cyprus”
Upgrading Internet Technology skills
of Information and Communication
Technologies (ICT) Professionals
Module 4: Semantic Web
Modül 4: Anlamsal Ağ
Laboratuar Notları #4
A project implemented by
CyberSoft Bilişim Teknolojileri Ltd.
This project is funded by European Union. The
contents of this publication are the sole responsibility
of Cybersoft Bilişim Teknolojileri Ltd. and can in no
way be taken to reflect the views of the European
Union.
İçerik
Bölüm 4: Resource Description Framework (RDF)
1. RDF Nedir? ...................................................................................................................................... 1
2. RDF’in Yapıtaşları ........................................................................................................................... 1
3. RDF’in Ana Elemanları ................................................................................................................... 3
3.1. <rdf:RDF> Elementi ................................................................................................................. 3
3.2. <rdf:Description> Elementi ...................................................................................................... 3
4. RDF Container Elementleri.............................................................................................................. 4
4.1 <rdf:Bag> Elementi ................................................................................................................... 4
4.2 <rdf:Seq> Elementi ................................................................................................................... 5
4.3 <rdf:Alt> Elementi .................................................................................................................... 5
5. RDF Kolleksiyonları ........................................................................................................................ 6
6. RDF Schema (RDFS) ....................................................................................................................... 6
7. RDF Dublin Core Metadata Initiatives ............................................................................................ 8
1. RDF Nedir?
Kaynak Tanımlama Çerçevesi (Resource Description Framework (RDF)), web ortamındaki
nesnelerin (kaynakların), kaynak özelliklerinin (title, author, modification date, content, ve copyright
gibi) ve özellik değerlerinin tanımlanması fikrine dayanır. RDF, bilgiyi makinanın anlayabileceği bir
biçimsel bir yolla ifade eder. RDF in amacı, kaynakların belirli bir yazılımın anlayabileceği bir şekilde,
başka bir deyişle, veriye erişip veriyi kullanabileceği şekilde ifade edilmesini sağlayan kodlama ve
çevirme mekanizmaları sağlamaktır.XML dilinde yazılmıştır. RDF’in örnek kullanımları şunlardır:




Alışveriş malzemelerinin fiyat ve stokta olup olmadığı gibi özelliklerinin tanımlanmasında
Web sayfalarının içerik, yazar, yaratılma bilgileri vb. hakkında bilgiler verme
Web ortamındaki fotoğrafların içeriği ve görülme sıklıgı hakkında bilgi verme
Arama motorlarının içeriği hakkında bilgi verme
2. RDF’in Yapıtaşları
RDF ifadelerinde yer alan kaynak, özellik, değer üçlüleri RDF’in temelini oluşturur.

Kaynaklar (Resources): Üzerinde konuşulan her tür varlık bir kaynak olarak ele alınır. Mesela
"http://www.info.com/rdf"
Özellikler (Properties) : Özel türde kaynaklardır. "author" veya "homepage" gibi
Değerler (Values): Kaynakların özelliklerinin aldığı değerlerdir. Basit veri türünde
olabilecekleri gibi başka URI’lerde değer olarak kullanılabilir. “Dilek Beyaz” veya
http://www.info.com/rdf gibi
Örnek 1:
<?xml version= “1.0” encoding = “UTF-16” ?>
<rdf:RDF
xmlns:rdf = http://www.w3c.org/1999/02/22-rdf-syntax-ns#
xmlns:üniversiteModel= file://d:/UM/universite-rdf-ns# >
<rdf:Description rdf:about = “Ahmet Ali Süzen ”>
<üniversiteModel:sorumlusu>Yapay Zeka<üniversiteModel:sorumlusu>
</rdf:Description>
</rdf:RDF>
RDF Statement:
RDF yapısında anlamlar RDF üçlüleri kullanılarak ifade edilir. Resource (subject), Property
(predicate), ve Property (object) değerleri üçlüsüne Statement denir. Herbir statement bir özne,
yüklem ve nesne (subject-predicate-object) birleşiminden oluşur. Bir RDF dökümanında, birtakım
şeylerin (özneler=insanlar, web sayfaları,vb..) bazı özelliklerinin (property=”-in kızkardeşi”,”-ın
yazarı”, vb..) sahip olduğu bazı değerler (başka bir insan, web sayfası, vb..) ifade edilebilir.
Daha iyi anlamak için bir örnek inceleyelim:
Örnek olarak "Gökyüzü mavi renge sahiptir." bilgisini RDF olarak gösterilişi, özellikle formatlanmış
bir metin üçlüsü olark ifade edilebilir: özne "gökyüzü", yüklem "renge sahiptir" ve nesne "mavi".
Diğer bir örnek ise 'New York, NY kısaltılmış posta koduna sahiptir.', 'New York' özne, 'kısaltılmış
posta koduna sahiptir' yüklem, 'NY' ise nesne olarak kabul edilebilir.
1
Örnek 2.
Title
Artist
Country
Company
Price
Year
Empire Burlesque
Bob Dylan
USA
Columbia
10.90
1985
Hide your heart
Bonnie Tyler
UK
CBS Records
9.90
1988
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide your heart">
<cd:artist>Bonnie Tyler</cd:artist>
<cd:country>UK</cd:country>
<cd:company>CBS Records</cd:company>
<cd:price>9.90</cd:price>
<cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>


RDF dökümanının ilk satırı XML tanımlamasıdır. XML tanımlamasından sonra RDF
dökümanlarının root (kök) elementi olan <rdf:RDF> satırı gelir.
The xmlns:rdf namespace, rdf ile başlayan prefix’lerin http://www.w3.org/1999/02/22-rdfsyntax-ns# sayfasında tanımlandığını gösterir.
2



The xmlns:cd namespace, cd ile başlayan prefix’lerin http://www.recshop.fake/cd# sayfasında
tanımlandığını gösterir.
The <rdf:Description> elementi rdf:about attribute tarafından belirtilen kaynağın
tanımlanması için kullanılır.
<cd:artist>, <cd:country>, <cd:company> gibi elementler ise kaynağın özellikleridir.
3. RDF’in Ana Elemanları
RDF’in ana elemanlar kök elementi olan <RDF> ve kaynak bilgisini içeren <Description>’dır.
3.1 <rdf:RDF> Elementi

<rdf:RDF> RDF dökümanının kök elementidir. XML dökümanının RDF dökümanı olacağını
tanımlar. Aynı zamanda RDF namespace’ini reference’ını gösterir.
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
...Description burada olur...
</rdf:RDF>
3.2
The <rdf:Description> Elementi
<rdf:Description> elementi kaynak hakkındaki bilgileri veren elementleri içerir.
Örnek 3:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
</rdf:RDF>


about elementi kaynak hakkındaki bilgileri içerir.
artist, country, company, price, ve year elemetleri http://www.recshop.fake/cd#
namespace’inde tanımlanmıştırlar.
4. RDF Container Elementleri
3
RDF container’leri grup şeklindeki elementleri tanımlamada kullanılır.
Grup tanımlamada kullanılan RDF container elementleri şunlardır:
<Bag>, <Seq>, ve <Alt>.
4.1 <rdf:Bag> Elementi
<rdf:Bag> elementi sıralı olmayan değerlerin liste şeklinde tanımlanmasında kullanılır.
<rdf:Bag> elementi aynı değerden birden fazla içerebilir.
Örnek 4:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Bag>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>George</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Bag>
</cd:artist>
</rdf:Description>
</rdf:RDF>
4.2 <rdf:Seq> Elementi
<rdf:Seq> elementi değerleri sıralı bir liste şeklinde (örneğin harf sırasına göre) tanımlanmasında
kullanılır.
<rdf:Seq> elementi aynı değerden birden fazla içerebilir.
Örnek 5:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
4
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Seq>
<rdf:li>George</rdf:li>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Seq>
</cd:artist>
</rdf:Description>
</rdf:RDF>
4.3 <rdf:Alt> Elementi
The <rdf:Alt> elementi alternatifli değerler listesini tanımlamada kullanılır( kullanıcı sadece bir değer
seçebilir).
Örnek 6:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:format>
<rdf:Alt>
<rdf:li>CD</rdf:li>
<rdf:li>Record</rdf:li>
<rdf:li>Tape</rdf:li>
</rdf:Alt>
</cd:format>
</rdf:Description>
</rdf:RDF>
Yukarıdaki container elementlerini tanımlarken değerler listesinden bahsetmiştik. RDF’de bu değerler
listesindeki her bir elemana “member” denir. Dolayısıyla,


Bir container değerler içeren kaynaktır.
Containerin içindeki her bir değere member denir.
5
5. RDF Kolleksiyonları (Collections)
RDF kolleksiyonları SADECE belirli member’leri içeren gruplara denir. RDF container’le farkı şudur:
RDF container’ler başka member’ler de içerebilirler ama RDF kolleksiyonları içeremezler.
Bir RDF collection’ı rdf:parseType="Collection" attribute’ü ile tanımlanır.
Örnek 7:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://recshop.fake/cd#">
<rdf:Description
rdf:about="http://recshop.fake/cd/Beatles">
<cd:artist rdf:parseType="Collection">
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/George"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/John"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Paul"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Ringo"/>
</cd:artist>
</rdf:Description>
</rdf:RDF>
6. RDF Schema (RDFS)
RDF Schema (RDFS) RDF’in genişletilmiş halidir. RDF kaynakları sınıflar (classes), özellikler
(properties) ve değerler (values) şeklinde tanımlar.
Ancak bunlara ek olarak uygulamaya-özel (application-specif) sınıfların ve özelliklerin tanımlanması
da gereklidir. İşte bu uygulamaya-özel sınıfların ve özelliklerin nımlanmasında RDF extensions’ların
(uzantınlarının) kullanılması gereklidir. Bu RDF uzantılarından bir tanesi de RDF Şemalarıdır.
RDF Schema (RDFS)
RDF Schema aslında uygulamaya-özel sınıflar ve özellikler içermezler, sadece bunlar için bir
framework sağlarlar. RDF Schema’lardaki sınıflar object-oriented programlama dillerindeki sınıflara
benzerler. Bu özellik kaynakların sınıflar ve alt sınıflar şeklinde tanımlanmasını sağlar.
RDFS Örneği:
Aşağıdaki örnek RDFS’in özelliklerini daha iyi anlamanızı sağlaycaktır:
6
Örnek 8:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">
<rdf:Description rdf:ID="animal">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>
<rdf:Description rdf:ID="horse">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>
</rdf:RDF>
Mesela, yukarıdaki örnekte "horse" kaynağı "animal" sınıfının alt sınıfıdır.
Örnek 9: RDFS sınıfları da bir RDF kaynağıdır. Dolayısıyla yukarıdaki örneği rdf:Description yerine
rdfs:Class kullanıp, rdf:type’ı iptal ederek şu şekilde yazabiliriz:
<?xml version=”1.0”?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">
<rdfs:Class rdf:ID="animal" />
<rdfs:Class rdf:ID="horse">
<rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>
</rdf:RDF>
7
7. RDF Dublin Core Metadata Initiative
Dublin Core elektronik ortamdaki bilgi kaynaklarının tanımlanması için kullanılan bir meta veri
standartıdır ve dökümanları tanımlamak için bazı önceden tanımlanmış özellikler yarattılar. Dublin
Core meta veri kümesi aşağıdaki tabloda verilmiştir:
Özellik
Açıklama
Contributor An entity responsible for making contributions to the content of the resource
Coverage
Kaynakların içerik alanlarını (sınırlarını) tanımlar.
Creator
An entity primarily responsible for making the content of the resource
Format
The physical or digital manifestation of the resource
Date
A date of an event in the lifecycle of the resource
Description An account of the content of the resource
Identifier
An unambiguous reference to the resource within a given context
Language
A language of the intellectual content of the resource
Publisher
An entity responsible for making the resource available
Relation
A reference to a related resource
Rights
Information about rights held in and over the resource
Source
A Reference to a resource from which the present resource is derived
Subject
A topic of the content of the resource
Title
Kaynak adı
Type
Kaynak içerik tipi
RDF Dublin Core Örneği:
Aşağıdaki örnek Dublin Core property’lerinin RDF dökümanında kullanımını göstermektedir:
Örnek 10:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
xmlns:dc= "http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://www.w3schools.com">
<dc:description>W3Schools - Free tutorials</dc:description>
<dc:publisher>Refsnes Data as</dc:publisher>
<dc:date>2008-09-01</dc:date>
<dc:type>Web Development</dc:type>
<dc:format>text/html</dc:format>
<dc:language>en</dc:language>
</rdf:Description>
</rdf:RDF>
9

Benzer belgeler

5 puan - Piazza

5 puan - Piazza 2. RDF’in Yapıtaşları ........................................................................................................................... 1 3. RDF’in Ana Elemanları ...........................

Detaylı