Weronika Furmańska ikaf@student.agh.edu.pl

Porównać i omówić metody reprezentowania atrybutów w językach:

oraz metody reprezentowania reguł w:

  • RIF
  • R2ML
  • RuleML

co to jest 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

tools: http://sweetrules.projects.semwebcentral.org/

people http://www.mit.edu/~bgrosof/

concepts: http://en.wikipedia.org/wiki/Description_Logics



RIF RDF and OWL Compatibility

XTT desc proposal (

  • Domain - discrete finite set of allowed attribute values a przedzialy dla wartosci atrybutow typu numeric?


OWL implementations




Part 1. Attributes representation in different markup languages

To start with...

While talking about attribute-based languages we can recognize the following types of logic:

  • AAL – Attributive Logic, i.e. attributive logic with atomic values of attributes only
  • SAL – Set Attributive Logic, i.e. attributive logic with set values of attributes
  • VAAL – Variable Atomic Attributive Logic, i.e.attributive logic with atomic values of attributes incorporating variables
  • VSAL - Variable Set Attributive Logic, i.e.attributive logic with set values of attributes incorporating variables

The alphabet and the crucial question:What is an attribute?

Let there be the following, pairwise disjoint :-) sets of symbols:

  • O – a set of object name symbols
  • A – a set of attribute names
  • D – a set of attribute values names (the domains)
  • V – a set of variable symbols (variables)

If the set of attributes is finite and given as
where Di is the domain of attribute Ai , i=1, 2, …,n.

Attributes in AAL and VAAL
An attribute Ai is a function (or partial function) of the form:
An attribute can be a partial function, since not all the attributes must be defined for all the objects.

Generalized attributes in SAL and VSAL
A generalized attribute Ai is a function (or partial function) of the form

RDF - Resource Description Framework

Basic information

  1. RDF identifies things using Web identifiers (URIs)
  2. RDF is written in XML. The language is called RDF/XML.
  3. The main elements of RDF are the root element, <RDF>, and the <Description> element, which identifies a resource.
  4. <rdf:RDF> is the root element of an RDF document. It defines the XML document to be an RDF document. It also contains a reference to the RDF namespace. <rdf:RDF xmlns:rdf=„http://www.w3.org/1999/02/22-rdf-syntax-ns#
  5. The <rdf:Description> element identifies a resource with the rdf:about attribute. This element contains elements that describe the resource.

Attributes representation

„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 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
Subject URI, blank node
Predicate URI
Object URI, literal (constant values, plain or typed), blank node



  • 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.


RDF/XML notation

Triples of the Data Model (an example from W3Schools.):

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:

  • Properties as XML elements
<?xml version="1.0"?>
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" <!-- rdf namespace -->
xmlns:si="http://www.recshop.fake/siteinfo#"><!-- other namespace (eg. Our own website's)>
  <rdf:Description rdf:about="http://www.w3schools.com/RDF"> <!-- subject identifed with a resource by rdf:about attribute -->
    <si:author>Jan Egil Refsnes</si:author> <!-- property and its value -->
    <si:homepage>http://www.w3schools.com</si:homepage> <!-- another property and its value -->

When you parse the example above with a RDF Validator, the result will look something like this

  • Properties as attributes
  • 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. — Weronika Furmańska 2008/05/21 22:35

ERDF - Extended RDF

Basic information

ERDF extends RDF graphs with weak and strong negation, as well as derivation rules. The main concepts of the ERDF are based on 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 allows to derive :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 derives :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 default) and therefore support both close-world and open-world reasoning.

ERDF extends RDF and RDFSchema in a couple of ways.

  1. First, RDF triples are extended with the inclusion of strong negation, so one can specify a predicate which is explicitly negative.
    <ex:likes erdf:negationMode="Sneg" rdf:resource="#Pork"/> 
  2. 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).
  3. 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





Example of a regular (partial by design) property:

<rdf:Property rdf:about="#likes">
  <rdfs:domain rdf:resource="#Person"/>

Example of a total property:

<erdf:TotalProperty rdf:about="#authorOf">
  <rdfs:domain rdf:resource="#Person/">
  <rdfs:range rdf:resource="#Book"/>

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:
    <erdf:Description erdf:about="#Gerd">
  • literals that appear in the subject position are expressed as the text content of the erdf:about subelement:
      <erdf:About rdf:datatype="&xsd;string">Grigoris</erdf:About>
  • 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:
     <ex:denotationOf f:resource="#Grigoris"/> 
  • 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 OWL Guide)

Three sublanguages of OWL

OWL provides three increasingly expressive sublanguages designed for use by specific communities of implementers and users.

  • OWL Lite
  1. supports those users primarily needing a classification hierarchy and simple constraints
  2. it should be simpler to provide tool support for OWL Lite than its more expressive relatives
  3. provides a quick migration path for thesauri and other taxonomies
  4. has a lower formal complexity than OWL DL
  • OWL DL
  1. 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)
  2. includes all OWL language constructs, but they can be used only under certain restrictions
  3. is so named due to its correspondence with description logics
  • OWL Full
  1. is meant for users who want maximum expressiveness and the syntactic freedom of RDF with no computational guarantees
  2. allows an ontology to augment the meaning of the pre-defined (RDF or OWL) vocabulary
  3. 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

<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 rdf:ID="Pasta">
  <rdfs:subClassOf rdf:resource="#EdibleThing" />

Sample description of an individual

<owl:Thing rdf:ID="CentralCoastRegion" /> 
<owl:Thing rdf:about="#CentralCoastRegion"> 
   <rdf:type rdf:resource="#Region"/> 

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 Properties and Datatypes
  • object properties, relations between instances of two classes.

Defining property restrictions:

  • one can specify the domain and range
<owl:ObjectProperty rdf:ID="madeFromGrape"> 
  <rdfs:domain rdf:resource="#Wine"/>
  <rdfs:range rdf:resource="#WineGrape"/> 

(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
<owl:ObjectProperty rdf:ID="hasWineDescriptor">
  <rdfs:domain rdf:resource="#Wine" />
  <rdfs:range  rdf:resource="#WineDescriptor" />
<owl:ObjectProperty rdf:ID="hasColor">
  <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
  <rdfs:range rdf:resource="#WineColor" />
  • 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: 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.



pl/miw/piw08_hekateonto.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