Sunday, December 26, 2010

Symboles terminaux et non-terminaux

En informatique, on appelle symboles terminaux et non-terminaux les symboles utilisés dans les règles de production d'une grammaire formelle. Les symboles terminaux forment les morceaux de chaînes de caractères générés par la grammaire. Les symboles non-terminaux correspondent aux noms des règles de la grammaire, et produisent des séquences de symboles terminaux et non-terminaux.

Par exemple, pour représenter un nombre éventuellement signé, on peut proposer la grammaire suivante (exprimée en notation pseudo-BNF) :

::= ['-'] {}
::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
Dans cette grammaire, les symboles (-,0,1,2,3,4,5,6,7,8,9) sont terminaux ; les symboles et sont non-terminaux.

Thursday, December 16, 2010

Synthax versus Semantic

The synthax defines the correctness of a sequence of characters without meaning. Semantic defines the meaning of this sequence of characters.
Example: 34 + 6 = 100 ist syntactic correct but semantic wrong.

Thursday, December 9, 2010

Is your data 5 star ?

Tim Berners-Lee suggested a 5-star deployment scheme for Linked Open Data and Ed Summers provided a nice rendering of it:




http://www.w3.org/DesignIssues/LinkedData.html

http://lab.linkeddata.deri.ie/2010/star-scheme-by-example/

Wednesday, June 9, 2010

Closed versus Open World Assumption

Let us take an example and define the following tripels:
  • dog is_a mammal;
  • cat is_a mammal;
  • mammal is_an animal;
  • fish is_an animal
  • mammals have vertebra;
Based on this knowledge do have fishes vertebra ?
A first interpretation is to say that fishes have no vertebra because it is not explicitly specify. This is the "Closed World Assumption". The second interpretation says that the non-specification means that we do not know. This is the "Open World Assumption".

Friday, February 12, 2010

Tools for collaborative ontology engineering

Thursday, February 4, 2010

Internet: le réseau des réseaux

"Internet est un réseau spontané, émergent, en coévolution accélérée avec son environement humain. Il est chaotique, anarchique, totalement décentralisé. Aucune administration centrale ne le dirige, personne ne le posède et plus personne ne peut arrêter son développement."
Joël De Rosnay, "L'Homme Symbiotique"

Saturday, January 30, 2010

RDF Vocabulary

Classes
  • rdf:Resource - the class resource, everything
  • rdfs:Literal - the class of XML literal values, e.g. strings and integers
  • rdf:XMLLiteral - the class of XML literal values
  • rdfs:Class - the class of classes
  • rdf:Property - the class of properties
  • rdfs:Datatype - the class of RDF datatypes
  • rdf:Statement - the class of RDF statements
  • rdf:Alt, rdf:Bag, rdf:Seq - containers of alternatives, unordered containers, and ordered containers (rdfs:Container is a super-class of the three)
  • rdfs:Container - the class of RDF containers
  • rdfs:ContainerMembershipProperty - the class of container membership properties, rdf:_1, rdf:_2, ..., all of which are sub-properties of rdfs:member
  • rdf:List - the class of RDF Lists
  • rdf:nil - an instance of rdf:List representing the empty list
Properties
  • rdf:type - an instance of rdf:Property used to state that a resource is an instance of a class
  • rdfs:subClassOf - the subject is a subclass of a class
  • rdfs:subPropertyOf - the subject is a subproperty of a property
  • rdfs:domain - a domain of the subject property
  • rdfs:range - a range of the subject property
  • rdfs:label - a human-readable name for the subject
  • rdfs:comment - a description of the subject resource
  • rdfs:member - a member of the subject resource
  • rdf:first - the first item in the subject RDF list
  • rdf:rest - the rest of the subject RDF list after the first item
  • rdfs:seeAlso - further information about the subject resource
  • rdfs:isDefinedBy - the definition of the subject resource
  • rdf:value - idiomatic property used for structured values
  • rdf:subject - the subject of the subject RDF statement
  • rdf:predicate - the predicate of the subject RDF statement
  • rdf:object - the object of the subject RDF statement

Simple Knowledge Organization System (SKOS)

SKOS @ W3

Differences between a thesaurus and a formal ontology

from SKOS Reference :
"... To understand this distinction, consider that the "knowledge" made explicit in a formal ontology is expressed as sets of axioms and facts. A thesaurus or classification scheme is of a completely different nature, and does not assert any axioms or facts. Rather, a thesaurus or classification scheme identifies and describes, through natural language and other informal means, a set of distinct ideas or meanings, which are sometimes conveniently referred to as "concepts". These "concepts" may also be arranged and organized into various structures, most commonly hierarchies and association networks. These structures, however, do not have any formal semantics, and cannot be reliably interpreted as either formal axioms or facts about the world. Indeed they were never intended to be so, for they serve only to provide a convenient and intuitive map of some subject domain, which can then be used as an aid to organizing and finding objects, such as documents, which are relevant to that domain.

To make the "knowledge" embedded in a thesaurus or classification scheme explicit in any formal sense requires that the thesaurus or classification scheme be re-engineered as a formal ontology. In other words, some person has to do the work of transforming the structure and intellectual content of a thesaurus or classification scheme into a set of formal axioms and facts. ..."

Monday, January 25, 2010

Farmer & Belin’s Criteria of Life

  1. Life is a pattern in spacetime, rather than a material object. For example, most of our cells are replaced many times during our lifetime. It is the pattern and set of relationships that are important, rather than the specific identity of the atoms.
  2. Self-reproduction, if not in the organism itself, at least in some related organism. (Mules are alive, butcannot reproduce. Viruses can only reproduce with the aid of a host.)
  3. Information storage of a self-representation. For example, contemporary natural organisms store a description of themselves in DNA molecules, which is interpreted in the context of the protein/RNA machinery.
  4. A metabolism which converts matter and energy from the environment into the pattern and activities of the organism. Note that some organisms, such as viruses, do not have a metabolism of their own, but make use of the metabolisms of other organisms.
  5. Functional interactions with the environment. A living organism can respond to or anticipate changes in its environment. Organisms create and control their own local (internal) environments.
  6. Interdependence of parts. The components of living systems depend on one another to preserve the identity of the organism. One manifestation of this is the ability to die. If we break a rock in two, we are left with two smaller rocks; if we break an organism in two, we often kill it.
  7. Stability under perturbations and insensitivity to small changes, allowing the organism to preserve its form and continue to function in a noisy environment, or after being subjected to minor damage.
  8. The ability to evolve. This is not a property of an individual organism, but rather of its lineage. Indeed, the existence of a lineage is an important feature of living systems.

OWL versus UML

UML (Unified Modelling Language) und OWL (Web Ontology Language) are both modelling languages with a visual syntax that have developed independently from each other but both with the idea to allow conceptualisation of real world phenomena.
UML -> Object-Oriented Programming (OOP)
OWL -> Description Logic (DL)

There are used in different contexts by different persons. UML is used for specifying, visualizing and documenting software systems. OWL is a description logic based ontology language used in knowledge representation (KR)

UML is based on close world assumption. The close word assumption states that what is not currently known to be true is false.
The counterpart is open world assumption (this is what OWL is based on), which asserts that a system’s knowledge is incomplete, so that if a statement cannot be inferred from what is represented in the system, it cannot be inferred to be false.

In UML are classes (objects) are grouped in packages. In OWL are URIs used to identify all objects. These URIs are then grouped in namespaces.

OO programming, you create the superclass first and then you derive subclasses from it. In the semantic web, you make the subclasses first, then you stick them together into a superclass.


What can UML that OWL does not can ? and what can OWL that UML does not can ?
Can we use OWL in SW engineering ?
Where do we need ontology in SW engineering ?
Is OWL not to complicated for a normal human ?

Others topics:
- OWL versus RDF
- OWL tooling
- RDF tripple store
- OWL compared with DSL

Some References:
[1] Guarino_1998_Formal_Ontology_and_Information_Systems.pdf
[2] Barry_Smith_2003_Blackwell_Guide_to_the_Philosophy_of_Computing_and_Information.pdf
[3] Brockmans_2004_A_Model_Driven_Approach_for_Building_OWL_DL_and_OWL_Full_Ontologies.pdf
[4] Brockmans_2004_Visual_Modeling_of_OWL_DL_Ontologies_Using_UML.pdf
[5] Brockmans_A_Metamodel_and_UML_Profile_for_Rule-extended_OWL_DL_Ontologies.pdf
[6] Guarino_1998_Formal_Ontology_and_Information_Systems.pdf
[7] Guus_Schreiber_2005_Lecture_part_2_on_Ontology_design_patterns.ppt
[8] Hart_2004_OWL_full_and_UML_2.0_compared.pdf
[9] Koide_OWL_vs_Object_Oriented_Programming.pdf
[10] Nils_J_Nilsson_1983_Logical_Foundations_of_Artificial_Intelligence.pdf
[11] Nils_J_Nilsson_1991_Logic_and_artificial_intelligence.pdf
[12] OMG_2009_Ontology_Definition_Metamodel_v1.pdf
[13] Xue_2008_Comparative_study_OWL_UML.pdf
Links
http://www.w3.org/TR/NOTE-rdf-uml/
http://infolab.stanford.edu/~melnik/rdf/uml/
http://swik.net/Ontology+UML