Synthetic Biology:Semantic web ontology/Knowledge representation


 * Wikipedia article on knowledge representation
 * Principles of Knowledge Representation and Reasoning, Incorporated (KR, Inc.) is a Scientific Foundation incorporated in the state of Massachusetts of the United States of America concerned with fostering research and communication on knowledge representation and reasoning
 * KR on the Open Directory Project
 * Google KR directory
 * What is a Knowledge Representation? by Randall Davis, MIT AI Lab
 * Semantic network is a directed graph consisting of vertices which represent concepts and edges which represent semantic relations between the concepts - a form of knowledge representation
 * Semantic Networks by John F. Sowa
 * Concept maps is a diagram showing the relationships among concepts
 * IHMC CmapTools - empowers users to construct, navigate, share and criticize knowledge models represented as concept maps


 * Mind map is a diagram used to represent words, ideas, tasks or other items linked to and arranged radially around a central key word or idea
 * FreeMind - free mind mapping software
 * vym - View Your Mind - free mind mapping software
 * Software for mindmapping and information organisation
 * Topic map
 * Topic maps, RDF, DAML, OIL
 * COMP30411: Knowledge Representation class at the University of Manchester


 * Thinking XML: Basic XML and RDF techniques for knowledge management
 * Part 1: Generate RDF using XSLT
 * Parl 2: Combining files into an RDF model, and basic RDF querying
 * Part 3: Knowledge from semantics
 * Part 4: Issue tracker schema
 * Part 5: Defining RDF and DAML+OIL
 * Part 6: RDF Query using Versa
 * Part 7: Review and relevance of the techniques discussed
 * IBM Systems Journal - Knowledge Management
 * Principles of Knowledge Representation and Reasoning, Incorporated (KR, Inc.) is a Scientific Foundation incorporated in the state of Massachusetts of the United States of America concerned with fostering research and communication on knowledge representation and reasoning.
 * Personal
 * MindRaider is Semantic Web outliner
 * gnowsis the Semantic Desktop environment
 * 2004: Metadata for the desktop
 * Text Mining
 * Machine readability - Nature article
 * BioText - infrastructure to support the development and deployment of statistical approaches to natural language processing, which will identify entities and relations between them in bioscience texts
 * OpenText Mining Interface (OTMI)
 * Arrowsmith explores the causes of disease
 * EBIMed is a web application that combines Information Retrieval and Extraction from Medline
 * BIONLP - natural language processing of biology text] - Bob Futrelle's page
 * Artificial Intelligence: A Modern Approach - this book describes the nature of knowledge, its representation, inference based on knowledge, and many other topics (sample chapters available online)
 * First-order logic
 * Higher-order logic

Description Logics

 * Description logics (DL) are a family of knowledge representation languages which can be used to represent the terminological knowledge of an application domain in a structured and formally well-understood way
 * Wikipedia article on description logics
 * Tutorial course
 * Description Logic Complexity Navigator
 * Logic: a well formalized part of agent knowledge and reasoning.
 * Reasoning: logical inference, "processing knowledge" (implicit knowledge has to be made explicit)
 * Expressive Power of representation language - able to represent the problem
 * Correctness of entailment procedure - no false conclusions are drawn
 * Completeness of entailment procedure - all correct conclusions are drawn
 * Decidability of entailment problem - there exists a (terminating) algorithm to compute entailment
 * Complexity - resources needed for computing the solution
 * Logics differ in terms of their representation power and computational complexity of inference. The more restricted the representational power, the faster the inference in general.
 * First-order logic: we can now talk about objects and relations between them, and we can quantify over objects. Good for representing most interesting domains, but inference is not only expensive, but may not terminate.
 * DL vs OWL (from Description Logic @ Wikipedia):
 * A concept in DL jargon is referred to as a class in OWL
 * A role in DL jargon is a property in OWL.
 * DL vs ER (from http://www.inf.unibz.it/~franconi/dl/course/slides/db/db.pdf):
 * An ER conceptual schema can be expressed in a suitable description logic theory.
 * The models of the DL theory correspond with legal database states of the ER schemas.
 * Mapping ER schema in DL theory:
 * Reasoning services such as satisfiability of a schema or logical implication can be performed by the corresponding DL theory.
 * A description logic allows for a greater expressivity than the original ER framework, in terms of full disjunction and negation, and entity definitions by means of both necessary and sufficient conditions.

Knowledge bases
(from http://www.inf.unibz.it/~franconi/dl/course/slides/kbs/kbs-modelling.pdf)
 * Distinctions:
 * Primitive vs. Defined.
 * Defnitional vs. Incidental.
 * Concept vs. Individual.
 * Concept vs. Role.
 * Steps to design:
 * Enumerate Objects. As a bare list of elements of the KB; they will became individuals, concepts, or role.
 * Distinguish Concepts from Roles. Make a first decision about what object must be considered role; remember that some could have a "natural" concept associated. The remaining objects will be concepts (or maybe individuals). Also, try to distinguish roles from attributes.
 * Develop Concept Taxonomy. Try to decide a classifcation of all the concepts, imagining their extensions. This taxonomy will be used as a first reference, and could be revised when definition will be given. It will be used also to check if definition meet our expectations (sometime, interesting, unforeseen (re)classifications are found).
 * Devise partitions. Try to make explicit all the disjointness and covering constraints among classes, and reclassify the concepts.
 * Individuals. Try to list as many as possible generally useful individuals. Some could have been already listed in step 1. Try to describe them (classify).
 * Properties and Parts. Begin to define the internal structure of concepts (this process will continue in the next steps). For each concept list:
 * intrinsic properties, that are part of the very nature of the concept;
 * extrinsic properties, that are contingent or external properties of the object; they can sometime change during the time;
 * parts, in the case of structured or collective objects. They can be physical (e.g., "the components of a car", "the casks of a winery", "the students of a class", "the members of a group", "the grape of a wine") or abstract (e.g., "the courses of a meal", "the lessons of a course", "the topics of a lesson").
 * In some cases some relationships between individuals of classes can be considered too accidental to be listed above (e.g., "the employees of a winery"; but the matter could change if we consider Winery as a subconcept of Firm).
 * In general, the above distinctions depend on the level of detail adopted.
 * Some of the listed roles will be later considered defnitional, and some incidental.
 * After this and the next steps check/revision of the taxonomy could be necessary.
 * Cardinality Restrictions. For the relevant roles for each concept.
 * Value Restriction. As above. Also, chose the right restriction.
 * Propagate Value Restrictions. If some value restrictions stated in the previous step does not correspond to already existing concepts, they must be defined.
 * Inter-role Relationship. Even if hardly definable in DL, they can be useful during the populating and debugging phases.
 * Definitional and Incidental. It is important distinguish between definitional and incidental properties, w.r.t. to the particular application.
 * Primitive and Defined. As above.

Software

 * The Classic Knowledge Representation System from Bell Labs