25 Ocak 2011 Salı

Owl, Owl Belgesi Yazma (1)

OWL yazımına başlamadan önce hangi tür kelimelerin kullanılacağı tanımlanmalı.Bu tanımlar XML-Namespace düzeninde yapılmalıdır.
OWL’nin en önemli özelliği birçok veriyi dağıtık ortamlardan toplayabilir ve bunlarla ilgili çıkarsama yapabilir.

Ontoloji genel olarak; sınıflar, sınıflara ait özellikler, sınıfa ait örnekler ve bu örneklerin kendi aralarındaki ilişkilerini göstermektedir.

Owl yazımına başlayalım.

Sınıf Tanımlamaları

owl:thing  = Owl’de her sınıfın ait olduğu üst sınıftır.
owl:Nothing = OWL tarafından boş sınıf olarak tanımlanmaktadır.

Sınıf tanımlamasına örnek verelim:

<owl:class rdf:id="Magaza"/>
<owl:class rdf:id="Kullanici"/>

Burada Magaza ve Kullanici isminde sınıf tanımlamış olduk.

Rdf:ID = Sınıf isimlerinin tanımlandığı alandır.

-rdfs:subClassOf
Alt sınıf tanımlamak için kullanılır.

<owl:class  rdf:id="Musteri">
<rdfs:subclassof  rdf:resource="#Kullanici"/>
….
</owl:class>

Individuals
Bir sınıfa ait üyelerin tanıtılmasıdır.

<musteri rdf:id="Musteri1"/>

<owl:thing rdf:id="Musteri1"/>
<owl:thing rdf:about="#Musteri">
<rdf:type rdf:resource="Musteri"/>

Musteri sınıfına ait bir Musteri1 isminde bir üyeyi iki şekilde tanımladık.

Özelliklerin Tanımlanması

Datatype Properties: Daha çok nicelik tanımlamasıdır. Örneğin; Tip tanımlaması.
<owl:datatypeproperty rdf:id="Adi">
   <rdfs:domain rdf:resource="#Kullanici"/>
   <rdfs:range rdf:resource="&xsd;string/">
</owl:datatypeproperty>

Object Properties: Daha çok nitelik tanımlanamasıdır. Örneğin iki sınıf arasındaki bağlantı.
<owl:objectproperty rdf:id="sahiptir">
    <rdfs:domain rdf:resource="#Kullanici/">
    <rdfs:range rdf:resource="#Urunler"/>
</owl:objectproperty>

Restrictions
<owl:class rdf:about="#mathCourse">
   <rdfs:subclassof>
      <owl:restriction>
           <owl:onproperty rdf:resource="#isTaughtBy"/>
           <owl:hasvalue rdf:resource="#949318"/>
      </owl:restriction>
   </rdfs:subclassof>
</owl:class>

Bu örneğimizde matematik kursuna bir kısıtlama getirmişiz. Bu ders sadece 949318 numaralı kişi tarafından öğretilir.

Transitive Özellik
<owl:ObjectProperty rdf:ID="locatedIn">
  <rdf:type rdf:resource="&owl;TransitiveProperty"/>
     <rdfs:domain rdf:resource="&owl;Thing"/>
     <rdfs:range rdf:resource="#Region"/>
</owl:ObjectProperty>

Symmetric Özellik
<owl:ObjectProperty rdf:ID="adjacentRegion">
   <rdf:type rdf:resource="&owl;SymmetricProperty"/>
   <rdfs:domain rdf:resource="#Region"/>
   <rdfs:range rdf:resource="#Region"/>
</owl:ObjectProperty>

Functional Özellik
<owl:ObjectProperty rdf:ID="husband">
   <rdf:type rdf:resource="&owl;FunctionalProperty"/>
   <rdfs:domain rdf:resource="#Woman"/>
   <rdfs:range rdf:resource="#Man"/>
</owl:ObjectProperty>

Woman sadece bir Man'e sahip olabilir.

Inverse Functional Özellik
<owl:ObjectProperty rdf:ID="has social security number">
   <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
   <rdfs:domain rdf:resource="#Person"/>
   <rdfs:range rdf:resource="#SocialSecurityNumber"/>
</owl:ObjectProperty>

İki farklı nesne aynı social security number'a sahip olamaz.

InverseOf Özellik
<owl:ObjectProperty rdf:ID="hasChild">
   <owl:inverseOf  rdf:resource=#hasParent"/>
</owl:ObjectProperty>

hasChild, hasParent birbirinin tersidir. 

allValuesFrom,someValuesFrom Özelliği
<owl:Class rdf:ID="Wine">
  <rdfs:subClassOf  rdf:resource="food;PotableLiquid"/>
  ...
  <rdfs:subClassOf>
       <owl:Restriction>
            <owl:onProperty rdf:resource="#hasMaker"/>
            <owl:allValuesFrom rdf:resource="#Winery"/>       
</owl:Restriction>
</rdfs:subClassOf>
....
</owl:Class>


<owl:Class rdf:ID="Wine">
  <rdfs:subClassOf  rdf:resource="food;PotableLiquid"/>
  ...
  <rdfs:subClassOf>
       <owl:Restriction>
            <owl:onProperty rdf:resource="#hasMaker"/>
            <owl:someValuesFrom rdf:resource="#Winery"/>       
</owl:Restriction>   
</rdfs:subClassOf>
....
</owl:Class>

hasValue Özellik
<owl:Class rdf:ID="Burgundy">
...
  <rdfs:subClassOf>
      <owl:Restriction>
         <owl:onProperty  rdf:resource="#hasSugar"/>
         <owl:hasValue rdf:resource="#Dry"/>
       </owl:Restriction>
   </rdfs:subClassOf>
</owl:Class>


Devamı ikinci kısımda anlatılacaktır.





0 yorum:

Yorum Gönder