Tipurile de mai sus plus rdfs: Literal formează tipurile de date OWL încorporate. Toate raționamentele OWL sunt necesare pentru a suporta tipurile xsd: integer și xsd: string.
Alte tipuri de scheme încorporate XML pot fi utilizate în OWL Full, dar cu avertismentele descrise în documentul Sintaxa OWL Semantică și Rezumat OWL.
Anul proprietății conectează AnVintage cu valorile unui număr întreg pozitiv. Mai jos vom intra în proprietate are un Vintage. care conectează Vintage cu YearVintage.
Ajutorul OWL ([Referință], 6.2) descrie utilizarea owl: oneOf. rdf: Listă și rdf: odihnă pentru a determina tipul de date listat. Exemplul arată cum se creează un cont bufet: DatatypeProperty pentru un joc cu o gamă care include elemente din lista de valori întregi.
Mai întâi vom descrie indivizii din clasele Regionale și Vinăria. și apoi vom determina primul nostru vin, Cabernet Sauvignon.
Această definiție este încă incompletă. Există și alte aspecte ale buchetului de vin, care sunt definite într-o ontologie completă. Dar părțile cresc împreună. Am putea începe deja să vorbim despre elementele de meniu din ontologia noastră alimentară cu care vin vinul. Din ultima definiție, știm că este făcută în podgoria Santa Cruz. Ca și Cabernet Sauvignon (vezi wine.rdf), știm că este un vin roșu uscat.
În mod similar, valorile de proprietate pot fi adăugate persoanelor fizice. Mai jos, vom descrie un reprezentant al clasei YearVintage și îl vom asocia cu o anumită valoare de tip &xsd;positiveInteger.
Următoarele secțiuni descriu mecanismele utilizate pentru a defini mai precis proprietățile. Este posibil să se determine caracteristicile unei proprietăți, care oferă un mecanism puternic pentru îmbunătățirea raționamentului asupra proprietății.
3.3.1. TransitiveProperty
Dacă proprietatea P este definită ca tranzitivă, atunci pentru orice x, y și z:
Proprietatea este situată în zona tranzitivă.
Datorită faptului că regiunea Munților Moș Crăciun este situată în regiunea Kaliningrad. acesta trebuie să fie, de asemenea, localizat în Statele Unite. deoarece proprietatea este B-tranzitantă.
3.3.2. SymmetricProperty
Dacă proprietatea P este marcată ca simetrică, atunci pentru orice x și y:
Proprietatea este adiacentă ciclonului - una simetrică, în timp ce este situatăB - nu. Pentru a fi mai precis, B nu are intenția de a fi simetric. Dar, în prezent, nimic din ontologia vinului îl împiedică să fie simetric.
RegionMendocino este învecinată cu Regiunea ofonoma și invers. RegionMendocino este situat în regiunea California. dar nu invers.
3.3.3. FunctionalProperty
Dacă proprietatea P este marcată ca funcțională, atunci pentru orice x, y și z:
În ontologia noastră, proprietatea vinului are o Vintage funcțională. Fiecare vin are un an vintage unic. Astfel, această Vintage individuală poate fi asociată numai cu un singur an, folosind proprietatea are o epocă de epocă. În acest caz, owl: FunctionalProperty nu necesită ca toate elementele domeniului să aibă valori. Vedeți discuția despre cardinalitatea lui Vintage.
3.3.4. inverseOf
Dacă proprietatea P1 este marcată ca owl: inverseOf P2, atunci pentru toate x și y:
Rețineți că sintaxa pentru owl: inverseOf are ca argument argumentul proprietății. A dacă B înseamnă (A presupune B) și (B presupune A).
Vinurile au producători, care, prin definirea clasei de vinuri, se limitează la Vinăria. Apoi, fiecare cramă produce un set de vinuri care îl identifică ca producător.
3.3.5. InverseFunctionalProperty
Dacă proprietatea P este marcată ca fiind funcțională inversă, atunci pentru toate x, y și z:
Rețineți că produce vinul din secțiunea anterioară înapoi la funcționalitate. Motivul pentru aceasta este faptul că proprietatea inversă a proprietății funcționale trebuie să fie din nou funcțională. Am putea determina producătorul și să producem vinul după cum urmează, și ar avea același efect ca în exemplul anterior.
Luați în considerare elementele de domeniu ale inversului proprietății funcționale, definind un câmp cheie atunci când construiți baze de date. owl: InverseFunctional presupune că elementele de domeniu oferă un identificator unic pentru fiecare element de domeniu.
În OWL Full, putem marca DatatypeProperty ca fiind funcțional înapoi. Acest lucru ne permite să identificăm șirul ca o cheie unică. În DL OWL, literali (valori șir) sunt separate de owl: Thing și, prin urmare, OWL DL nu permite InverseFunctional să se aplice la DatatypeProperty.
3.4. Constrângeri de proprietate
În plus față de proprietățile caracterizate, puteți restricționa în continuare domeniul proprietății în anumite contexte în moduri diferite. Facem asta cu ajutorul constrângerilor de proprietate. Diferitele metode descrise mai jos pot fi utilizate numai în contextul "bufniță: Restricție". Elementul owl: onProperty indică o proprietate limitată.
3.4.1. Toate Valorile, de la unele valori
Am considerat deja o modalitate de a restricționa tipurile de elemente care alcătuiesc o proprietate. Până în prezent, aceste mecanisme au fost globale în sensul că acestea au fost aplicate tuturor reprezentanților acestei proprietăți. Următoarele două, toate valori și câteva valuri sunt locale pentru clasa care le conține.
Restricție bufniță: allValuesFrom prevede ca pentru fiecare reprezentant al unei clase care are această proprietate, toate valorile proprietăților au fost reprezentanții clasei definite în paragraful bufnița: allValuesFrom.
Vinificatorul trebuie să fie Vinăria. Restricționarea tuturor valvelor la o proprietate are un producător suprapus numai pentru această clasă de vinuri. Producătorii de brânză nu aplică această limitare locală.
owl: someValuesFrom acționează într-un mod similar. Dacă vom înlocui owl: allValuesFrom cu owl: someValuesFrom în ultimul exemplu. atunci aceasta ar însemna că cel puțin una dintre proprietăți are un producător pentru fiecare vin care ar trebui să indice un individ din clasa vinăriilor.
Diferența dintre aceste două formulări este diferența dintre o definiție universală și o existență a cantității.
Toate vinurile au cel puțin un producător, care este o fabrică de vinuri.
Prima atitudine nu impune ca vinul să aibă un producător. Dacă are unul sau mai mulți producători, atunci toți trebuie să fie vinări. A doua atitudine necesită existența a cel puțin unui producător-vinicol, dar pot exista și producători care nu sunt vinări.
Am văzut deja exemple de indicare a caracterului cardinal. Până în prezent, acesta a fost indicația unei minimalități cardinale. Mai exact, acesta a fost parametrul cardinalitate. care vă permite să specificați numărul exact de elemente dintr-un link. De exemplu, am indicat că clasa Vintage are un strict AnVintage.
Am cerut ca proprietatea să aibă un tip Vintage ca fiind funcțional, ceea ce este același lucru cu a spune că fiecare Vintage nu are mai mult de un AnVintage. Aplicarea acestei proprietăți la Vintage folosind constrângerea cardinalității stabilește o relație mai strictă pe care fiecare Vintage o are cu strictul AnVintage.
Expresiile de cardinalitate cu valori limitate la 0 sau 1 fac parte din OWL Lite. Acest lucru permite utilizatorului să rafineze relația dintre "cel puțin una", "nu mai mult de una" și "exact una". Valorile întregi pozitive, altele decât 0 și 1, sunt permise în OWL DL. owl: maxCardinality poate fi folosit pentru a specifica limita superioară. owl: minCardinality poate fi folosit pentru a specifica o limită inferioară. În combinație unele cu altele, ele pot fi folosite pentru a limita cardinalitatea unei proprietăți într-un interval numeric.
hasValue ne permite să definim clase bazate pe existența unor valori ale proprietății specifice. Prin urmare, individul va fi membru al acestei clase ori de câte ori cel puțin una dintre valorile sale de proprietate este egală cu resursa specificată de hasValue.
Aici afirmăm că toate vinurile burgunde sunt uscate. Asta este, proprietatea lor are o dulceață trebuie să aibă cel puțin o valoare egală cu Dry.
În ceea ce privește toateValuesFrom și someValuesFrom. aceasta este o constrângere locală. Se referă la proprietate are o dulce numai în ceea ce privește Burgundia.
Pentru ca ontologiile să aibă efect maxim, ele trebuie distribuite pe scară largă. Și pentru a minimiza efortul intelectual dedicat dezvoltării ontologiilor, ele trebuie să fie utilizate pentru repetarea utilizării. În cele mai bune dintre toate opțiunile posibile, acestea ar trebui să fie compuse din componente. De exemplu, ați putea folosi ontologia unei date dintr-o singură sursă și ontologia unei locații fizice de la o altă sursă și apoi extindeți conceptul de locație pentru a include perioada de timp în care locația este păstrată.
Este important să înțelegem că cea mai mare parte a efortului de a dezvolta o ontologie este dedicată asocierii clasei și proprietăților în așa fel încât să transmită cu precizie semnificația încorporată în concept. Vrem declarații simple despre statutul de membru în clasă pentru a avea consecințe largi și utile. Aceasta este cea mai dificilă parte a dezvoltării unei ontologii. Dacă găsiți o ontologie existentă deja utilizată și bine dezvoltată, atunci este logic să o adaptați pentru nevoile dvs.
De asemenea, va fi tentant să fuzionăm o întreagă colecție de ontologii. În acest caz, asistența instrumentelor speciale va fi aproape sigur necesară pentru a menține coerența.
4.1. Echivalența dintre clase și proprietăți
equivalentClass. equivalentProperty
Pentru a lega împreună un număr de ontologii incluse drept componente în unele treia ontologie, este adesea util să fie în măsură să precizeze că clasa de date sau proprietatea în clasa echivalentă o ontologie sau a proprietății într-o a doua ontologie. Această capacitate trebuie utilizată cu prudență. În cazul în care ontologiile combinate sunt contradictorii (toate A - B este, în toate celelalte A - B nu este) nu va fi nici o extensie (fără indivizi sau relații) care să satisfacă combinația rezultată.
În ontologia hranei, dorim să relaționăm caracteristicile vinului în descrierea mâncărurilor de prânz înapoi cu ontologia vinului. O modalitate de a face acest lucru este definirea unei clase în ontologia alimentelor (&food;Wine), și apoi declarați echivalent cu clasa de vinuri existente în ontologia vinului.
Proprietatea owl: equivalentClass este utilizată pentru a arăta că două clase au exact aceiași reprezentanți. Rețineți că în clasele OWL DL pur și simplu denotă seturi de indivizi, dar nu și indivizi. Cu toate acestea, în OWL Full, putem folosi owl: sameAs între două clase pentru a arăta că sunt identice în toate privințele.
Desigur, exemplul de mai sus este oarecum confuz, deoarece putem folosi întotdeauna &vin;Vinul este oriunde îl folosim # Vin. și ar primi aceleași efecte fără a se suprasolicita. O utilizare mai rezonabilă ar fi dacă am fi dependenți de două ontologii create independent și am observat că folosesc coloanele U1 O1: foo și O2: pentru a se referi la aceeași clasă. Pentru a le aduce împreună, bufnita: echivalentulClass ar putea fi folosit. și anume astfel încât postulatele din aceste două ontologii au fost combinate.
Texas Lucrurile sunt exact acele lucruri care se află în regiunea Texas. Diferența dintre utilizarea owl: equivalentClass și utilizarea rdfs: subClassOf este diferența dintre condițiile "necesare" și "necesare și suficiente". În cazul utilizării subclassOf, lucrurile situate în Texas nu aparțin neapărat clasei Texas Instruments. Dar atunci când folosiți owl: equivalentClass, tot ce se află în Texas ar trebui să fie în clasa Texas Tech.
Această aplicație oferă legături către introducerea standardelor pe care depinde OWL.
Pentru a înțelege pe deplin sintaxa și semantica OWL, trebuie să fiți familiarizați cu elementele de bază ale standardelor W3C și IETF enumerate mai jos. Cunoașterea minimă cu XML și RDF furnizează primele două link-uri de la cele sugerate mai jos.
Prima limbă definită de W3C pentru a reprezenta informații semantice despre resursele arbitrare a fost Resource Description Framework (RDF). Schema RDF (RDFS) este candidatul din recomandarea W3C pentru extensia RDF pentru a descrie dicționarele RDF. RDFS poate fi folosit pentru a crea ontologii, dar este extrem de ușor, cu o putere mai puțin expresivă decât OWL.
Ca și OWL, RDFS include clase și proprietăți, precum și limite de domeniu și domeniu pentru proprietăți. Oferă ierarhii de moștenire pentru ambele clase și proprietăți. După lansare, utilizatorii au început să solicite funcții suplimentare, inclusiv tipuri de date, enumerări și abilitatea de a defini mai strict proprietățile.
Alte încercări de cercetare în acest domeniu au dezvoltat deja aceste tipuri de caracteristici. Pentru cei care doresc să înțeleagă mai bine aceste probleme, vă oferim o listă parțială de proiecte și limbi:
Pentru a nu continua să lucreze cu limbile ontologice individuale pentru Web-ul Semantic, un grup de cercetători, inclusiv mulți dintre participanții majori la proiectele OIL și DAML-ONT, au fuzionat în comitetul comun american / Pentru a crea o nouă limbă pentru ontologiile web. Această limbă este DAML + OIL. construită pe baza OIL și DAML-ONT, a fost propusă în W3C ca bază propusă pentru OWL și a fost ulterior selectată ca punct de plecare pentru OWL.
În plus față de limbile ontologice, diferite taxonomii și ontologii existente sunt deja în uz comercial. În site-urile de comerț electronic, acestea facilitează comunicarea prin calculator între cumpărător și vânzător, permit integrarea verticală a piețelor și permite ca descrierile să fie reutilizate pe diferite piețe. Exemple de site-uri care creează de fapt ontologii pentru uz comercial includ:
- VerticalNet Rețeaua verticală conține în prezent 59 de e-piețe din industrie care acoperă o varietate de sectoare precum producția, comunicațiile, energia și asistența medicală.
Diferite ontologii medicale sau farmaceutice au fost dezvoltate pentru a ajuta la gestionarea unui vast număr de date din cercetarea medicală și biochimică modernă care pot fi dificil de a se uni într-un singur întreg. Una dintre principalele resurse este consorțiul de ontologii genetice. care definește ontologiile pentru
- funcțiile moleculare,
- procese biologice,
- componentele celulare.
Acest site are, de asemenea, indicii pentru ontologie pentru
- atribute secvențiale,
- atributele produselor genetice,
- substanțe chimice,
- moduri
- anatomie,
- patologii
- caracteristicile fizice,
- atributele experimentelor,
- clasificări.
Astăzi se folosesc taxonomii mari care ar fi gata pentru implementare în spațiul OWL. De exemplu, Sistemul de clasificare a industriei din America de Nord (NAICS) definește o ierarhie de peste 1900 de elemente care identifică tipurile de industrie. NAICS este, de asemenea, asociat cu Sistemul Internațional de Clasificare a Standardelor Industriale (ISIC, Revizia 3), dezvoltat și susținut de Organizația Națiunilor Unite.
Aceasta este prima versiune a documentului, care a fost tradusă în limba rusă. Modificări în versiunea originală în limba engleză, consultați documentul original