Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:miw:miw08_ard_rdf [2008/09/16 20:15]
miw
pl:miw:miw08_ard_rdf [2019/06/27 15:50]
Linia 1: Linia 1:
-====== Opis ====== 
-Rafał Szymczyk, <​raf.szymczyk@o2.pl>​ 
- 
-Zapis ARD przy pomocy RDF w XSLT 
- 
-====== Spotkania ====== 
-===== 08.03.04 ===== 
- 
-===== 08.03.18 ===== 
-  * repr atrybutów dla reguł RIF/OWL/RDF 
- 
-===== 080401 ===== 
-  * missed 
- 
-===== 080408 ===== 
-  * ??? 
- 
-===== 080422 ===== 
-  * to co na 18.3.2008 
- 
-====== Projekt ====== 
-jak sensownie repr. ard w rdf? 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-===== RDF===== 
-**Resource Description Framework (RDF)** jest podstawowym językiem 
-używanym do zapisu informacji w Sieci Semantycznej i przeznaczonym do 
-przetwarzania maszynowego. Każdy dokument RDF może być zakodowany 
-w postaci dokumentu XML, więc istnieje możliwość łatwej jego wizualizacji. 
- 
-W dosłownym tłumaczeniu RDF jest środowiskiem do opisu zasobów. 
-Zacząć trzeba więc od wyjaśnienia co jest rozumiane przez jego twórców pod 
-pojęciem zasobu. Otóż jako zasób można rozumieć nie tylko dowolny obiekt 
-znajdujący się w sieci ale również pojęcia abstrakcyjne,​ relacje i obiekty ​ 
-fizyczne. Zasoby są w RDF reprezentowane przez wspomniane powyżej zunifikowane ​ 
-identyfikatory zasobów (ang. Uniform Resource Identifier, URI). 
-URI jest pojęciem szerszym niż popularnie używane identyfikatory lokalizacji 
-zasobów (ang. Uniform Resource Locator, URL). URL opisuje zasób, który 
-musi być fizycznie dostępny w Internecie (jak strona WWW, plik na serwerze FTP) i jest szczególnym przypadkiem URI. URI może opisywać dowolny 
-obiekt, niezależnie od tego, czy znajduje się on w Internecie czy nie. Przykładowo 
-przy pomocy URI możemy reprezentować osobę przez nadanie jej 
-identyfikatora URI będącego jej adresem e-mail, adresem jej domowej strony 
- WWW lub innym identyfikatorem nadanym przez pewną organizację ​ 
-pozwalającym w sposób jednoznaczny zidentyfikować daną osobę. 
- 
-Do opisu zasobów używa się tzw. stwierdzeń (ang. statements). Często 
-zamiennie z terminami zdanie i stwierdzenie używane jest jeszcze określenie 
-trójka (ang. triple). To ostatnie określenie wynika z faktu, że każde stwierdzenie 
- w RDF ma strukturę podobną do prostego zdania w języku naturalnym 
-i składa się z trzech elementów: 
-  - **Podmiotu** (//ang. subject//). Podmiotem jest opisywany zasób reprezentowany przez URI. 
-  - **Orzeczenia** (predykatu) (//ang. predicate//​). Orzeczenie jest nazwą cechy lub relacji dotyczącej opisywanego podmiotu i podobnie jak podmiot jest reprezentowane przez URI. 
-  - **Obiektu** (//ang. object//). Obiektem może być inny zasób (reprezentowanyprzez URI) lub stała wartość określana mianem literału (//ang. literal// ). 
-Najczęściej mamy do czynienia z jedną z dwóch sytuacji - opisujemy 
-relację między dwoma zasobami (wtedy obiektem jest URI reprezentujące zasób) 
- lub mówimy, że podmiot ma jakąś cechę o zadanej wartości 
-(wtedy używamy literału). Literał reprezentować może dowolną wartość 
- o ile daje się ona zapisać w postaci ciągu znaków. W RDF literałami mogą być tylko obiekty, nie jest możliwe ich użycie w charakterze 
-podmiotu czy orzeczenia.Każde zdanie można uważać za etykietowany graf skierowany. 
- 
- 
-{{:​pl:​miw:​1.gif|:​pl:​miw:​1.gif}} 
- 
-**Rys.1 Graf przedstawiajacy dwa zdania RDF.** 
- 
-Podmiot i obiekt są węzłami takiego grafu, natomiast orzeczenie jest reprezentowane jako krawędź skierowana od węzła podmiotu do węzła obiektu i 
-etykietowana przy pomocy URI orzeczenia. Przy rysowaniu grafów wizualizujących dane zapisane w RDF przyjęło się używanie owali do oznaczania 
-węzłów, które są zasobami (są reprezentowane przez URI). Obiekty będące literałami są natomiast reprezentowane przez prostokąty. 
- 
-[[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_ard_rdf:​rdf:​rdfexample|Bardziej rozbudowany przykład zapisu w RDF]] 
- 
-**Użycie faktów: 
-** 
-Wyrażenia RDF występują w postaci trójek zwanych zdaniami (statements). Wszystko do czego odnoszą się zdania są zasobami z pewnymi identyfikatorami lub wartościami. Po to aby fakty były użyte w zdaniach, musimy dysponować pewną tożsamością,​ która z kolei odpowiada pewniej wartości zasobu. 
- 
-By zapewnić taką reprezentacje faktów, wprowadza się nowe identyfikatory zasobów, powiązanych tutaj z przestrzenią nazw z prefixem rul: która wskazuje na przestrzeń nazw URI  
-<​http://​id.ninebynine.ord/​RDFRules/​1.0/>:​ 
- 
-  * rul:Fact – jest pomocniczym typem danych który jest stosowany jako zasób reprezentujący fakt. 
-  * rul:pred – to własność który określa predykat użyty przez fakt 
-  * rul:args – to własność określająca listę argumentów predykatu użytą w fakcie 
- 
- 
-Przykład pewnego faktu reprezentowanego w RDF /N3 jako 
- 
-<code xml> 
-ex:subj ex:pred [ rdf:type rdf:List ; 
-                  rdf:first ex:val2 ; 
-                  rdf:rest [ rdf:type rdf:List ; 
-                             ​rdf:​first ex:val3 ; 
-                             ​rdf:​rest [ rdf:type rdf:List 
-                                        : 
-                                        ... rdf:rest rdf:nil ]]] . 
-</​code>​ 
- 
-Resource który reprezentuje ten fakt jest konstruowany jak pokazano w tym przykładzie RDF/N3: 
- 
-<code xml> 
-[  rdf:type rul:Fact ; 
-   ​rul:​pred ex:pred ; 
-   ​rul:​args [ rdf:type rdf:List ; 
-              rdf:first ex:subj ; 
-              rdf:rest _:genid1 ] ] . 
-</​code>​ 
- 
-gdzie _:genid1 jest identyfikatorem reprezentującym „ogon” listy argumentów predykatu ​ 
- 
-**Reprezentacja reguł:** 
-Podstawowa struktura reguł których używamy to zbiór faktów poprzedników (antecedent facts) i faktów z nich wynikających (consequent facts) 
- 
-Reguła: ​ 
- 
-       ​Afact1 & Afact2 & ... -> Cfact1 & Cfact2 & ... 
- 
-jest reprezentowana w RDF, używając notacji N3, jako: 
-<code xml> 
-@prefix rdf: <​http://​www.w3.org/​1999/​02/​22-rdf-syntax-ns#>​ . 
-@prefix rul: <​http://​id.ninebynine.org/​RDFRules/​1.0/>​ . 
-@prefix ex:  <​http://​example.org/#>​ . 
- 
-          [ rdf:type rul:Rule ; 
-            rul:from Afact1 ; 
-            rul:from Afact2 ; 
-            ... 
-            rul:infer Cfact1 ; 
-            rul:infer Cfact2 ; 
-            ... ] . 
-</​code>​ 
-Taka reprezentacja reguł wprowadza pewne nowe identyfikatory zasobów, powiązanych tutaj z przestrzenią nazw z prefixem rul: która wskazuje na przestrzeń nazw URI  
-<​http://​id.mimesweeper.com/​RDFExpert/​V1.0/​ess#>:​ 
- 
-  * rul:Rule - to pomocniczy typ danych który opisuje zasób który reprezentuje regułę 
-  * rul:from - to właściwość która określa zasób reprezentujący fakt Afact (antecedent fact) reguły, jeden z faktów z którego może być wyciągnięty wniosek 
-  * rul:infer – to właściwość która wskazuje fakt Cfact (conclusion fact) który może być wywnioskowany jeśli wszystkie fakty poprzedzające (antecedent facts) są prawdą. 
- 
- 
-Tak oto poniższa reguła: 
- 
-      ex:a1( ex:a1s, ex:a1v2, ex:a1v3 ) & 
-      ex:a2( ex:a2s, ex:a2v2 ) -> 
-             ​ex:​c1( ex:c1s, ex:c1v2, ex:a1v3 ) & 
-             ​ex:​c2( ex:c2s ) . 
- 
-była by reprezentowana w RDF/N3 jako: 
-<code xml> 
-@prefix rdf: <​http://​www.w3.org/​1999/​02/​22-rdf-syntax-ns#>​ . 
-@prefix rul: <​http://​id.ninebynine.org/​RDFRules/​1.0/>​ . 
-@prefix ex:  <​http://​example.org/#>​ . 
- 
-      [ rdf:type rul:Rule ; 
-        rul:​from ​ _:genid1 ; 
-        rul:​from ​ _:genid2 ; 
-        rul:infer _:genid3 ; 
-        rul:infer _:genid4 ] 
-</​code>​ 
-gdzie: genid1, genid2, genid3, genid4 są identyfikatorami reprezentującymi „ogon” listy argumentów predykatu np. genid2 może być opisany jako: 
-<code xml> 
-_:genid2 rdf:type rul:Fact ; 
-         ​rul:​pred ex:a2 ; 
-         ​rul:​args [ rdf:type rdf:List ; 
-                    rdf:first ex:a2s ; 
-                    rdf:rest [ rdf:type rdf:List ; 
-                               ​rdf:​first ex:a2v2 ; 
-                               ​rdf:​rest rdf:nil ]] . 
-</​code>​ 
-**Zmienne 
-** 
-w ogólnym znaczeniu to identyfikatory które reprezentują pewne określone wartości, ale mogą róznież reprezentować różne wartości jeśli są użyte w innym kontekscie lub w róznych odwołaniach. Na przykład, reguła: 
- 
-    parents( ?a, ?b, ?c ) & 
-    parents( ?b, ?d, ?e ) & 
-    parents( ?c, ?f, ?g ) -> grandparents( ?a, ?d, ?e, ?f, ?g ) 
- 
-Moze być wywołana dla zbiorów faktów ,które jednocześnie pasują do reguły przodka (antecedents);​ dla kazdego zbioru faktów, zmienne będą związane z innymi wartościami. 
- 
-Zmienne są reprezentowane przez zasób typu rul:Var, oraz posiadają rdfs:label własność która jest nazwą zmiennej. Tak oto fakt: 
- 
-    ex:Parents( ?a, ?b, ?c ) . 
- 
-może być reprezentowany w RDF/N3 jako: 
-<code xml> 
-@prefix rdf:  <​http://​www.w3.org/​1999/​02/​22-rdf-syntax-ns#>​ . 
-@prefix rdfs: <​http://​www.w3.org/​2000/​01/​rdf-schema#>​ . 
-@prefix rul: <​http://​id.ninebynine.org/​RDFRules/​1.0/>​ . 
-@prefix ex:   <​http://​example.org/#>​ . 
- 
-_:genid1 ex:Parents [ rdf:​type ​ rdf:List ; 
-                      rdf:first _:genid2 ; 
-                      rdf:​rest ​ [ rdf:​type ​ rdf:List ; 
-                                  rdf:first _:genid3 ; 
-                                  rdf:​rest ​ rdf:nil ] ] . 
-_:genid1 rdf:type rul:Var ; 
-         ​rdfs:​label "?​a"​ . 
-_:genid2 rdf:type rul:Var ; 
-         ​rdfs:​label "?​b"​ . 
-_:genid3 rdf:type rul:Var ; 
-         ​rdfs:​label "?​c"​ . 
-</​code>​ 
-The identity (uniqueness) of a variable is bound to the resource that represents it, not to its name. The variable name may be used (in conjunction with scoping rules) as a syntactic device for deciding which variable occurrences refer to the same variable, and hence which at any instant or invocation must correspond to the same value. Occurrences of the same variable name within a rule is an example of multiple occurrences of the same variable. 
- 
- 
- 
-Linki: 
- 
-[[http://​www.ninebynine.org/​RDFNotes/​RDFFactsAndRules.html#​xtocid-7560072| Representing Facts and Rules in RDF]] 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-===== OWL - Web Ontology Language ===== 
- 
-OWL jest językiem ze składnią opartą na XML, a semantyką opartą na tzw. logice deskrypcyjnej (ang. description logics). Stanowi on rozszerzenie [[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_hml_rules:​rdf|RDF (ang. Resource Description Framework)]]. Służy do reprezentacji i przetwarzania danych w sieci WWW. OWL umożliwia opisywanie danych w postaci ontologii i budowanie w ten sposób tzw. Semantycznego Internetu. OWL  posiada trzy podjęzyki o wzrastającej ekspresyjności:​ OWL Lite, OWL DL, and OWL Full. Zapis w języku OWL składa się z definicji ontologicznych metadanych (container),​ definicji ​ 
-relacji binarnych, pojęć, przykładów pojęć oraz aksjomatów definiujących omówione dodatkowe ​ 
-właściwości pojęć i relacji. 
- 
-[[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_hml_rules:​owl:​syntax|Charakterystyka języka OWL]] 
- 
-Ponieważ OWL posiada pewne ograniczenia - nie można uchwycić złożonych relacji pomiędzy zdefiniowanymi właściwościami (chociażby ogólnie znany przykład "​uncle"​) - powstała idea rozszerzenia OWL'a o pewne formy regułowe przy jednoczesnym zachowaniu maksymalnej kompatybilności z istniejącą składnią i semantyką OWL.  
- 
-Obecnie istnieje propozycja języka **[[http://​www.daml.org/​2003/​11/​swrl/​|SWRL - Semantic Web Rule Language]]** (początkowo nazwany ORL - OWL Rules Language) opartego na połączeniu podjęzyków OWL DL i OWL Lite języka OWL z fragmentami języka [[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_hml_rules:​ruleML|RuleML (Rule Markup Language)]]. Propozycja ta rozszerza zbiór aksjomatów zapisanych w języku OWL tak, aby obejmował reguły mające postać klauzul. Pozwala to łączyć takie reguły z bazą wiedzy zapisaną w języku OWL. Proponowane reguły mają postać implikacji pomiędzy poprzednikiem (ciałem) i następnikiem (nagłówkiem). Poprzednik i następnik mogą być zbudowane z koniunkcji atomów, pojedynczego atomu albo być puste. (Wiadomo, że regułę zawierającą koniunkcję w następniku można przekształcić w zestaw reguł zawierających tylko jeden atom w następniku). Reguła ma następujące znaczenie: jeśli warunki podane w poprzedniku zachodzą, to warunki podane w następniku także muszą zachodzić. Pusty poprzednik jest traktowany jako trywialnie prawdziwy, a pusty następnik jako trywialnie fałszywy. Atomy w regułach mogą być postaci C(x), P(x,y), sameAs(x,y) lub differentFrom(x,​y),​ gdzie C jest deskrypcją pojęcia języka OWL, P jest własnocią,​ a x,y są albo zmiennymi, albo indywiduami,​ albo wartościami danych. 
- 
-W tzw. Human Readable Syntax czyli składni bardziej czytelnej człowiekowi reguły przyjmują formę: 
- 
-<code xml> 
-antecedent -> consequent ​  ​czyli ​  ​poprzednik -> następnik 
-</​code>​ 
- 
-gdzie zarówno antecedent jak i consequent składają się ze zbioru atomów a1 ^ a2 ^ ... ^ an. Zmienne są zaznaczane przy użyciu standardowej konwencji prefixowania ich znakiem zapytania (np.?x). Korzystając z tej składni reguła ​ stwierdzająca że połączenie własności '​parent'​ i '​brother'​ da nam własność '​uncle'​ może być zapisana następująco:​ 
- 
-<code xml> 
-parent(?​a,?​b) ^ brother (?b,?c) -> uncle(?​a,?​c) 
-</​code>​ 
- 
-czyli jeśli Mary jest rodzicem Johna i Bill jest bratem Mary, to ta reguła wymaga by Bill był wujkiem Johna. ​ 
- 
-Indywidua są zaznaczane za pomocą ich nazw w OWL. Przykładem indywiduum może być '​Fred'​ lub '​Mary'​. Przykład reguły w SWRL określającej własność hasBrother, korzystającej z indywiduum :  ​ 
- 
-<code xml> 
-Person(Mary) ^ hasSibling(Mary,​ Fred) ^ Male(Fred) -> hasBrother(Mary,​ Fred) 
-</​code>​ 
- 
-Podstawowe typy takie jak integer, long, float czy double są określane za pomocą XML Schema datatypes. Wartości typu Boolean czyli prawda i fałsz są przedstawiane za pomocą vartości "​true"​ i "​false"​. Przykłady literałów:​ 
-<code xml> 
-34    ​ 
-4.45    ​ 
--34    ​ 
-True    
-false      ​ 
-"a literal" ​   
-</​code>​ 
-Wszystkie typy danych muszą być poprzedzone prefixem przestrzeni nazw '​xsd:',​ np: 
-<code xml> 
-xsd:​unsignedInt ​   ​ 
-xsd:​string ​   ​ 
-</​code>​ 
-Nie wszystkie typy danych XML Schema są obecnie obsługiwane. Do tych wpieranych zaliczamy ​ xsd:int, xsd:short, xsd:long, xsd:​boolean,​ xsd:float, xsd:double, xsd:string, xsd:time, xsd:anyURI, xsd:​base64Binary,​ xsd:​xsd:​byte,​ xsd:​duration,​ xsd:​dateTime,​ oraz xsd:date. 
- 
-Literały mogą być sprecyzowane typem danych przez poprzedzenie ich parą "​^^"​ oraz nazwą typu danej, np:  
-<code xml> 
-34^^xsd:​unsignedInt ​ 
-"a literal"​^^xsd:​string 
-</​code>​ 
- 
-Jedną z najważniejszych cech SWRL jest możliwość korzystania z  zdefiniowanych przez użytkownika predykatów. Predykaty te mogą pobierać jeden lub więcej argumentów i ocenić prawdę jeśli argumenty te odpowiadają predykatowi. Na przykład predykat '​równości'​ może być zdefiniowany tak by przyjmować dwa argumenty i zwracać true jeśli te argumenty są takie same. Duża liczba typowych predykatów wykonujących operacje matematyczne oraz operacje na stringach zawarte są w SWRL Built-in Submission. 
- 
-Przykład reguły SWRL korzystającej z wbudowanego predykatu by stwierdzić że osoba z wiekiem większym niż 17 jest osobą dorosłą: 
-<code xml> 
-Person(?p) ^ hasAge(?p, ?age) ^ swrlb:​greaterThan(?​age,​ 17) -> Adult(?​p) ​ 
-</​code>​ 
- 
-Dla zachowania konwencji predykaty zawarte w SWRL poprzedzane są prefixem swrlb. 
-<code xml> 
-Person(?p) ^ hasNumber(?​p,​ ?number) ^ swrlb:​startsWith(?​number,​ "​+"​) -> hasInternationalNumber(?​p,​ true)  
-</​code>​ 
- 
-W SWRL negacja nie jest możliwa, czyli poniższa reguła jest błędem: 
-<code xml> 
-Person(?p) ^ ¬ hasCar(?p, ?c) -> CarlessPerson(?​p) 
-</​code>​ 
- 
-Więcej informacji oraz odpowiedzi na najczęściej zadawane pytania odnośnie SWRL: http://​protege.cim3.net/​cgi-bin/​wiki.pl?​SWRLLanguageFAQ 
- 
-Teraz kilka słów o SWRL zapisywanym w XML Presentation Syntax. 
- 
-  * **owlr** - prefix przestrzeni nazw dla nowo przedstawianej składni (**swrlx** w innych opracowaniach) 
-  * **owlx** - prefix przestrzeni nazw http://​www.w3.org/​2003/​05/​owl-xml ​ 
- 
-Deklaracje zmiennych są zdaniami wskazującymi by dany URI był używany jako zmienna. Na przykład: 
- 
-<code xml> 
-<​owlr:​Variable owlr:​name="​x1"/>​ 
-</​code>​ 
- 
-Aksjomaty reguł posiadają poprzedników (owlr:​antecedent) oraz następników (owlr:​consequent),​ które są listami atomów tworzonych z klas, predykatów,​ równości i nierówności. Na przykład: 
- 
-<code xml> 
-<​owlr:​classAtom>​ 
-    <​owlx:​Class owlx:​name="​Person"/>​ 
-    <​owlr:​Variable owlr:​name="​x1"/>​ 
-</​owlr:​classAtom>​ 
-</​code>​ 
- 
-jest atomem klasy używającym nazwy //Person//, natomiast: 
- 
-<code xml> 
-<​owlr:​classAtom>​ 
-    <​owlx:​IntersectionOf>​ 
-        <​owlx:​Class owlx:​name="​Person"/>​ 
-        <​owlx:​ObjectRestriction owlx:"​hasParent"/>​ 
-              <​owlx:​someValuesFrom owlx:​class="​Physician"/>​ 
-        <​owlx:​ObjectRestriction/>​ 
-    <​owlx:​IntersectionOf>​ 
-    <​owlr:​Variable owlr:​name="​x2"/>​ 
-</​owlr:​classAtom>​ 
-</​code>​ 
- 
-jest atomem klasy używającym opis reprezentujący osobę('​Person'​) mającą przynajmniej jednego rodzica, który jest lekarzem('​Physician'​) 
- 
-//​PropertyAtom//​ zawiera atrybut //name// oraz dwa elementy które mogą być zmiennymi, indywiduami,​ albo wartościami danych. Na przykład: 
- 
-<code xml> 
-<​owlr:​datavaluedPropertyAtom owlr:​property="​grade">​ 
-    <​owlr:​Variable owlr:​name="​x1">​ 
-    <​owlx:​DataValue rdf:​datatype="&​xsd:​integer">​4</​owlx:​DataValue>​ 
-</​owlr:​datavaluedPropertyAtom>​ 
-</​code>​ 
- 
-Na koniec jeszcze przykład atomu wskazującego równość (nierówność) pomiędzy zbiorami indywiduów i nazwami zmiennych. 
- 
-<code xml> 
-<​owlr:​sameIndividualAtom>​ 
-    <​owlr:​Variable owlr:​name="​x1"/>​ 
-    <​owlr:​Variable owlr:​name="​x2"/>​ 
-    <​owlx:​Individual owlx:​name="​Clinton"/>​ 
-    <​owlx:​Individual owlx:​name="​Bill_Clinton"/>​ 
-</​owlr:​sameIndividualAtom>​ 
-</​code>​ 
- 
-Przykład zapisu zdania : jeżeli dzień=poniedziałek wtedy temp=20st za pomocą SWRL: 
- 
-<code xml> 
-monday(?​day) -> temp(20)  ​ 
-</​code>​ 
- 
-w składni XML: 
- 
-<code xml> 
-<​owlx:​Rule>​ 
-    <​owlr:​antecedent>​ 
-        <​owlr:​individualPropertyAtom owlr:​property="​monday">​ 
-            <​owlr:​Variable owlr:​name="​day"/>​ 
-        </​owlr:​individualPropertyAtom>​ 
-    </​owlr:​antecedent>​ 
-    <​owlr:​consequent>​ 
-        <​owlr:​datavaluedPropertyAtom owlr:​property="​temp">​ 
-            <​owlx:​DataValue rdf:​datatype="&​xsd:​integer">​20</​owlx:​DataValue>​ 
-        </​owlr:​datavaluedPropertyAtom>​ 
-    </​owlr:​consequent>​ 
-</​owlx:​Rule>​ 
-</​code>​ 
- 
-=====ARD w RDF===== 
- 
-Proponaowane rozwiązanie:​ 
- 
-<code xml> 
-<?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://​example.org"​ 
-> 
- <​rdf:​Description rdf:​ID="​ard:​Attribute">​ 
- <​rdf:​type rdf:​resource="​http://​www.w3.org/​2000/​01/​rdf-schema#​Class"/>​ 
- </​rdf:​Description>​ 
-  
- <​rdf:​Property rdf:​ID="​ard:​Property">​ 
- <​rdfs:​domain rdf:​resource="#​ard:​Attribute1"/>​ 
- <​rdfs:​range rdf:​resource="#​ard:​Attribute2"/>​ 
- </​rdf:​Property>​ 
-  
-</​rdf:​RDF>​ 
-</​code>​ 
- 
-i przykład: 
- 
-<code xml> 
-<?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://​example.org"​ 
-> 
- <​rdf:​Description rdf:​ID="​Thermostat">​ 
- <​rdf:​type rdf:​resource="​http://​www.w3.org/​2000/​01/​rdf-schema#​Class"/>​ 
- </​rdf:​Description>​ 
-  
- <​rdfs:​Class rdf:​ID="​Time">​ 
- <​rdfs:​subClassOf rdf:​resource="#​Thermostat"/>​ 
- </​rdfs:​Class>​ 
- 
- <​rdf:​Property rdf:​ID="​is_attribute_of">​ 
- <​rdfs:​domain rdf:​resource="#​Time"/>​ 
- <​rdfs:​range rdf:​resource="#​Thermostat"/>​ 
- </​rdf:​Property>​ 
-</​rdf:​RDf>​ 
-</​code>​ 
- 
-Poniżej przedstawiono inny przykład zapisu ARD w RDF za pomocą biblioteki DublinCore: 
-<code xml> 
-<?xml version="​1.0"?>​ 
-<rdf:RDF 
-  xmlns:​rdf="​http://​www.w3.org/​TR/​WD-rdf-syntax#"​ 
-  xmlns:​dc="​http://​purl.org/​dc/​elements/​1.0/"​ 
-  xmlns:​dcq="​http://​purl.org/​dc/​qualifiers/​1.0/">​ 
-  <​rdf:​Description about="​http://​www.thermostat.org/​Thermostate">​ 
-    <​dc:​Relation>​ 
-      <​rdf:​Description>​ 
-        <​dcq:​RelationType 
-   rdf:​resource="​http://​purl.org/​dc/​vocabularies/​RelationTypes/​v1.0/​IsReferencedBy"/>​ 
-        <​rdf:​value resource="​http://​www.thermostat.org/​Time"/>​ 
-      </​rdf:​Description>​ 
-    </​dc:​Relation>​ 
-    <​dc:​Relation>​ 
-      <​rdf:​Description>​ 
-        <​dcq:​RelationType 
-   rdf:​resource="​http://​purl.org/​dc/​vocabularies/​RelationTypes/​v1.0/​IsReferencedBy"/>​ 
-        <​rdf:​value resource="​http://​www.thermostat.org/​Temperature"/>​ 
-      </​rdf:​Description>​ 
-  </​rdf:​Description>​ 
-</​rdf:​RDF>​ 
-</​code>​ 
- 
- 
- 
- 
- 
- 
-====== Sprawozdanie ====== 
- 
- 
- 
-====== Materiały ====== 
- 
-[[hekate:​hekate_case_thermostat]] 
- 
-**ARD:** 
- 
-https://​ai.ia.agh.edu.pl/​wiki/​hekate:​bib:​hekate_bibliography#​gjn2008flairs-userv 
- 
-Nalepa, G. J. (2008). UServ Case Study, Conceptual Design with ARD+ Method. Paper presented at the FLAIRS2008. 
- 
-https://​ai.ia.agh.edu.pl/​wiki/​hekate:​bib:​hekate_bibliography#​gjn2008flairs-ardformal 
- 
-Nalepa, G. J., & Wojnicki, I. (2008). Towards Formalization of ARD+ Conceptual Design and Refinement Method. Paper presented at the FLAIRS2008. 
- 
-https://​ai.ia.agh.edu.pl/​wiki/​hekate:​bib:​hekate_bibliography#​gjn2008flairs-ardprolog 
- 
-Nalepa, G. J., & Wojnicki, I. (2008). An ARD+ Design and Visualization Toolchain Prototype in Prolog. Paper presented at the FLAIRS2008. 
- 
-**RDF:** 
- 
-http://​www.w3.org/​RDF/​ 
- 
-If you want to learn about the Resource Description Format (RDF), you should read this primer. 
- 
-http://​en.wikipedia.org/​wiki/​Resource_Description_Framework 
- 
-An explanation of RDF by Wikipedia. 
- 
-http://​www.w3.org/​TR/​NOTE-rdf-simple-intro 
- 
-Lassila, Ora. Introduction to RDF Metadata, W3C., Note 1997-11-13 
- 
-http://​www.w3.org/​RDF/​FAQ 
- 
-Frequently asked Questions about RDF, W3C. 
- 
-http://​www.ariadne.ac.uk/​issue14/​what-is 
- 
-An introductory explanation of RDF by Rachel Heery in Ariadne magazine online. 
- 
-http://​www.rdfabout.com/​intro/​ 
- 
-http://​www.xml.com/​pub/​a/​2001/​01/​24/​rdf.html 
- 
-http://​xml.coverpages.org/​rdf.html 
- 
-__The RDF tutorials__ : 
- 
-http://​www.w3schools.com/​rdf/​default.asp 
- 
-http://​www.zvon.org/​xxl/​RDFTutorial/​General/​book.html 
- 
-[[http://​webdesign.about.com/​gi/​dynamic/​offsite.htm?​zi=1/​XJ/​Ya&​sdn=webdesign&​cdn=compute&​tm=15&​f=00&​su=p284.8.150.ip_&​tt=14&​bt=0&​bts=0&​zu=http%3A//​www710.univ-lyon1.fr/​%7Echampin/​rdf-tutorial/​|RDF tutorial]] 
- 
- 
- 
- 
-**XSLT** : 
-  * http://​www.w3.org/​Style/​XSL/​ 
-  * http://​zvon.org/​xxl/​XSLTutorial/​Output/​index.html 
-  * http://​w3schools.com/​xsl/​default.asp 
-  * [[wp>​XSLT]] ​ 
-  * http://​www.w3.org/​TR/​xslt20/​ 
- 
- 
- 
-FIXME 
  
pl/miw/miw08_ard_rdf.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0