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:piw08_hekateonto [2008/05/21 22:19]
ikaf
pl:miw:piw08_hekateonto [2019/06/27 15:50] (aktualna)
Linia 17: Linia 17:
    * [[http://​oxygen.informatik.tu-cottbus.de/​rewerse-i1/?​q=ERDF|ERDF]]    * [[http://​oxygen.informatik.tu-cottbus.de/​rewerse-i1/?​q=ERDF|ERDF]]
  
-co to jest [[wp>​datalog]]...+-------- 
 + 
 + 
 +co to jest [[wp>​datalog]]... ​\\ 
 +(język reguł i zapytań dla dedukcyjnych baz danych, składnia podzbiorem Prologu. W przeciwieństwie do Prologu: 
 +  * nie dopuszcza złożonych termów jako argumentów predykatów 
 +  * narzuca pewne ograniczenia na użycie negacji i rekurencji 
 +  * nie dopuszcza "​wolnych"​ zmiennych - zmienna w następniku reguły musi wystąpić w nie zanegowanej klauzuli poprzednika 
 +Ponadto w datalogu kolejność klauzul nie ma znaczenia dla wyniku zapytania.)
  
 business rules orchestration business rules orchestration
Linia 30: Linia 38:
 http://​en.wikipedia.org/​wiki/​Description_Logics http://​en.wikipedia.org/​wiki/​Description_Logics
  
 +
 +http://​www.w3.org/​2005/​rules/​wg/​wiki/​negation
 +
 +http://​www.w3.org/​2005/​rules/​wiki/​RIF_Working_Group
 +
 +[[http://​www.w3.org/​2005/​rules/​wiki/​SWC|RIF RDF and OWL Compatibility]]
 +
 +[[hekate:​xtt|XTT desc proposal]] (  ​
 +  * Domain - discrete finite set of allowed attribute values a przedzialy dla wartosci atrybutow typu numeric?
 +  * 
 +)\\
 +
 +[[http://​www.w3.org/​2001/​sw/​WebOnt/​impls|OWL implementations]]
  
 ====== Spotkania ====== ====== Spotkania ======
-  * Jaki poziom szczegółowości projektu? Na próbę fragment o RDF - czy może być tak?  
-  * Moje podejście - bardziej odpowiedź na pytania postawione w temacie, bez wnikania w szczegóły techniczne - słuszne? 
  
  
Linia 71: Linia 90:
 A generalized attribute Ai is a function (or partial function) of the form\\ ​ A generalized attribute Ai is a function (or partial function) of the form\\ ​
 {{:​pl:​miw:​atrybut-def2.png|:​pl:​miw:​atrybut-def2.png}}\\ ​ {{:​pl:​miw:​atrybut-def2.png|:​pl:​miw:​atrybut-def2.png}}\\ ​
 +
 +
 +
 +
  
 ==== RDF - Resource Description Framework ==== ==== RDF - Resource Description Framework ====
Linia 83: Linia 106:
  
 "RDF is based on the idea that the things being described have properties which have values, and that resources can be described by making statements that specify those properties and values. RDF uses a particular terminology for talking about the various parts of statements."​ (W3C RDF Primer) "RDF is based on the idea that the things being described have properties which have values, and that resources can be described by making statements that specify those properties and values. RDF uses a particular terminology for talking about the various parts of statements."​ (W3C RDF Primer)
-**Attributes are represented in RDF in a form of RDF Triples (subject, predicate, object) where subject ​denote ​the resource being described, predicate ​indicate ​the name of the attribute and object points to the attribute (predicate) value.** RDF statements (triples) consist of subject, predicate and object which all are identified by URIs.+**Attributes are represented in RDF in a form of RDF Triples (subject, predicate, object) where subject ​denotes ​the resource being described, predicate ​indicates ​the name of the attribute and object points to the attribute (predicate) value.** RDF statements (triples) consist of subject, predicate and object which all are identified by URIs.
  
 ^ Part of an RDF triple ​     ^ Can be       ^ ^ Part of an RDF triple ​     ^ Can be       ^
Linia 91: Linia 114:
  
 \\  \\ 
- 
 **RDF uses VSAL**\\ ​ **RDF uses VSAL**\\ ​
   * variables can be used (blank nodes) http://​www.w3.org/​TR/​rdf-primer/#​structuredproperties   * variables can be used (blank nodes) http://​www.w3.org/​TR/​rdf-primer/#​structuredproperties
Linia 97: Linia 119:
   * sets of attributes cannot be defined in a single RDF triple, because attributes in RDF are represented as binary predicates only. However, it is possible to do that using RDF Container Elements (<​rdf:​Bag>​ and <​rdf:​Seq>​) or RDF Collections. To define sets of attributes we create a new resource (which may either be a blank node or a resource with a URIref). The resource is given an rdf:type property whose value is one of the predefined resources rdf:Bag, rdf:Seq, or rdf:Alt . Then the members of the container can be described by defining a container membership property for each member with the container resource as its subject and the member as its object. ​   * sets of attributes cannot be defined in a single RDF triple, because attributes in RDF are represented as binary predicates only. However, it is possible to do that using RDF Container Elements (<​rdf:​Bag>​ and <​rdf:​Seq>​) or RDF Collections. To define sets of attributes we create a new resource (which may either be a blank node or a resource with a URIref). The resource is given an rdf:type property whose value is one of the predefined resources rdf:Bag, rdf:Seq, or rdf:Alt . Then the members of the container can be described by defining a container membership property for each member with the container resource as its subject and the member as its object. ​
 http://​www.w3.org/​TR/​rdf-primer/#​containers http://​www.w3.org/​TR/​rdf-primer/#​containers
- 
  
 === RDF/XML notation === === RDF/XML notation ===
Linia 106: Linia 127:
  
 To avoid using URI all around we use namespaces which we define as follows: xmlns:​si="​http://​www.recshop.fake/​siteinfo#"​ \\  To avoid using URI all around we use namespaces which we define as follows: xmlns:​si="​http://​www.recshop.fake/​siteinfo#"​ \\ 
-In RDF/XML attributes (properties of subjects) can be defined in three ways+In RDF/XML attributes (properties of subjects) can be defined in three ways:
   * Properties as XML elements   * Properties as XML elements
 <code xml> <code xml>
Linia 124: Linia 145:
  
   * Properties as attributes   * Properties as attributes
- 
   * Properties as resources   * Properties as resources
 +Do powyższych podpunktów nie mogłam dołączyć kodu - otrzymuje błąd, że metoda POST jest niezaimplementowana :-/ prawdopodobnie sekcja tekstu jest za długa. ​ --- //​[[ikaf@student.agh.edu.pl|Weronika Furmańska]] 2008/05/21 22:35//
  
-(Z jakichś powodów nie mogę wkleić kodu wyskakuje błąd o niezaimplementowanej funkcji POST...) --- //[[ikaf@student.agh.edu.pl|Weronika Furmańska]] 2008/05/21 18:31//+ 
 + 
 + 
 + 
 +==== ERDF - Extended RDF==== 
 +=== Basic information === 
 +ERDF extends RDF graphs with [[pl:​miw:​piw08_hekateonto:​weak and strong negation]], as well as derivation rules. The main concepts of the ERDF are based on [[pl:​miw:​piw08_hekateonto:​Partial Logic]]. 
 + 
 +=== Attribute representation === 
 + 
 +Partial Logic allows to distinguish between properties and classes that are completely represented in a knowledge base and those that are not. It is to the owner of the database to classify whether for a given property there is a complete information or not.  
 +On completely represented properties ​(which are by design treated as partial ones) the close-world assumption can be applied and the entailment of {{:​pl:​miw:​weak_negation.png|:​pl:​miw:​weak_negation.png}} allows to derive {{:​pl:​miw:​strong_negation.png|:​pl:​miw:​strong_negation.png}}. However, we can declare a property to be total. If we do so, the property can be both true or false under some interpretation and the rule "​{{:​pl:​miw:​weak_negation.png|:​pl:​miw:​weak_negation.png}} derives {{:​pl:​miw:​strong_negation.png|:​pl:​miw:​strong_negation.png}}"​ is not applicable. There has to be an explicit negative information about a total property to infer negated statements about it. 
 + 
 +ERDF let us define if a property or a class as total (or partial by defaultand therefore support both close-world and open-world reasoning. 
 + 
 +ERDF extends RDF and RDFSchema in a couple of ways. 
 +  ​First, RDF triples are extended with the inclusion of strong negation, so one can specify a predicate which is explicitly negative. <code xml> 
 +<​ex:​likes erdf:​negationMode="​Sneg"​ rdf:​resource="#​Pork"​/> </code> 
 +  - RDFS vocabulary (which let one define classes and properties) are extended so that we can declare a property or class to be total (and thus enable open-world reasoning on them). 
 +  - There can be a plain literal in the place of ERDF triple subject. So now it looks as follows: 
 + 
 +^ Part of an ERDF triple ^ can be  ^ 
 +|Subject | URI or literal (plain or typed) or a variable | 
 +|Predicate | URI | 
 +|Object | URI or literal (plain or typed) or a variable | 
 + 
 + 
 +=== ERDF/XML notation === 
 +ERDF/XML syntax folllows the RDF/XML one and extends it in a suitable way. 
 + 
 +RDFS is extended with the terms erdf:​TotalClass and erdf:​TotalProperty. We can define a property p or a class c to be total using 
 +<code xml> 
 +rdf:​type(p,​erdf:​TotalProperty) 
 +</​code>​ 
 +and  
 +<code xml> 
 +rdf:​type(c,​erdf:​TotalClass) 
 +</​code>​ 
 +statements. 
 + 
 +Example of a regular (partial by design) property: 
 +<code xml> 
 +<​rdf:​Property rdf:​about="#​likes">​ 
 +  <​rdfs:​domain rdf:​resource="#​Person"/>​ 
 +</​rdf:​Property>​ 
 +</​code>​ 
 +Example of a total property: 
 +<code xml> 
 +<​erdf:​TotalProperty rdf:​about="#​authorOf">​ 
 +  <​rdfs:​domain rdf:​resource="#​Person/">​ 
 +  <​rdfs:​range rdf:​resource="#​Book"/>​ 
 +</​erdf:​TotalProperty>​ 
 +</​code>​ 
 + 
 +ERDF triples (and sets of ERDF triples sharing the same subject term) are encoded by means of the erdf:​Description element, which has a non-empty list of (possibly negated) property-value slots about the subject term. The following rules apply: 
 +  * URI references, blank node identifiers and variable that appear in the subject position are expressed as values of the erdf:about attribute: <code xml><​erdf:​Description erdf:​about="#​Gerd">​ 
 +... 
 +</​erdf:​Description>​ </​code>​ 
 +  * literals that appear in the subject position are expressed as the text content of the erdf:about subelement: <code xml><​erdf:​Description>​ 
 +  <​erdf:​About rdf:​datatype="&​xsd;​string">​Grigoris</​erdf:​About>​ 
 +  ... 
 +</​erdf:​Description>​ </​code>​ 
 +  * URI references, blank node identifiers and variable that appear in the object position are expressed as values of the attributes rdf:​resource,​ rdf:nodeID and rdf:​variable respectively:​ <code xml> <​ex:​denotationOf f:​resource="#​Grigoris"/>​ </​code>​ 
 +  * literals that appear in the subject position are expressed as the text content of the corresponding subelement 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +==== OWL - Web Ontology Language ==== 
 +=== Basic information === 
 +OWL Web Ontologoy Language ​ - a language for defining and instantiating Web ontologies. 
 +Ontology is a term borrowed from philosophy that refers to the science of describing the kinds of entities in the world and how they are related.  
 +An OWL ontology may include descriptions of classes, properties and their instances.  
 +Given such an ontology, the OWL formal semantics specifies how to derive its logical consequences,​ i.e. facts not literally present in the ontology, but entailed by the semantics.  
 +These entailments may be based on a single document or multiple distributed documents that have been combined using defined OWL mechanisms. (from [[http://www.w3.org/​TR/​2004/​REC-owl-guide-20040210/#​Introduction|OWL Guide]]) 
 +== Three sublanguages of OWL == 
 +OWL provides three increasingly expressive sublanguages designed for use by specific communities of implementers and users. 
 +  * OWL Lite 
 +  - supports those users primarily needing a classification hierarchy and simple constraints 
 +  - it should be simpler to provide tool support for OWL Lite than its more expressive relatives 
 +  - provides a quick migration path for thesauri and other taxonomies 
 +  - has a lower formal complexity than OWL DL 
 +  * OWL DL 
 +  - supports those users who want the maximum expressiveness while retaining computational completeness (all conclusions are guaranteed to be computable) and decidability (all computations will finish in finite time) 
 +  - includes all OWL language constructs, but they can be used only under certain restrictions 
 +  - is so named due to its correspondence with [[pl:​miw:​piw08_hekateonto:​description logics]] 
 +  * OWL Full 
 +  - is meant for users who want maximum expressiveness and the syntactic freedom of RDF with no computational guarantees 
 +  - allows an ontology to augment the meaning of the pre-defined (RDF or OWL) vocabulary 
 +  - it is unlikely that any reasoning software will be able to support complete reasoning for every feature of OWL Full. 
 + 
 +Each of these sublanguages is an extension of its simpler predecessor,​ both in what can be legally expressed and in what can be validly concluded.  
 + 
 +=== Attributes representation === 
 +Ontologies consist of taxonomies which describe hierarchy and relations between classes and of inference rules to operate on these classes. In this section I will concentrate on the first part. 
 + 
 +Using OWL one can represent attributes of classes and individuals. \\  
 + 
 +:?: Czy relacje typu: subclassOf, subpropertyOf to tez atrybuty, czy atrybutami są tylko "pola klasy"?​ :-| \\ \\ 
 + 
 +Describing OWL ontologies one can use ''​rdf'',​ ''​rdfs''​ and ''​owl''​ vocabulary.\\ \\ 
 + 
 +== Representing attributes regarding the taxonomy== 
 +__Sample (and incomplete) definition of a class__ 
 +<code xml> 
 +<​owl:​Class rdf:​ID="​Wine">​  
 +  <​rdfs:​subClassOf rdf:​resource="&​food;​PotableLiquid"/>​  
 +  <​rdfs:​label xml:​lang="​en">​wine</​rdfs:​label>​  
 +  <​rdfs:​label xml:​lang="​fr">​vin</​rdfs:​label>​  
 +  ...   
 +</​owl:​Class>​  
 + 
 +<​owl:​Class rdf:​ID="​Pasta">​ 
 +  <​rdfs:​subClassOf rdf:​resource="#​EdibleThing"​ /> 
 +  ... 
 +</​owl:​Class>​ 
 +</​code>​ 
 + 
 +__Sample description of an individual__ 
 +<code xml> 
 +<​owl:​Thing rdf:​ID="​CentralCoastRegion"​ />  
 + 
 +<​owl:​Thing rdf:​about="#​CentralCoastRegion">​  
 +   <​rdf:​type rdf:​resource="#​Region"/>​  
 +</​owl:​Thing>​ 
 +</​code>​ 
 +rdf:type is an RDF property that ties an individual to a class of which it is a member.  
 + 
 +== Representing properties == 
 +Properties let us assert general facts about the members of classes and specific facts about individuals. A property is a binary relation. \\ 
 +There are two types of properties in OWL:  
 +  * datatype properties, relations between instances of classes and RDF literals and XML Schema datatypes [[http://​www.w3.org/​TR/​2004/​REC-owl-guide-20040210/#​term_datatype|Properties and Datatypes]] 
 +  * object properties, relations between instances of two classes.  
 + 
 +Defining property restrictions:​ 
 +  * one can specify the domain and range 
 +<code xml> 
 +<​owl:​ObjectProperty rdf:​ID="​madeFromGrape">​  
 +  <​rdfs:​domain rdf:​resource="#​Wine"​/
 +  <​rdfs:​range rdf:​resource="#​WineGrape"​/>  
 +</owl:ObjectProperty>​  
 +</code> 
 +(In OWL, a sequence of elements without an explicit operator represents an implicit conjunction. The property madeFromGrape has a domain of Wine and a range of WineGrape. That is, it relates instances of the class Wine to instances of the class WineGrape. Multiple domains mean that the domain of the property is the intersection of the identified classes (and similarly for range).) 
 +  * The property can be defined to be a specialization (subproperty) of an existing property using ''​rdfs:​subPropertyOf''​ 
 +<code xml> 
 +<​owl:​ObjectProperty rdf:​ID="​hasWineDescriptor">​ 
 +  <​rdfs:​domain rdf:​resource="#​Wine" ​/
 +  <​rdfs:​range ​ rdf:​resource="#​WineDescriptor"​ /> 
 +</​owl:​ObjectProperty>​ 
 + 
 +<​owl:​ObjectProperty rdf:​ID="​hasColor">​ 
 +  <​rdfs:​subPropertyOf rdf:​resource="#​hasWineDescriptor"​ /> 
 +  <​rdfs:​range rdf:​resource="#​WineColor"​ /> 
 +  ... 
 +</​owl:​ObjectProperty>​ 
 +</​code>​ 
 + 
 +  * It is possible to specify property characteristics,​ which provides a powerful mechanism for enhanced reasoning about a property. Properties can be: 
 +    * transitive 
 +    * symmetric 
 +    * functional 
 +    * inverse 
 +    * inverse functional 
 +See: [[http://​www.w3.org/​TR/​2004/​REC-owl-guide-20040210/#​PropertyCharacteristics|Property characteristics]] for details. 
 +  * One can add further restrictions using ''​owl:​allValuesFrom'',​ ''​owl:​someValuesFrom'',​ ''​owl:​cardinality'',​ ''​owl:​hasValue''​ 
 + 
 +== Representing equivalence == 
 +Using attributes ''​equivalentClass'',​ ''​equivalentProperty'',​ ''​sameAs''​ one can define equivalence of classes, properties and individuals.
  
 ====== Sprawozdanie ====== ====== Sprawozdanie ======
 +
 +
 +
  
  
Linia 136: Linia 330:
 http://​www.w3.org/​TR/​rdf-primer\\ ​ http://​www.w3.org/​TR/​rdf-primer\\ ​
 http://​www.ninebynine.org/​RDFNotes/​RDFFactsAndRules.html#​xtocid-7\\ ​ http://​www.ninebynine.org/​RDFNotes/​RDFFactsAndRules.html#​xtocid-7\\ ​
-[[http://​gigapedia.org/​items/​51325/​logical-foundations-for-rule-based-systems--studies-in-computational-intelligence---studies-in-computational-intelligence-|A.Ligęza - Logical Foundations for Rule-Based Systems]] ​8-)\\ +[[http://​gigapedia.org/​items/​51325/​logical-foundations-for-rule-based-systems--studies-in-computational-intelligence---studies-in-computational-intelligence-|A.Ligęza - Logical Foundations for Rule-Based Systems]] ​\\  
 +http://​oxygen.informatik.tu-cottbus.de/​IT/​Research/​ERDF-JAIR-2008.pdf\\ 
 +http://​www.w3.org/​TR/​2004/​REC-owl-guide-20040210/​\\ 
 +http://​www.w3.org/​TR/​2004/​REC-owl-features-20040210/​\\
pl/miw/piw08_hekateonto.1211401167.txt.gz · ostatnio zmienione: 2019/06/27 15:59 (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