Różnice

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

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_ard_rdf [2008/04/08 11:04]
miw
pl:miw:miw08_ard_rdf [2008/09/18 12:18]
gjn koniec
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 
- 
- 
- 
-====== Projekt ====== 
-jak sensownie repr. ard w rdf? 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-===== RDF ===== 
- 
-**RDF** (Resource Description Framework) jest podstawowym językiem używanym do zapisu informacji w Sieci Semantycznej i przeznaczonym do przetwarzania maszynowego. W dosłownym tłumaczeniu jest środowiskiem do opisu zasobów (jako zasób rozumiemy: dowolny obiekt znajdujący się w sieci, pojęcia abstrakcyjne,​ relacje i obiekty fizyczne). 
-Do opisu zasobów używa się tzw. stwierdzeń (ang. statements),​ które składają się z: 
- * Podmiotu – opisywany zasób. 
- * Orzeczenia (predykatu) – nazwa cechy lub relacji dotyczącej opisywanego podmiotu. 
- * Obiektu – inny zasób lub stała wartość określona mianem literału. 
- 
- 
-Sposób przedstawiania atrybutów w [[http://​www.w3.org/​TR/​rdf-primer/​|RDF]]:​ 
- 
- < opisywany_zasob > < nazwa_atrybutu > „wartosc_atrybutu”. 
- 
-**Przykład opisu w RDF pewnego „zasobu”:​** 
- 
-Zwykłe zdanie: 
- 
-        Janek jest twórcą dokumentu http://​www.dokumenty.org/​dokument1 
- 
-Zdanie RDF: 
- 
-        http://​www.dokumenty.org/​dokument1 posiada własność twórca której wartością jest Janek 
- 
-Właściwa forma RDF (musi być zakonczona kropką): 
- 
-        <​http://​www.dokumenty.org/​dokument1>​ <​http://​purl.org/​dc/​elements/​1.1/​creator>​ „Janek”. 
- 
-Graf RDF: 
- 
-{{:​pl:​miw:​rdf.png|:​pl:​miw:​rdf.png}} 
- 
-Styl XML: 
-<code xml> 
-        <?xml version="​1.0"?>​ 
-        <rdf:RDF xmlns:​rdf="​http://​www.w3.org/​1999/​02/​22-rdf-syntax-ns#">​ 
-        <​rdf:​Description rdf : about="​subject">​ 
-        <​predicate>​Object</​predicate>​ 
-        </​rdf:​Description>​ 
-        </​rdf:​RDF>​ 
-</​code>​ 
-Nasz przykład zapisany w XML: 
-<code xml> 
-        <?xml version="​1.0"?>​ 
-        <rdf:RDF xmlns:​rdf="​http://​www.w3.org/​1999/​02/​22-rdf-syntax-ns#"​ 
-                 ​xmlns:​DC="​http://​purl.org/​dc/​elements/​1.1/">​ 
-        <​rdf:​Description rdf : about="​http://​www.dokumenty.org/​dokument1">​ 
-        <​DC:​creator resource = "​http://​www.tworcy.org/​janek">​  
-        </​rdf:​Description>​ 
-        </rdf : RDF> 
-</​code>​ 
-Użyty jest tu predykat pochodzący z “biblioteki” Dublin Core (słownictwo zdefiniowane do opisu metadanych różnych dokumentów -  w szczególności bibliotecznych:​ daty utworzenia, autora itp.). Jest to oznaczone w korzeniu dokumentu (którym jest zawsze znacznik rdf:RDF). Podmioty definiujemy znacznikiem rdf:​Description z atrybutem rdf:about zawierającym URI zasobu. Zdania opisujące ten podmiot są zapisywane jako węzły potomne. Obiekty, które są jednocześnie zasobami zapisujemy w postaci węzła skróconego z URI tego zasobu umieszczonym w atrybucie rdf:​resource. 
- 
- 
- 
-**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 (notacja3 - http://​en.wikipedia.org/​wiki/​Notation_3) jako 
- 
-         ​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 ]]] . 
- 
-Resource który reprezentuje ten fakt jest konstruowany jak pokazano w tym przykładzie RDF/N3: 
- 
-        [  rdf:type rul:Fact ; 
-           ​rul:​pred ex:pred ; 
-           ​rul:​args [ rdf:type rdf:List ; 
-                      rdf:first ex:subj ; 
-                      rdf:rest _:genid1 ] ] . 
- 
-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 notacji3 (N3 - http://​en.wikipedia.org/​wiki/​Notation_3)) jako: 
- 
-       ​@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 ; 
-            ... ] . 
- 
-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: 
- 
-      @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 ] 
- 
-gdzie: genid1, genid2, genid3, genid4 są identyfikatorami reprezentującymi „ogon” listy argumentów predykatu np. genid2 może być opisany jako: 
- 
-      _: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 ]] . 
- 
-**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: 
- 
-    @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"​ . 
- 
- 
-Linki: 
- 
-[[http://​www.ninebynine.org/​RDFNotes/​RDFFactsAndRules.html#​xtocid-7560072| Representing Facts and Rules in RDF]] 
-[[http://​agentlab.swps.edu.pl/​agent_papers/​Gasiorowski_MS_2006.pdf]] 
- 
- 
- 
-===== RIF ===== 
- 
-**RIF**(Rule Interchange Format) jest stworzonym przez W3C (Word Wide Web Consorcium) formatem reguł pozwalających na ich wymianę dla różnych języków reguł w sieciach semantycznych (RDF, OWL). (def: http://​www.webopedia.com/​TERM/​R/​Rule_Interchange_Format.html)  ​ 
- 
-[[http://​www.w3.org/​TR/​rif-bld/​|Dokumentacja RIF]] przedstawia dwa rodzaje składni. Są to tzw: 
-  * Presentation syntax – Używana w formalnych definicjach,​ szczególnie dla semantyki. ​ 
-  * XML syntax -  Jest to tzw. XML serialization składni prezentacji. Kluczowe cechy tej składni wywodzą się  ze składni prezentacji,​ lecz niektóre aspekty związane z wymianą reguł nie mają swoich odpowiedników w presentation syntax. 
- 
-**Atrybut** to parametr zawierający dodatkowe informacje o elemencie struktury logicznej identyfikowanym przez dany znacznik. 
- 
-Sposób przedstawiania atrybutów w [[http://​www.w3.org/​TR/​rif-bld/​|Presentation syntax]] : 
- 
-        nazwa_atrybutu->​wartość_atrybutu^^type 
- 
-Sposób przedstawiania atrybutów w [[http://​www.w3.org/​TR/​rif-bld/​|XML syntax]]: 
- 
-        <​slot><​Const>​nazwa_atrybutu</​Const><​Var type=””>​wartość_atrybutu</​Var></​slot> ​ 
- 
- 
-**Przykład:​** 
-  * Presentation syntax 
- 
-        author^^rif:​local -> ?Author 
-        price^^rif:​local -> 49^^xsd:​integer 
- 
-  * XML syntax 
-<code xml> 
-        <​slot><​Const type="​rif:​local">​author</​Const><​Var>​Author</​Var></​slot>​ 
-        <​slot><​Const type="​rif:​local">​price</​Const><​Const type="​xsd:​integer">​49</​Const></​slot>​ 
-</​code>​ 
- 
-Prefix xsd: oznacza przestrzeń nazw XML http://​www.w3.org/​2001/​XMLSchema#,​ a prefix rif: URI przestrzeni nazw RIF http://​www.w3.org/​2007/​rif#​ . 
-rif:local (dla stałych symboli niewidocznych poza daną formułą rif). 
- 
-**RIF,RDF oraz OWL Kompatybilność** 
- 
-RIF definiuje sposób przenoszenia regół w sieci. Reguły wymieniane poprzez RIF mogą się odnosić się do zewnętrznych źródeł danych i mogą bazować na pewnych modelach które są reprezentowane za pomocą języków różnych od RIF np: RDF , RDFS, OWL. 
-Dokument http://​www.w3.org/​TR/​rif-rdf-owl ​ określa kompatybilność RIF i RDF(S). 
-Przyszła wersja tego dokumentu będzie również określać kompatybilność z ontologią OWL. 
- 
-  * Zgodność pomiędzy stałymi symbolami w RIF oraz nazwami w RDF graphs np.:  
- 
-        RDF -   "​literal string"​ 
- 
-        RIF -   "​literal string"​^^xsd:​string 
- 
-  * Zgodność pomiędzy zdaniami w RDF (trojki postaci: s p o) i pewnymi rodzajami formuł w RIF (formula w postaci: s'​[p'​ -> o'], gdzie s', p', oraz o' są symbolami RIF zgodnymi odpowiednio z symbolami RDF’a s, p, oraz o), np.: 
- 
-RDF triple: 
-       john uncleOf marry 
- 
-Formuła RIF frame: 
-       "​john"​^^rif:​iri["​uncleOf"​^^rif:​iri -> "​marry"​^^rif:​iri] 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-====== Sprawozdanie ====== 
- 
- 
- 
-====== Materiały ====== 
- 
-[[hekate:​hekate_case_thermostat]] 
- 
-**ARD:** 
- 
-https://​ai.ia.agh.edu.pl/​wiki/​hekate:​bib:​hekate_bibliography#​gjn2008flairs-userv-submitted 
- 
-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-submitted 
- 
-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-submitted 
- 
-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