Genel alt sınıf aksiyomlarını kullanarak OWL'de oldukça karmaşık bazı koşullu cümleleri temsil edebilirsiniz. Birkaç örneğe bakalım. Eğer biraz daha basit bir şey çalışıyorduysanız, en az beş köpeklerle öğrencisidir x eğer bütün x" niceliksel koşullu için kısaltmadır
Students with at least five dogs have at least one cat.
, sonra x en az olduğu görüşünde bir kedi, sen olanlar hem anonim sınıf ifadelerdir
(Student and hasPet min 5 Dog) subClassOf (hasPet some Cat)
ile OWL yapabilirsiniz, ancak bazı İşleri basitleştirmek için bazı eşdeğer sınıfları tanımlayabilirsiniz:
StudentWithAtLeastFiveDogs equivalentClass (Student and hasPet min 5 Dogs)
CatOwner equivalentClass (hasPet some Cat)
StudentWithAtLeastFiveDogs subClassOf CatOwner
Şimdi, örneğiniz idi Bob bir öğrencidir, Bob'un 5 köpeği varsa, o zaman en az 1 kedisi vardır. Orada iki cümle var. Birinci kolayca ikinci biraz daha karmaşıktır
Bob a Student
tarafından kodlanmıştır. Bob'un, en az beş köpeği varsa, en az bir kedisi olan şeylerin sınıfının bir üyesi olduğunu söylüyorsun. A (malzeme) koşullu "P ise, o zaman Q", "(P değil) veya Q" ayrışmasına mantıksal olarak denktir. Yani Bob'un 'un'un en az beş noktaya sahip olduğu veya 'un en az bir kediye sahip olduğu şeylerin sınıfının bir üyesi olduğunu söylüyoruz. Bunun için sınıf ifadesi
(not (hasPet min 5 Dog)) or (hasPet some Cat)
Şimdi Bob hakkında bilgimiz
Bob a Student
Bob a (not (hasPet min 5 Dog)) or (hasPet some Cat)
Bunu anonim sınıf ifadesi için eşdeğer bir sınıfını tanımlamak verebilecek olmasıdır, ama en çok doğal olarak işlenecek şüphe duujjil. İşte Bob hakkında bu bilgiyi içeren bir ontoloji (N3 format cinsinden) aşağıdaki gibi görünür:
@prefix : <http://www.example.com/example#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
<http://www.example.com/example>
a owl:Ontology .
:Cat a owl:Class .
:Student
a owl:Class .
:Dog a owl:Class .
:hasPet
a owl:ObjectProperty .
:Bob a :Student , owl:NamedIndividual ;
a [ a owl:Class ;
owl:unionOf ([ a owl:Class ;
owl:complementOf
[ a owl:Restriction ;
owl:minQualifiedCardinality
"5"^^xsd:nonNegativeInteger ;
owl:onClass :Dog ;
owl:onProperty :hasPet
]
] [ a owl:Restriction ;
owl:onProperty :hasPet ;
owl:someValuesFrom :Cat
])
] .
Aynı yaklaşım veri türü özellikleri ve değerleri üzerinde kısıtlamalar için de kullanılabilir. Örneğin, "eğer Bob en az 60 kilo ağırlığındaysa, o zaman en az 180 cm boyunda," diyebiliriz ki, Bob'un en az 60 kilo ağırlığında olan şeylerin sınıfının bir öğesi olduğunu söyleyebiliriz. 180cm boyunda veya eşdeğerde, ya da ağırlığında en az 60 kg ağırlığa sahip olan veya en az 180 cm boyunda olan şeylerin sınıfı.
Bob is a student. If Bob has 5 dogs then Bob has at least 1 cat.
: Bu Attempto Controlled English (ACE) bir metindir
:Bob a [ a owl:Class ;
owl:unionOf ([ a owl:Class ;
owl:complementOf
[ a owl:Restriction ;
owl:onProperty :hasWeight ;
owl:someValuesFrom
[ a rdfs:Datatype ;
owl:onDatatype xsd:int ;
owl:withRestrictions
([ xsd:minInclusive 60
])
]
]
] [ a owl:Restriction ;
owl:onProperty :hasHeight ;
owl:someValuesFrom
[ a rdfs:Datatype ;
owl:onDatatype xsd:int ;
owl:withRestrictions
([ xsd:minInclusive 180
])
]
])
] .
değil ifadesi sadece Okutman bir OWL sınıftır. Konu bir OWL sınıftır" diyor "Songoku, o Matematik öğretir, bir öğretim görevlisi". Öğretiyor Söz konusu RDF pasajı alanı Öğretim ve aralık Konu ile özelliktir ." –
Evet, bu yüzden sorumu güncelledim :) – Songokute
Ah, bunu görmek güzel. :) Sağlanan cevap size uygun mu? –