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
2. RDF’in Yapıtaşları ........................................................................................................................... 1
3. RDF’in Ana Elemanları ...........................