- Ontoprise collaboration server
- Collaborative Protégé
- http://precedings.nature.com/documents/3516/version/1/files/npre20093516-1.ppt
- online demo
- wiki
- Semantic Mediawiki
- OWLDiff
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
- 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
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
- 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.
- 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.)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
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
Monday, January 5, 2009
BioSpaces
My GigaSpaces Demo has been approved as OpenSpaces project. There are now:
- Project Wiki Space
- Jira Project
- SVN Repository
- Project Source Insight tool (FishEye)
- Project Forum
- Project Wiki Space
- Jira Project
- SVN Repository
- Project Source Insight tool (FishEye)
- Project Forum
Friday, November 21, 2008
www.mind-mapping.org
Saturday, July 26, 2008
MDA versus MDSD
from : http://www.openarchitectureware.org/forum/viewtopic.php?showtopic=9124
"MDA does not mean that you need to have UML models. Its only one way and sometimes not the best. Further, forget about the MDA spec. It is even no specification at all, its only a "guide". And it does not work as the MDA people think. Best practices in model-driven development are to not conform to MDA, so we call this MDSD. It might be that your process is more or less like MDA suggests, but you will only be successful if you break MDA concepts.
This is a long story...
Karsten Thoms"
"MDA does not mean that you need to have UML models. Its only one way and sometimes not the best. Further, forget about the MDA spec. It is even no specification at all, its only a "guide". And it does not work as the MDA people think. Best practices in model-driven development are to not conform to MDA, so we call this MDSD. It might be that your process is more or less like MDA suggests, but you will only be successful if you break MDA concepts.
This is a long story...
Karsten Thoms"
Sunday, July 13, 2008
Xtext and Java VM configuration
By developing DSLs with Xtext one usually work with two Eclipse workbenches:
-Xms256m -Xmx512m -XX:MaxPermSize=256m
If you are working on Max OS you will possibly get the following errors : "Cannot load 32-bit SWT libraries on 64-bit JVM". To fix the problem I use the following VM parameters:
-d32 -Dosgi.requiredJavaVersion=1.5 -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -XX:MaxPermSize=256m -Xms256m -Xmx512m -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
- one by design-time containing three projects: the grammar, the DSL-editor and the generator,
- and a second one started from the first where the three DSL-plugin are deployed.
-Xms256m -Xmx512m -XX:MaxPermSize=256m
If you are working on Max OS you will possibly get the following errors : "Cannot load 32-bit SWT libraries on 64-bit JVM". To fix the problem I use the following VM parameters:
-d32 -Dosgi.requiredJavaVersion=1.5 -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -XX:MaxPermSize=256m -Xms256m -Xmx512m -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
Saturday, June 28, 2008
Graphical versus textual DSLs
We are presently developing for a customer a DSL that aims to map different data structures. Our solution is based an Xtext of oAW. As its name said, Xtext is a framework that enables the development of textual DSLs. Our customer was scarred when he understood that he will have to WRITE code with our DSL. He had in mind a more user friendly DSL, something more graphical.
But is a graphical DSL more user frienly? Here some advantages that textual representations have over graphical notations:
But is a graphical DSL more user frienly? Here some advantages that textual representations have over graphical notations:
- while graphical notations are often useful to describe structural concepts (e.g. class diagrams), textual notations are often a better fit for describing behavior or algorithms (e.g. expressions)
- expert users often find them faster and easier to modify
- there is a rich set of existing tooling for dealing with text files (diff, merge, copy & paste, search & replace ...).
- by using any source control systems (CVS, SVN, ...) it is possible to manage different versions of the DSL.
Subscribe to:
Posts (Atom)