[[
✎ pl:miw:miw08_hml_rules:rdf
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
**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, orzeczenia oraz obiektu. W RDF podmiot stanowi opisywany zasób, predykat określa jaka jego własność jest opisywana, zaś obiekt stanowi wartość tej własności. Podstawowym mechanizmem wykorzystywanym przez RDF do identyfikacji podmiotu, predykatu i obiektu jest URI. RDF stanowi model lub bazę danych, która jest reprezentowana w formie grafu. RDF/XML jest językiem XML-a, który może być użyty do reprezentacji danych RDF. Ważną cechą języka RDF jest to iż nie obsługuje on negacji oraz reguł. Można to zaliczyć od jego wad gdyż systemy reprezentowania wiedzy potrzebują dwóch rodzajów negacji, mianowicie słabej negacji ~ (ang. weak negation) wyrażającej nieprawdę, silnej negacji (ang. strong negation) wyrażającej jednoznacznie nieprawdziwe informacje lub błędność, oraz oczywiście możliwości zapisu reguł. Aby temu zaradzić rozpoczęto prace nad nowym językiem [[http://oxygen.informatik.tu-cottbus.de/rewerse-i1/?q=ERDF|Extended RDF]] oznaczonym jako ERDF (obecnie jest to tylko prototypowa implementacja w wersji 0.1). Język ten jest rozszerzeniem RDF'a o wyżej wspomniane negacje oraz reguły. Na ten czas skupię sie tylko na kwestiach związanych z rozszerzeniami RDF'a umożliwiającymi zapisywanie reguł gdyż to jest tematem projektu. W poniższym opisie oraz przykładach będę się posługiwał składnia XML: Składnia reguł ERDF (ang.abstract syntax of ERDF Rules) zdefiniowana jest za pomocą poniższego diagramu (Rys.1). Reguły ERDF przybierają formę D <- A1,...,An, gdzie D jest opisem ERDF (ang.ERDF description) z możliwością negacji natomiast A1,...,An są atomami ERDF. {{:pl:miw:miw08_hml_rules:erdf.gif|:pl:miw:miw08_hml_rules:erdf.gif}} **Rys.2 ERDF-Rule Meta-Model** Termy ERDF są referencjami URI, identyfikatorami, zmiennymi lub literałami. Są one wyrażane na dwa sposoby, zależnie od ich występowania jako subject expression (z atrybutem erdf:about) lub jako value expression (rdf:resource, rdf:nodeID lub erdf:variable). {{:pl:miw:miw08_hml_rules:gif_6.gif|:pl:miw:miw08_hml_rules:gif_6.gif}} **Rys.3 ERDF-Term Meta-Model** Opisy ERDF są zapisywane jako elementy z atrybutem erdf:Description. Każdy opis zawiera niepustą listę własności (mogą to być również negacje). ERDF descriptions, jak przedstawia Rys.2, rozbudowuje opisy RDF o opcjonalny atrybut erdf:negationMode umożliwiający specyfikacje dwóch rodzajów negacji, oraz dopuszcza zmienne jako argumenty(subjectExpr i valueExpr). {{:pl:miw:miw08_hml_rules:gif_7.gif|:pl:miw:miw08_hml_rules:gif_7.gif}} **Rys.1 ERDF-Description Meta-Model** Na przykład: //Gerd knows Adrian, has some topic interest, but is not interested in the topic 'motor sports'// zapiszemy następująco: <code xml> <erdf:Description erdf:about="#Gerd"> <foaf:knows rdf:resource="#Adrian"/> <foaf:topic_interest rdf:nodeID="x"/> <foaf:topic_interest erdf:negationMode="Sneg" rdf:resource="urn:topics:motor_sports"/> </erdf:Description> </code> Inny przykład; suma w ERDF: <code xml> <erdf:DatatypePredicateAtom erdf:predicate="swrlb:add"> <erdf:Variable> ?sum </erdf:Variable> <rdfs:Literal rdf:datatype="xs:int"> 40 </rdfs:Literal> <rdfs:Literal rdf:datatype="xs:int"> 40 </rdfs:Literal> </erdf:Description> </code> Po to by wyrazić reguły ERDF za pomocą XML używamy języka reguł R2ML (REWERSE Rule Markup Language). Warto zauważyć że istnieje tutaj możliwość identyfikacji reguł poprzez nadawanie im ID. Przykład takiej reguły zamieszczam poniżej: <code xml> <r2ml:DerivationRule r2ml:ruleID="R1"> <r2ml:conditions> <erdf:Description erdf:about="..."> ... </erdf:Description> </r2ml:conditions> <r2ml:conclusion> <erdf:Description erdf:about="..."> ... </erdf:Description> </r2ml:conclusion> </r2ml:DerivationRule> </code> Aby można było użyć RDF’a do przedstawiania reguł potrzebna jest wiedza jak zapisywać typowe dla nich elementy. Przykładowo w RDF ver. ??: * wartosc logiczna: B <code xml> </code> * stałe argumenty: 20 <code xml> </code> * suma: n+1 <code xml> </code> * różnica: n-1 <code xml> </code> * równość: (wyr_1) = (wartosc) <code xml> </code> * nierówność: n > 0 <code xml> </code> * nierówność: n <= 1 <code xml> </code> * suma logiczna : (wyr_1) and (wyr_2) <code xml> </code> * warunek if : (conclusion) if (conditions) <code xml> </code> * funkcje: fun_name(B) <code xml> </code> **RDF nie dostarcza środków do negacji (NOT) czy alternatywy (OR).** Teraz możemy spróbować zapisać nasz przykład (Jeżeli dzień=poniedziałek wtedy temp=20st) za pomocą RDF. Przedstawmy go w postaci: temp = 20 if day = monday wówczas w RDF zapis bedzie wyglądał następująco: <code xml> </code> * Więcej na stronie domowej: * Szczególnie przydatne : * Więcej przykładów: * Polskie tłumaczenie specyfikacji RDF: http://www.geocities.com/pan_andrew/ResourceDescriptionFramework.htm [[https://ai.ia.agh.edu.pl/wiki/pl:miw:miw08_hml_rules|Powrót]]
pl/miw/miw08_hml_rules/rdf.1209847986.txt.gz
· ostatnio zmienione: 2019/06/27 15:59 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry