<?xml version='1.0'?>
<!DOCTYPE art SYSTEM 'http://www.biomedcentral.com/xml/article.dtd'>
<art>
	<ui>1471-2105-9-S5-S1</ui>
	<ji>1471-2105</ji>
	<fm>
		<dochead>Proceedings</dochead>
		<bibl>
			<title>
				<p>Ontology Design Patterns for bio-ontologies: a case study on the Cell Cycle Ontology</p>
			</title>
			<aug>
				<au id="A1" ca="yes">
					<snm>Aranguren</snm>
					<fnm>Mikel Ega&#241;a</fnm>
					<insr iid="I1"/>
					<email>mikel.eganaaranguren@cs.man.ac.uk</email>
				</au>
				<au id="A2">
					<snm>Antezana</snm>
					<fnm>Erick</fnm>
					<insr iid="I2"/>
					<insr iid="I3"/>
					<email>erant@psb.ugent.be</email>
				</au>
				<au id="A3">
					<snm>Kuiper</snm>
					<fnm>Martin</fnm>
					<insr iid="I2"/>
					<insr iid="I3"/>
					<email>martin.kuiper@psb.ugent.be</email>
				</au>
				<au id="A4">
					<snm>Stevens</snm>
					<fnm>Robert</fnm>
					<insr iid="I1"/>
					<email>robert.stevens@manchester.ac.uk</email>
				</au>
			</aug>
			<insg>
				<ins id="I1">
					<p>School of Computer Science, University of Manchester, Oxford Road, M13 9PL Manchester, UK</p>
				</ins>
				<ins id="I2">
					<p>Department of Plant Systems Biology, VIB, Technologiepark 927, 9052 Gent, Belgium</p>
				</ins>
				<ins id="I3">
					<p>Department of Molecular Genetics, Ghent University, Technologiepark 927, 9052 Gent, Belgium</p>
				</ins>
			</insg>
			<source>BMC Bioinformatics</source>
			<supplement>
				<title>
					<p>Proceedings of the 10<sup>th</sup> Bio-Ontologies Special Interest Group Workshop 2007. Ten years past and looking to the future</p>
				</title>
				<editor>Phillip Lord, Robert Stevens, Susanna-Assunta Sansone, Robin MacEntire</editor>
				<note>Proceedings</note>
			</supplement>
			<conference>
				<title>
					<p>10<sup>th</sup> Bio-Ontologies Special Interest Group Workshop 2007. Ten years past and looking to the future</p>
				</title>
				<location>Vienna, Austria</location>
				<date-range>20 July 2007</date-range>
			</conference>
			<issn>1471-2105</issn>
			<pubdate>2008</pubdate>
			<volume>9</volume>
			<issue>Suppl 5</issue>
			<fpage>S1</fpage>
			<url>http://www.biomedcentral.com/1471-2105/9/S5/S1</url>
			<xrefbib>
				<pubidlist><pubid idtype="pmpid">18460183</pubid><pubid idtype="doi">10.1186/1471-2105-9-S5-S1</pubid>
				</pubidlist></xrefbib>
		</bibl>
		<history>
			<pub>
				<date>
					<day>29</day>
					<month>04</month>
					<year>2008</year>
				</date>
			</pub>
		</history>
		<cpyrt>
			<year>2008</year>
			<collab>Aranguren et al.; licensee BioMed Central Ltd.</collab>
			<note>This is an open access article distributed under the terms of the Creative Commons Attribution License (<url>http://creativecommons.org/licenses/by/2.0</url>), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</note>
		</cpyrt>
		<abs>
			<sec>
				<st>
					<p>Abstract</p>
				</st>
				<sec>
					<st>
						<p>Background</p>
					</st>
					<p>Bio-ontologies are key elements of knowledge management in bioinformatics. Rich and rigorous bio-ontologies should represent biological knowledge with high fidelity and robustness. The richness in bio-ontologies is a prior condition for diverse and efficient reasoning, and hence querying and hypothesis validation. Rigour allows a more consistent maintenance. Modelling such bio-ontologies is, however, a difficult task for bio-ontologists, because the necessary richness and rigour is difficult to achieve without extensive training.</p>
				</sec>
				<sec>
					<st>
						<p>Results</p>
					</st>
					<p>Analogous to design patterns in software engineering, Ontology Design Patterns are solutions to typical modelling problems that bio-ontologists can use when building bio-ontologies. They offer a means of creating rich and rigorous bio-ontologies with reduced effort. The concept of Ontology Design Patterns is described and documentation and application methodologies for Ontology Design Patterns are presented. Some real-world use cases of Ontology Design Patterns are provided and tested in the Cell Cycle Ontology. Ontology Design Patterns, including those tested in the Cell Cycle Ontology, can be explored in the Ontology Design Patterns public catalogue that has been created based on the documentation system presented (<url>http://odps.sourceforge.net/</url>).</p>
				</sec>
				<sec>
					<st>
						<p>Conclusions</p>
					</st>
					<p>Ontology Design Patterns provide a method for rich and rigorous modelling in bio-ontologies. They also offer advantages at different development levels (such as design, implementation and communication) enabling, if used, a more modular, well-founded and richer representation of the biological knowledge. This representation will produce a more efficient knowledge management in the long term.</p>
				</sec>
			</sec>
		</abs>
	</fm>
	<bdy>
		<sec>
			<st>
				<p>Background</p>
			</st>
			<p>Ontologies are engineering artefacts that can formally represent the concepts and their relationships within a given knowledge domain. They can provide a computationally processable conceptual representation of our current understanding of reality, as described within the information we hold. Bio-ontologies (ontologies that represent concepts from life sciences and, in particular, from molecular biology) are becoming increasingly important <abbrgrp>
					<abbr bid="B1">1</abbr>
				</abbrgrp>. Bio-ontologies play a central role in bioinformatics: they act as knowledge bases, database integrators, shared vocabularies, and more <abbrgrp>
					<abbr bid="B1">1</abbr>
				</abbrgrp>. Many bio-ontologies are available through the Open Biomedical Ontologies (OBO) project <abbrgrp>
					<abbr bid="B2">2</abbr>
				</abbrgrp>, with the Gene Ontology (GO) <abbrgrp>
					<abbr bid="B3">3</abbr>
				</abbrgrp> being the most important example.</p>
			<p>Bio-ontologies are implemented in different Knowledge Representation (KR) languages, differing in properties that can be described along the following axes:</p>
			<p>&#8226; Syntax: what constitutes a well formed statement.</p>
			<p>&#8226; Semantics: what well formed statements mean, often defined as the set of concrete situations (models) that are consistent with a sentence or set of sentences.</p>
			<p>&#8226; Expressiveness: ability of the language to distinguish different kinds of concrete situations&#8212;something that can be called &#8220;precision&#8221;.</p>
			<p>&#8226; Reasoning: answering some semantic based query, such as determining if one statement follows from another. Reasoning is performed by a program called a &#8220;reasoner&#8221;.</p>
			<p>The most used KR languages in bioinformatics are OBO <abbrgrp>
					<abbr bid="B4">4</abbr>
				</abbrgrp> and/or OWL <abbrgrp>
					<abbr bid="B5">5</abbr>
				</abbrgrp>. OWL has three sub-languages, depending on the expressivity: OWL-Lite, OWL-DL and OWL-Full. OWL-Full is the most expressive type, and reasoning results are not warranted. The expressiveness of a KR language can be exploited to produce rich bio-ontologies, that is, bio-ontologies that represent the knowledge most accurately, precisely and comprehensively, with the highest possible resolution. Rich bio-ontologies are amenable to more diverse interactions with biologists, for example when querying. A rich bio-ontology can also facilitate more interesting reasoning, for example to obtain new hypotheses from biological knowledge. Presently, however, bio-ontologies mainly tend to be <it>lean</it>, as opposed to <it>rich</it>, due to the gap between the potential of KR techniques and their actual implementation in bio-ontologies. Most bio-ontologies do not come close to using all the expressiveness of the selected KR language <abbrgrp>
					<abbr bid="B6">6</abbr>
				</abbrgrp>, even if that language has limitations in its ability to fully describe the biological domain knowledge <abbrgrp>
					<abbr bid="B7">7</abbr>
				</abbrgrp>. As a result, only a limited part of the domain knowledge is captured.</p>
			<p>Another problem with current bio-ontologies is the lack of rigour (use of strict, explicit and well defined semantics). Rigour ensures a sound structure and hence a more robust development and maintenance over time. Despite efforts to improve the rigour of some bio-ontologies <abbrgrp>
					<abbr bid="B8">8</abbr>
					<abbr bid="B9">9</abbr>
					<abbr bid="B10">10</abbr>
				</abbrgrp>, rigorous modelling is not general practice within bio-ontologies.</p>
			<p>The modelling effort required for obtaining a rich and rigorous bio-ontology is usually too demanding for many bio-ontologists, as they are usually biologists with a limited training in either ontology development or the KR language used for the ontology's representation. If, however, we are to improve the knowledge management in bioinformatics and move from lean to rich bio-ontologies, the bio-ontologies must be built by expert biologists who really know the vital subtleties of the knowledge domain. This tension between modelling best practice and modelling skills <abbrgrp>
					<abbr bid="B11">11</abbr>
				</abbrgrp> is a fundamental barrier for progress in bio-ontologies, as the bio-ontologists only rarely use the whole power of KR languages.</p>
			<p>One way to help bio-ontologists to model in a rich and rigorous manner is to provide them with &#8220;cookbook recipes&#8221; named Ontology Design Patterns (ODPs). ODPs are a development paradigm analogous to Software Design Patterns (SDPs) <abbrgrp>
					<abbr bid="B12">12</abbr>
				</abbrgrp>, widely used in OOP. A SDP is a proven solution to a known modelling problem that repeatedly appears when designing different software systems. Moreover, SDPs offer an &#8220;off the shelf&#8221; solution for the programmer: for example, in the case of the Model-View-Controller SDP a method for implementing graphical interfaces is provided. We propose that ODPs offer similar advantages to the bio-ontologists.</p>
			<p>Structures similar to ODPs have already been used in ontologies and appear in the literature. There are, however, still open issues, such as documentation, representation, application methods, detection of application targets, <it>etc</it>. In addition, whole areas of biological knowledge lack ODPs. The work presented here begins to tackle those issues by providing a definition and classification of ODPs, methodologies for spotting application targets for ODPs in bio-ontologies, methodologies for applying ODPs, a documentation system and an ODPs public catalogue <abbrgrp>
					<abbr bid="B13">13</abbr>
				</abbrgrp>. Some examples of ODPs that have been used on the Cell Cycle Ontology (CCO) are presented as use cases (Sequence ODP <abbrgrp>
					<abbr bid="B14">14</abbr>
				</abbrgrp> and Upper Level Ontology ODP <abbrgrp>
					<abbr bid="B15">15</abbr>
				</abbrgrp>).</p>
		</sec>
		<sec>
			<st>
				<p>Results</p>
			</st>
			<sec>
				<st>
					<p>Definition and classification of ODPs</p>
				</st>
				<p>ODPs are solutions to modelling problems that help the bio-ontologist to better use the expressivity and rigour of the KR language of choice. ODPs are examples of solutions, rather than abstract solutions that are instantiated in different systems, unlike SDPs. Thus, the bio-ontologist uses the ODP as a guide and is able to recreate the ODP in the concrete bio-ontology that it is being built.</p>
				<p>ODPs are used as samples of knowledge. For example, a bio-ontologist may want to model biological regulation, which can only be positive or negative. What constructs does OWL, for example, offer to create such a model of regulation and how can the bio-ontologist combine them? The answer is to use the Value Partition ODP <abbrgrp>
						<abbr bid="B16">16</abbr>
					</abbrgrp> as a sample (Figure <figr fid="F1">1</figr>; for the UML to OWL mapping used in Figures 1, 2, 6, 7, 8, 9 and 10, see Figure 4). The Value Partition ODP consists of a covering axiom and disjoint axioms that allow the values a parameter may take to be captured precisely. For example, a person can only be tall or short, but not both; the Value Partition ODP also makes the property by which an object &#8216;bears&#8217; the value functional&#8212;so an object only has that property once. Since regulation can only be positive or negative (in this view of the world), this Value Partition ODP should be used (Figure <figr fid="F2">2</figr>).</p>
				<p>ODPs are in principle abstract and implementation independent. We focus on OWL to provide a framework for direct implementation, adequate expressivity and ease of sharing. ODPs could be described in a more abstract formalism (such as First Order Logic) but that would decrease usability. ODPs can be classified according to their complexity, granularity, usability, popularity, <it>etc</it>. Here, we classify them according to the way they are used:</p>
				<fig id="F1">
					<title>
						<p>Figure 1</p>
					</title>
					<caption>
						<p>Structure of the Value Partition ODP, in UML</p>
					</caption>
					<text>
						<p>
							<b>Structure of the Value Partition ODP, in UML.</b> The covering axiom (the class <b>parameter</b> is equivalent to the union of classes <b>value_1</b> to <b>value_n</b>) ensures that when a new class is added, it is added as a subclass of the values; thus, no new values can be added.</p>
					</text>
					<graphic file="1471-2105-9-S5-S1-1"/>
				</fig>
				<fig id="F2">
					<title>
						<p>Figure 2</p>
					</title>
					<caption>
						<p>UML diagram of the application of the Value Partition ODP</p>
					</caption>
					<text>
						<p>
							<b>UML diagram of the application of the Value Partition ODP.</b> The Value Partition is used to model biological regulation, which can only be either positive or negative, by applying the ODP described in Figure <figr fid="F1">1</figr> to an actual bio-ontology.</p>
					</text>
					<graphic file="1471-2105-9-S5-S1-2"/>
				</fig>
				<fig id="F3">
					<title>
						<p>Figure 3</p>
					</title>
					<caption>
						<p>Extract of an OPL flat file, to be processed by the OPL program</p>
					</caption>
					<text>
						<p>
							<b>Extract of an OPL flat file, to be processed by the OPL program</b>. The program reads the flat file and performs the actions in the ontology. The statements end with ; and the comments (starting with #) are not processed, <b>?x</b> is equivalent to &#8220;any class&#8221;. The statements to be processed in this example are a <b>SELECT</b> statement followed by two <b>ADD</b> statements. When parsing, the program will select any class that has the value <b>regulation</b> in its <b>label</b> annotation property. The <b>ADD</b> statements are applied to any matching classes obtained from the <b>SELECT</b> statement. It will add two axioms to any matching class: the first axiom sets the matching class to be equivalent to the union of the (already existing) classes <b>positive</b> and <b>negative</b>. The second statement makes those classes disjoint. The resulting structure is the recreation of the Value Partition ODP.</p>
					</text>
					<graphic file="1471-2105-9-S5-S1-3"/>
				</fig>
				<fig id="F4">
					<title>
						<p>Figure 4</p>
					</title>
					<caption>
						<p>Simple mapping of OWL to UML</p>
					</caption>
					<text>
						<p>
							<b>Simple mapping of OWL to UML.</b> Not all the possible OWL axioms are included. R: property, C: class.</p>
					</text>
					<graphic file="1471-2105-9-S5-S1-4"/>
				</fig>
				<fig id="F5">
					<title>
						<p>Figure 5</p>
					</title>
					<caption>
						<p>Simplified model of cell cycle</p>
					</caption>
					<text>
						<p>
							<b>Simplified model of cell cycle.</b> This simplified view of the cell cycle is assumed when modelling it using the Sequence ODP. The model, however, suffices to represent many facts about the cell cycle.</p>
					</text>
					<graphic file="1471-2105-9-S5-S1-5"/>
				</fig>
				<fig id="F6">
					<title>
						<p>Figure 6</p>
					</title>
					<caption>
						<p>UML diagram of the Sequence ODP</p>
					</caption>
					<text>
						<p>
							<b>UML diagram of the Sequence ODP</b>
						</p>
					</text>
					<graphic file="1471-2105-9-S5-S1-6"/>
				</fig>
				<fig id="F7">
					<title>
						<p>Figure 7</p>
					</title>
					<caption>
						<p>UML diagram of the application of the Sequence ODP to CCO</p>
					</caption>
					<text>
						<p>
							<b>UML diagram of the application of the Sequence ODP to CCO</b>. The cell cycle is defined as a sequence of phases that happen one after the other, using the relationships <b>immediately_preceded_by and immediately_precedes</b>.</p>
					</text>
					<graphic file="1471-2105-9-S5-S1-7"/>
				</fig>
				<fig id="F8">
					<title>
						<p>Figure 8</p>
					</title>
					<caption>
						<p>UML diagram of a query that demonstrates the utility of the Sequence ODP</p>
					</caption>
					<text>
						<p>
							<b>UML diagram of a query that demonstrates the utility of the Sequence ODP.</b> The OWL-DL query <b>occurs_at some (preceded_by some S)</b> returns any interaction that occurs after S (G2 and M). However, if a user is only interested in anything occurring immediately after S (G2 but not M) <b>immediately_preceded_by</b> should be used: <b>occurs_at some </b>
							<b>(immediately_preceded_by some S)</b>.</p>
					</text>
					<graphic file="1471-2105-9-S5-S1-8"/>
				</fig>
				<fig id="F9">
					<title>
						<p>Figure 9</p>
					</title>
					<caption>
						<p>UML diagram of the Upper Level Ontology ODP</p>
					</caption>
					<text>
						<p>
							<b>UML diagram of the Upper Level Ontology ODP</b>
						</p>
					</text>
					<graphic file="1471-2105-9-S5-S1-9"/>
				</fig>
				<fig id="F10">
					<title>
						<p>Figure 10</p>
					</title>
					<caption>
						<p>UML diagram of the Upper Level Ontology ODP, as applied in CCO</p>
					</caption>
					<text>
						<p>
							<b>UML diagram of the Upper Level Ontology ODP, as applied in CCO.</b> Disjoint axioms not shown.</p>
					</text>
					<graphic file="1471-2105-9-S5-S1-10"/>
				</fig>
				<p>&#8226; Extensional ODPs: ODPs that provide ways of extending the limits of the chosen KR language. Some ODPs can be used to overcome those limitations and present a suitable representation of the knowledge domain that needs to be captured. For example OWL cannot be used to express exceptions <abbrgrp>
						<abbr bid="B7">7</abbr>
						<abbr bid="B17">17</abbr>
					</abbrgrp> or n-ary relationships <abbrgrp>
						<abbr bid="B7">7</abbr>
					</abbrgrp>, and there are ODPs to work around those limitations (Exception ODP <abbrgrp>
						<abbr bid="B18">18</abbr>
					</abbrgrp> and N-ary Relationship ODP <abbrgrp>
						<abbr bid="B19">19</abbr>
					</abbrgrp>).</p>
				<p>&#8226; Good practice ODPs: ODPs that are used to ensure a modelling good practice. These ODPs are used to produce more modular, efficient and maintainable ontologies, tackling already known pitfalls of ontology engineering such as hard-coding of multiple subsumptions <abbrgrp>
						<abbr bid="B20">20</abbr>
					</abbrgrp>. Examples include Normalisation ODP <abbrgrp>
						<abbr bid="B21">21</abbr>
					</abbrgrp>, Value Partition ODP <abbrgrp>
						<abbr bid="B16">16</abbr>
					</abbrgrp> and Upper Level Ontology ODP <abbrgrp>
						<abbr bid="B15">15</abbr>
					</abbrgrp>.</p>
				<p>&#8226; Domain Modelling ODPs: ODPs that are used to model a concrete part of the knowledge domain. They can be defined as &#8220;signature&#8221; ODPs: each knowledge domain has its peculiarities and these ODPs are used to model those peculiarities. Biological knowledge sometimes differs from other domains because of contingency, symmetry, different levels of complexity interacting with each other, emergent properties, <it>etc</it>. Examples include List ODP <abbrgrp>
						<abbr bid="B22">22</abbr>
					</abbrgrp>, Adapted SEP ODP <abbrgrp>
						<abbr bid="B23">23</abbr>
					</abbrgrp>, Sequence ODP <abbrgrp>
						<abbr bid="B14">14</abbr>
					</abbrgrp> and Species ODP <abbrgrp>
						<abbr bid="B24">24</abbr>
					</abbrgrp>.</p>
				<p>Extensional and Good Practice ODPs are common to all ontologies. Domain Modelling ODPs are more specific to the knowledge domain (in this case, biological knowledge), but they can also be used in other domains.</p>
			</sec>
			<sec>
				<st>
					<p>Applying ODPs</p>
				</st>
				<p>An important aspect of ODPs is understanding when it is appropriate to apply a particular ODP. Ideally, the situation in which it is appropriate to apply an ODP should be apparent to a bio-ontologist; the ODP should be self explanatory in terms of documentation (for example when exploring the ODPs public catalogue presented bellow). The bio-ontologist can, however, be guided using competency questions such as the ones described in Table <tblr tid="T1">1</tblr>. These and other questions will be used to form a decision tree that will guide a bio-ontologist towards an appropriate ODP. These questions can be supplemented with material on the types of entity that can be involved and the kinds of relationships they have with other entities, eventually being refined down to the granularity of semantics used in the ODP itself.</p>
				<tbl id="T1" hint_layout="single">
					<title>
						<p>Table 1</p>
					</title>
					<caption>
						<p>Examples of competency questions that help in choosing an appropriate ODP</p>
					</caption>
					<tblbdy cols="2">
						<r>
							<c>
								<p>
									<b>Question</b>
								</p>
							</c>
							<c>
								<p>
									<b>ODP</b>
								</p>
							</c>
						</r>
						<r>
							<c cspan="2">
								<hr/>
							</c>
						</r>
						<r>
							<c>
								<p>Do these values exhaust the space of possibilities for a value space?</p>
							</c>
							<c>
								<p>Value Partition</p>
							</c>
						</r>
						<r>
							<c>
								<p>Is this a structure where the order matters?</p>
							</c>
							<c>
								<p>List</p>
							</c>
						</r>
						<r>
							<c>
								<p>Are those features of a relationship?</p>
							</c>
							<c>
								<p>N-ary Relationship</p>
							</c>
						</r>
						<r>
							<c>
								<p>Does it constitute an exception of a default case?</p>
							</c>
							<c>
								<p>Exception</p>
							</c>
						</r>
					</tblbdy>
				</tbl>
				<p>Once chosen, the main method for applying an ODP is to recreate completely or in part the structure of the example ODP in the ontology, optionally reusing (&#8220;importing&#8221; in OWL parlance) parts of the example ODP. The user can be guided in the process with wizards, for example using the wizards provided by the CO-ODE project <abbrgrp>
						<abbr bid="B25">25</abbr>
					</abbrgrp> for the Prot&#233;g&#233; ontology editor <abbrgrp>
						<abbr bid="B26">26</abbr>
					</abbrgrp>.</p>
				<p>Another method of applying ODPs is to use condition matching. The Ontology Processing Language (OPL) is a syntax that allows conditions to be defined for matching classes in an ontology written in OWL. The classes matched have transformations applied on them that change axioms or annotation values. Thus OPL can be used to create ODPs in an ontology, by defining and ODP as the changes to be made when a match happens.</p>
				<p>The matching condition can be of two types:</p>
				<p>&#8226; Syntactic condition: the condition relies on a string value. Thus, the class name or any annotation value, such as <b>label</b> or <b>comment</b>, can be used to try to match the condition. The condition can be a given value (e.g. <b>cell differentiation</b>) or a regular expression (e.g. <b>(.+?) (differentiation)</b>).</p>
				<p>&#8226; Semantic condition: the condition relies on the semantic structure of the ontology&#8212;the ODP is applied to any classes matching a class expression. For example, a condition can be defined so as to match any class that is subsumed by the class expression <b>located_in all (Chromosome or (part_of some Chromosome))</b> (in other words, any class that has the expression <b>located_in all (Chromosome or (part_of some Chromosome))</b> as a necessary condition). A semantic condition can be as complex as the user wishes (using any of OWL's expressivity) as the reasoner <abbrgrp>
						<abbr bid="B27">27</abbr>
						<abbr bid="B28">28</abbr>
					</abbrgrp> will process the ontology and retrieve any matched classes.</p>
				<p>OPL is partially based on the Manchester OWL Syntax <abbrgrp>
						<abbr bid="B29">29</abbr>
					</abbrgrp> and SPARQL <abbrgrp>
						<abbr bid="B30">30</abbr>
					</abbrgrp>, and it is available as a standalone application <abbrgrp>
						<abbr bid="B31">31</abbr>
					</abbrgrp> or as a Prot&#233;g&#233; plugin <abbrgrp>
						<abbr bid="B32">32</abbr>
					</abbrgrp>. The OPL commands are written in a flat file by the user and the OPL program parses the file, selecting classes and applying the changes defined, creating a new ontology. ODPs can be codified in the defined changes, and human-readable explanations can be written in comments. Thus, the ODPs are stored in a flat file for direct application, together with any comments bio-ontologists might find of interest. Therefore, ODPs can be applied at any time, to any ontology, by running the OPL program, and are persistently stored (Figure <figr fid="F3">3</figr>).</p>
			</sec>
			<sec>
				<st>
					<p>Documenting ODPs</p>
				</st>
				<p>The documentation system proposed in this research is inspired by the original SDPs documentation system <abbrgrp>
						<abbr bid="B12">12</abbr>
					</abbrgrp>, with some changes; the basic system is essentially the same, relying on some predetermined sections with which each ODP must be described; name, structure, <it>etc</it>. In the case of ODPs the sections are different, and some of them are optional (Table <tblr tid="T2">2</tblr>). An implementation of the documentation system is available as an ODPs public catalogue <abbrgrp>
						<abbr bid="B13">13</abbr>
					</abbrgrp>. The catalogue is directly implemented in OWL: each ODP is described in an ontology, using annotation properties for the sections that describe the ODP. The semantics of the ODP are directly expressed in the ontology, allowing for importing the ODPs and sharing the ODPs together with all the information codified in the annotation properties. Each Ontology is translated to HTML by an script (OWL2HTML) and the URL of the ontology is automatically generated from the URI of the ontology. The whole catalogue can be downloaded <abbrgrp>
						<abbr bid="B33">33</abbr>
					</abbrgrp> and generated locally from the OWL files by running the OWL2HTML script. The catalogue is open for suggestions and corrections, and any user can propose new ODPs to be added using the mailing lists and forums provided by Sourceforge <abbrgrp>
						<abbr bid="B33">33</abbr>
					</abbrgrp>.</p>
				<tbl id="T2" hint_layout="single">
					<title>
						<p>Table 2</p>
					</title>
					<caption>
						<p>Documentation system sections and their explanation. </p>
						<p>The names of the sections are given in the left column; the explanation in the center column, and the right column states which sections are optional</p>
					</caption>
					<tblbdy cols="3">
						<r>
							<c>
								<p>
									<b>Section name</b>
								</p>
							</c>
							<c>
								<p>
									<b>Explanation</b>
								</p>
							</c>
							<c>
								<p>
									<b>Optional</b>
								</p>
							</c>
						</r>
						<r>
							<c cspan="3">
								<hr/>
							</c>
						</r>
						<r>
							<c>
								<p>Name</p>
							</c>
							<c>
								<p>The unique name of the ODP</p>
							</c>
							<c>
								<p>No</p>
							</c>
						</r>
						<r>
							<c>
								<p>Also known as</p>
							</c>
							<c>
								<p>Any other name that is given to this ODP</p>
							</c>
							<c>
								<p>Yes</p>
							</c>
						</r>
						<r>
							<c>
								<p>URL</p>
							</c>
							<c>
								<p>An URL where the ODP can be obtained</p>
							</c>
							<c>
								<p>No</p>
							</c>
						</r>
						<r>
							<c>
								<p>Classification</p>
							</c>
							<c>
								<p>The classification, by general usage, of the ODP: One of &#8220;Extensional&#8221;, &#8220;Good practice&#8221; or &#8220;Domain Modelling&#8221;</p>
							</c>
							<c>
								<p>No</p>
							</c>
						</r>
						<r>
							<c>
								<p>Motivation</p>
							</c>
							<c>
								<p>The scenario where the ODP might be needed</p>
							</c>
							<c>
								<p>No</p>
							</c>
						</r>
						<r>
							<c>
								<p>Aim</p>
							</c>
							<c>
								<p>The concrete solution the ODP provides</p>
							</c>
							<c>
								<p>No</p>
							</c>
						</r>
						<r>
							<c>
								<p>Elements</p>
							</c>
							<c>
								<p>The properties, classes and instances that build the ODP</p>
							</c>
							<c>
								<p>No</p>
							</c>
						</r>
						<r>
							<c>
								<p>Structure</p>
							</c>
							<c>
								<p>How the elements relate to each other to build the ODP. This should be provided in any graphical form like UML or OWLViz</p>
							</c>
							<c>
								<p>No</p>
							</c>
						</r>
						<r>
							<c>
								<p>Sample</p>
							</c>
							<c>
								<p>An example of the structure, applied to an ontology</p>
							</c>
							<c>
								<p>No</p>
							</c>
						</r>
						<r>
							<c>
								<p>Implementation</p>
							</c>
							<c>
								<p>Explanation of how to build or apply the ODP in an actual system</p>
							</c>
							<c>
								<p>No</p>
							</c>
						</r>
						<r>
							<c>
								<p>Result</p>
							</c>
							<c>
								<p>The structure that should appear in the ontology after applying the ODP (and often after reasoning)</p>
							</c>
							<c>
								<p>No</p>
							</c>
						</r>
						<r>
							<c>
								<p>Side effects</p>
							</c>
							<c>
								<p>Any non obvious consequences of applying the ODP</p>
							</c>
							<c>
								<p>No</p>
							</c>
						</r>
						<r>
							<c>
								<p>Known uses</p>
							</c>
							<c>
								<p>Any system where the ODP has been successfully applied</p>
							</c>
							<c>
								<p>Yes</p>
							</c>
						</r>
						<r>
							<c>
								<p>Related ODPs</p>
							</c>
							<c>
								<p>Any ODP that uses or is used by this ODP, or any ODP that has anything in common with this one</p>
							</c>
							<c>
								<p>Yes</p>
							</c>
						</r>
						<r>
							<c>
								<p>References</p>
							</c>
							<c>
								<p>Any publications or web pages where this ODP has been previously described</p>
							</c>
							<c>
								<p>Yes</p>
							</c>
						</r>
						<r>
							<c>
								<p>Additional information</p>
							</c>
							<c>
								<p>Any information that does not fit in any of the previous sections</p>
							</c>
							<c>
								<p>Yes</p>
							</c>
						</r>
					</tblbdy>
				</tbl>
				<p>SDPs and ODPs are described in a different manner in a documentation system. SDPs are described with UML in a generic manner, and then the instances of the SDP are applied in the programming language of choice. In contrast, there is no easy, graphical, complete and established language a la UML for describing ODPs, because there is not such a language for KR languages. As a consequence, ODPs have to be described using instances: the model, rather than being a generic structure like in SDPs, is an instance that implicitly describes the generic structure.</p>
				<p>The absence of a language that can describe the same structure in different KR languages makes it very difficult to develop a suitable graphical representation for ontologies. In the case of the ODPs public catalogue UML has been chosen in the hope that better languages will be developed. Despite having certain advantages (standard, already widely used and with available tooling) and having been designed as a general purpose modelling language, UML lacks native structures for a straightforward representation of OWL. Therefore, the UML representation is not compact enough and it is too complex. The UML to OWL mapping used in the public ODPs public catalogue is the one proposed in <abbrgrp>
						<abbr bid="B34">34</abbr>
					</abbrgrp> (Figure <figr fid="F4">4</figr>). OWLViz <abbrgrp>
						<abbr bid="B35">35</abbr>
					</abbrgrp> is also used for simple subsumption hierarchies.</p>
			</sec>
			<sec>
				<st>
					<p>Use of ODPs on the Cell Cycle Ontology</p>
				</st>
				<p>In the context of the FP6 project DIAMONDS <abbrgrp>
						<abbr bid="B36">36</abbr>
					</abbrgrp>, an ontology is being developed to represent the knowledge about the cell cycle <abbrgrp>
						<abbr bid="B37">37</abbr>
					</abbrgrp>. This application ontology, called Cell Cycle Ontology <abbrgrp>
						<abbr bid="B38">38</abbr>
					</abbrgrp>, comprises data from a number of resources such as GO, Relations Ontology (RO) <abbrgrp>
						<abbr bid="B39">39</abbr>
					</abbrgrp>, IntAct <abbrgrp>
						<abbr bid="B40">40</abbr>
					</abbrgrp>, NCBI taxonomy <abbrgrp>
						<abbr bid="B41">41</abbr>
					</abbrgrp>, UniProt <abbrgrp>
						<abbr bid="B42">42</abbr>
					</abbrgrp> as well as data from DIAMONDS partners. The resulting CCO is designed to provide a richer view of the cell cycle regulatory process, in particular by accommodating the intrinsic dynamics of this process. For that purpose, three major components are considered: the (persistent) entity itself, its spatial localization, and its temporal localization. CCO provides a test bed for the development of new approaches and tools necessary to create a fully-fledged knowledge base. This knowledge base is expected to enable deployment of advanced reasoning approaches for knowledge discovery and hypotheses generation. CCO supports four model organisms: human (<it>Homo sapiens</it>), Arabidopsis (<it>Arabidopsis thaliana</it>), Baker's yeast (<it>Saccharomyces cerevisiae</it>) and Fission yeast (<it>Schizosaccharomyces pombe</it>). There is an ontology file for each of the four model organisms and the file is available in several formats <abbrgrp>
						<abbr bid="B43">43</abbr>
					</abbrgrp>: OBO <abbrgrp>
						<abbr bid="B4">4</abbr>
					</abbrgrp>, OWL-DL <abbrgrp>
						<abbr bid="B5">5</abbr>
					</abbrgrp>, XML, DOT <abbrgrp>
						<abbr bid="B44">44</abbr>
					</abbrgrp> and GML <abbrgrp>
						<abbr bid="B45">45</abbr>
					</abbrgrp>. Presently, CCO holds more that 20,000 concepts (more than 1,000 bio-molecules and over 9,000 interactions) and more than 20 types of relationships. At present, two ODPs have been applied in CCO: the Sequence ODP and the Upper Level Ontology ODP.</p>
				<p>The Sequence ODP <abbrgrp>
						<abbr bid="B14">14</abbr>
					</abbrgrp> is used in CCO to model the cell cycle (Figure <figr fid="F5">5</figr>). The cell cycle is modelled as a sequence of events, starting in the phase G1, followed by S, G2 and finally M <abbrgrp>
						<abbr bid="B46">46</abbr>
					</abbrgrp>. For the sake of simplicity, only the described steps of a standard cell cycle are considered, not considering the other steps (that also might play important roles) or variations such as endoreduplication.</p>
				<p>There are other sequences of events that in principle can be modelled in the same manner, such as metabolic pathways. This ODP is a &#8220;trimmed down&#8221; version of another ODP, the List ODP <abbrgrp>
						<abbr bid="B22">22</abbr>
					</abbrgrp>. The List ODP is a much more complex structure in which the exact order of items is very important, whereas in the Sequence ODP the only aspect modelled is what happens after or before a given event. For example, the Sequence ODP cannot be used to compare different sequences of events. The sequence ODP (Figure <figr fid="F6">6</figr>) makes use of the relationships <b>precedes</b> and <b>preceded_by</b> from RO, both being transitive. It also uses two relationships not present in RO, namely <b>immediately_precedes</b> (subproperty of <b>precedes</b>) and <b>immediately_preceded_by</b> (subproperty of <b>preceded_by</b>), both being functional.</p>
				<p>When the ODP is applied to CCO (Figure <figr fid="F7">7</figr>), each phase of the cell cycle is <b>immediately_preceded_by</b> a phase and <b>immediately_precedes</b> another phase, only one in both cases, due to the fact that <b>immediately_preceded_by</b> and <b>immediately_precedes</b> are functional. Any phase that is <b>immediately_preceded_by</b> one phase is also assumed to be <b>preceded_by</b> the same phase, because <b>preceded_by</b> is a superproperty of <b>immediately_preceded_by</b>. The same applies to <b>immediately_precedes</b> and <b>precedes</b>.</p>
				<p>The use of the Sequence ODP allows to do flexible queries against the ontology. For example, if a given interaction occurs at M, and a query is defined to retrieve anything that happens after S (Figure <figr fid="F8">8</figr>), a reasoner will retrieve the interaction (and any interaction occurring at G2, as both G2 and M are preceded by S). This is due to the transitivity of <b>preceded_by</b>, which is assumed to relate the pertinent phases by the reasoner (even if it is not explicitly stated in the ontology) because it is the superproperty of the actual property that has been used to assert the relationship in the model, <b>immediately-preceded_by</b>. However, if the user is only interested in something happening just after S (G2 but not M), <b>immediately_preceded_by</b> should be used instead.</p>
				<p>The Upper Level Ontology ODP <abbrgrp>
						<abbr bid="B15">15</abbr>
					</abbrgrp> (Figure <figr fid="F9">9</figr>) can be used to facilitate modelling through its basic ontological distinctions. A principle application of upper level ontologies is to integrate different ontologies. This can be done because an upper level ontology makes distinctions between classes, independent of any particular domain: the classes in it represent types of concepts, such as <b>physical entity</b>, <b>process</b>, <it>etc</it>. For example, if an ontology that describes processes needs to be integrated, it can be done so under the class <b>process</b>. The classes of the upper level ontology are generally created according to philosophical criteria such as continuants vs. occurrents. Therefore, the use of an upper level ontology is controversial, because there are many flavours of philosophical approach and the bio-ontologist may follow a particular view of the world that will highly influence the structure of the bio-ontology. In the case of CCO an upper level ontology has been created (Figure <figr fid="F10">10</figr>) to include classes from other ontologies such as the whole <b>Cell Cycle</b> subontology from GO. The use of an upper level ontology also helps to ensure a good modelling practice, as different kinds of classes (processes, molecules) are created in separate disjoint subtrees, resulting in a cleaner model.</p>
			</sec>
		</sec>
		<sec>
			<st>
				<p>Discussion</p>
			</st>
			<p>Figure <figr fid="F11">11</figr> shows a simplified overview of prior attempts to provide solutions similar to ODPs; for the sake of brevity, the &#8220;W3C Best Practices&#8221; are assumed to be equivalent to the patterns described in <abbrgrp>
					<abbr bid="B47">47</abbr>
					<abbr bid="B48">48</abbr>
					<abbr bid="B49">49</abbr>
					<abbr bid="B50">50</abbr>
					<abbr bid="B51">51</abbr>
					<abbr bid="B52">52</abbr>
					<abbr bid="B53">53</abbr>
					<abbr bid="B54">54</abbr>
					<abbr bid="B55">55</abbr>
					<abbr bid="B56">56</abbr>
					<abbr bid="B57">57</abbr>
				</abbrgrp> (see bellow).</p>
			<fig id="F11">
				<title>
					<p>Figure 11</p>
				</title>
				<caption>
					<p>Comparison of proposed ODPs (left) and previous work (right)</p>
				</caption>
				<text>
					<p>
						<b>Comparison of proposed ODPs (left) and previous work (right)</b>. Three criteria are used for comparison: application and target spotting methodologies, documentation and types of formalisms.</p>
				</text>
				<graphic file="1471-2105-9-S5-S1-11"/>
			</fig>
			<p>Even if ODPs have already been documented in the literature, they have not been explicitly mentioned as such until recently <abbrgrp>
					<abbr bid="B58">58</abbr>
					<abbr bid="B59">59</abbr>
					<abbr bid="B60">60</abbr>
				</abbrgrp>. In <abbrgrp>
					<abbr bid="B60">60</abbr>
				</abbrgrp> they are mentioned as part of some ontology building methodologies, without further analysis such as documentation and application. The idea of CODePs (Conceptual Design Patterns) <abbrgrp>
					<abbr bid="B58">58</abbr>
					<abbr bid="B59">59</abbr>
				</abbrgrp> is close to ODPs, but they differ in the level of granularity of the proposed solution; CODePs are necessarily less fine grained than ODPs, as they represent conceptual and general solutions, whereas ODPs offer solutions in a given KR language with full semantic coverage. We propose that CODePs and ODPs are complementary: a CODeP will incarnate itself in an ODP that will show the bio-ontologist how to implement the CODeP in a concrete KR language, much as happens with the CODeP Description-Reification and the N-ary Relationship ODP <abbrgrp>
					<abbr bid="B19">19</abbr>
				</abbrgrp> in OWL. In summary, the application procedure, documentation system and representation of ODPs and CODePs are different. Knowledge Patterns <abbrgrp>
					<abbr bid="B61">61</abbr>
				</abbrgrp> are conceptual general patterns that are &#8220;morphed&#8221; into a given knowledge base by a set of mapping axioms. Thus, the knowledge pattern can not be applied directly by the bio-ontologist: this is a drawback since the application of the pattern needs to be as intuitive as possible. The same argument applies for the Semantic Patterns <abbrgrp>
					<abbr bid="B62">62</abbr>
				</abbrgrp>. The ODPs presented herein are real solutions to biological knowledge modelling problems, rather than theoretical propositions of general patterns; the value of these ODPs is that they are ready to be used by bio-ontologists, without any morphing axiom. ODPs are presented in OWL to make full use of the language's semantics. Those semantics can be mapped to other languages for interoperability (for example is relatively easy to map from OWL to OBO <abbrgrp>
					<abbr bid="B63">63</abbr>
					<abbr bid="B64">64</abbr>
					<abbr bid="B65">65</abbr>
					<abbr bid="B66">66</abbr>
				</abbrgrp>), but the opposite does not often happen: it is difficult for bio-ontologists, given a pattern in an abstract formalism, to apply that pattern to an actual bio-ontology with a concrete KR language.</p>
			<p>Some attempts have been made to provide best practice guidelines in ontology engineering and KR, which in some cases are semantically equivalent to ODPs. Some of those efforts have been collected (albeit not as a systematized collection) in the W3C Semantic Web Best Practices and Deployment Working Group web <abbrgrp>
					<abbr bid="B67">67</abbr>
				</abbrgrp>. Other efforts have been published as self-contained patterns in single publications, regarding partonomy <abbrgrp>
					<abbr bid="B47">47</abbr>
					<abbr bid="B48">48</abbr>
				</abbrgrp>, transitive propagation <abbrgrp>
					<abbr bid="B49">49</abbr>
					<abbr bid="B50">50</abbr>
					<abbr bid="B51">51</abbr>
					<abbr bid="B52">52</abbr>
					<abbr bid="B68">68</abbr>
				</abbrgrp>, ontology level <abbrgrp>
					<abbr bid="B53">53</abbr>
					<abbr bid="B54">54</abbr>
				</abbrgrp> and multi-ontology level best practices <abbrgrp>
					<abbr bid="B55">55</abbr>
					<abbr bid="B56">56</abbr>
				</abbrgrp>, and granularity <abbrgrp>
					<abbr bid="B57">57</abbr>
				</abbrgrp>, to mention some representative examples. In all cases, documentation, graphical representation and application methodologies as such have not been addressed in detail; at best, they were only implicitly and partially used. Some of those ODPs are collected in the ODPs public catalogue <abbrgrp>
					<abbr bid="B13">13</abbr>
				</abbrgrp>.</p>
			<p>The use of ODPs will most likely give several advantages to bio-ontologists when creating and maintaining bio-ontologies. The following advantages have not been thoroughly tested, and therefore there is not experimental evidence for them, but they are reasonable assumptions based in the authors' experience in bio-ontology engineering. The advantages are divided in three areas:</p>
			<p>1. Design (semantics, modelling):</p>
			<p>&#8226; Rich and granular modelling. ODPs should facilitate the production of more richly axiomatised ontologies by allowing a more fine-grained modelling of the knowledge domain. They should help in making the implicit knowledge found, for example, in term names, explicit, encoding it in the semantics of the ontology. Additionally, bio-ontologies are deepening the knowledge they model, and ODPs to represent that deeper knowledge with the suitable granularity are needed.</p>
			<p>&#8226; Semantic encapsulation. ODPs provide an easy way of dealing with the complexity of semantics in conceptual modelling by encapsulating it in the ODP.</p>
			<p>&#8226; Robustness and modularity. Some ODPs help in creating more robust and modular ontologies.</p>
			<p>&#8226; Reasoning. The richer axioms needed for efficient and productive reasoning should be reached more easily using ODPs. Therefore, as more axioms are placed in the ontology more sophisticated inferences can be undertaken.</p>
			<p>&#8226; Alignment. More and more ontologies are being developed and efficient ways for comparing/aligning them are consequently necessary. The consistency of modelling inherent in the use of ODPs should support semantic matching between different ontologies.</p>
			<p>2. Implementation (actual development of the ontology):</p>
			<p>&#8226; Focused development. Having an ODP as an engineering artefact should reduce the development time, so that the domain expert can be focused on the modelling details of the specific area that is being modelled.</p>
			<p>&#8226; Tooling. ODPs can be codified programmatically, providing tools that can automatically build sectors of an ontology that are complex or regular. The same tools could also guide the ontologist in the process of building ontologies.</p>
			<p>&#8226; Rapid prototyping. ODPs are ideal for rapidly developing prototypes. Having prototypes should allow developers to discuss complete models of ontologies in early stages and hence make more sound ontologies. It should also allow faster development.</p>
			<p>&#8226; Re-engineering. ODPs could be applied in the beginning of an ontology development process as well as during the life cycle of it, providing, for instance, valuable insights for refactoring some components which may hold an inconsistency or which may violate design principles.</p>
			<p>3. Communication:</p>
			<p>&#8226; Good communication. The use of ODPs should improve communication between ontology developers. The developers could easily recognize the different features of the ontology produced by the ODP, as it represents a well known and thoroughly documented abstraction.</p>
			<p>&#8226; Documented modeling. When creating ontologies the process should be more precisely documented by simply mentioning which ODPs were used. As a result, the design decisions would become explicit.</p>
			<p>&#8226; Comprehension of advances in KR. KR languages are evolving fast (for example OWL 1.1 <abbrgrp>
					<abbr bid="B69">69</abbr>
				</abbrgrp>) and it is usually difficult to understand the new features of the languages: by providing ODPs it should become much easier, as ODPs are examples of how to use the new features.</p>
		</sec>
		<sec>
			<st>
				<p>Conclusion</p>
			</st>
			<p>ODPs are ready-made solutions for tackling complex modelling issues when creating and maintaining bio-ontologies. Moreover, they provide a bridge to rich and rigorous modelling. They also offer advantages in design (rich and granular modelling; semantic encapsulation; robustness and modularity; reasoning; alignment), implementation (focused development; tooling; rapid prototyping; re-engineering) and communication (good communication; documented modelling; comprehension of advances in KR). Even if ODPs present all those advantages, it remains essential that bio-ontologists are provided with ontology building blocks and tools to easily create and manage ODPs. A Prot&#233;g&#233; plugin is foreseen as a supporting tool that will allow the creation and storage of ODPs by means of a graphical and user-friendly environment, and there is already a Prot&#233;g&#233; plugin for applying ODPs that uses the ODPs public catalogue presented <abbrgrp>
					<abbr bid="B70">70</abbr>
				</abbrgrp>. ODPs might ideally follow a path similar to SDPs: first, they are discovered or identified, then they are comprehensibly tested, and finally, they become part of the language or system itself. Such a process cannot occur within ODPs (and OWL which is much less extensible) to the same extent but in an ideal situation the ODPs might well be perceived by the bio-ontologist as something that comes &#8220;for free&#8221; in the language or the tools for supporting the development of ontologies.</p>
			<p>In order for the ODPs to be used, not only tooling but also proper documentation is vital, and there are open issues in the documentation system presented. The most important problem is the lack of a proper graphical language for representing the structure of the ODPs; UML is acceptable for the current implementation but a better representation is needed and GrOWL <abbrgrp>
					<abbr bid="B71">71</abbr>
				</abbrgrp> is a promising possibility. On the other hand, other UML to OWL mappings can also be used <abbrgrp>
					<abbr bid="B58">58</abbr>
					<abbr bid="B72">72</abbr>
				</abbrgrp>. The sections for the documentation system might evolve in the future as ODPs are more widely used and identified, depending on the users' feedback. Two new sections are foreseen in the short term: a section with the questions for choosing ODPs (as in Table <tblr tid="T1">1</tblr>) and a section for the version of the ODP, including a backwards-compatibility mechanism. Classification of ODPs might well also evolve towards a classification adapted to the needs faced while building and maintaining ontologies. In the long term, metrics for evaluating ODPs will also be studied so that a degree of complexity will be associated to each ODP (in a section of the documentation system), that in turn will provide users more information about the ODPs they would like to use. The same metrics will also provide a way to measure the complexity of the resulting ontology.</p>
			<p>The ODPs identified in CCO will support its sound evolution by being part of the CCO maintenance life cycle. There are still some ODPs that have not been completely explored such as ODPs dealing with temporal aspects or those dealing with negative (complementary) knowledge. Besides, many more ODPs within CCO and other bio-ontologies will be identified and added to the ODPs public catalogue. There are plenty of areas of biological knowledge that have not yet been explored to find possible ODPs, such as phylogeny, molecular interactions, <it>etc</it>. In any of those areas of biological knowledge the identification of ODPs will facilitate the development of rich and rigorous bio-ontologies. This will ultimately provide a robust and fine grained representation of the knowledge in biology, allowing for a more efficient knowledge management in the field, and increased exploitation of computational reasoning.</p>
		</sec>
		<sec>
			<st>
				<p>Abbreviations</p>
			</st>
			<p>CCO: Cell Cycle Ontology.</p>
			<p>CODeP: Conceptual Design Pattern.</p>
			<p>GML: Graph Modelling Language.</p>
			<p>GO: Gene Ontology.</p>
			<p>HTML: Hypertext Markup Language.</p>
			<p>KR: Knowledge Representation.</p>
			<p>OBO: Open Biomedical Ontologies.</p>
			<p>ODP: Ontology Design Pattern.</p>
			<p>OOP: Object Oriented Programming.</p>
			<p>OPL: Ontology Processing Language.</p>
			<p>OWL: Web Ontology Language.</p>
			<p>RO: Relations Ontology.</p>
			<p>SDP: Software Design Pattern.</p>
			<p>UML: Unified Modelling Language.</p>
			<p>URI: Uniform Resource Identifier.</p>
			<p>URL: Uniform Resource Locator.</p>
			<p>W3C: World Wide Web Consortium.</p>
			<p>XML: eXtensible Markup Language.</p>
		</sec>
		<sec>
			<st>
				<p>Competing interests</p>
			</st>
			<p>The authors declare that they have no competing interests.</p>
		</sec>
		<sec>
			<st>
				<p>Authors' contributions</p>
			</st>
			<p>MEA led this effort, working in the core ideas about ODPs and in the implementations (OPL and the ODPs public catalogue). RS provided expertise in KR and in general aspects of ODPs. EA provided expertise in the Cell Cycle Ontology and in technical aspects of ODPs. MK provided general ideas related to the Cell Cycle Ontology knowledge management system. All authors contributed to, read and approved the final manuscript.</p>
		</sec>
		<sec>
			<st>
				<p>Acknowledgements</p>
			</st>
			<p>This work was supported by the EU (FP6, contract number LSHG-CT-2004-512143 to EA) and MEA received funding from MC-EST (VIB), EPSRC and Manchester University.</p>
			<p>This article has been published as part of <it>BMC Bioinformatics</it> Volume 9 Supplement 5, 2008: Proceedings of the 10th Bio-Ontologies Special Interest Group Workshop 2007. Ten years past and looking to the future. The full contents of the supplement are available online at <url>http://www.biomedcentral.com/1471-2105/9?issue=S5</url>.</p>
		</sec>
	</bdy>
	<bm>
		<refgrp>
			<bibl id="B1">
				<title>
					<p>Bio-ontologies: current trends and future directions</p>
				</title>
				<aug>
					<au>
						<snm>Bodenreider</snm>
						<fnm>O</fnm>
					</au>
					<au>
						<snm>Stevens</snm>
						<fnm>R</fnm>
					</au>
				</aug>
				<source>Brief. Bioinformatics</source>
				<pubdate>2006</pubdate>
				<volume>7</volume>
				<issue>3</issue>
				<fpage>256</fpage>
				<lpage>74</lpage>
				<xrefbib>
					<pubidlist>
						<pubid idtype="pmcid">1847325</pubid>
						<pubid idtype="pmpid" link="fulltext">16899495</pubid>
					</pubidlist>
				</xrefbib>
			</bibl>
			<bibl id="B2">
				<title>
					<p>The obo foundry</p>
				</title>
				<note>[<url>http://obofoundry.org/</url>].</note>
			</bibl>
			<bibl id="B3">
				<title>
					<p>Gene Ontology: tool for the unification of biology</p>
				</title>
				<insg>
					<ins>
						<p>Gene Ontology Consortium</p>
					</ins>
				</insg>
				<source>Nature Genetics</source>
				<pubdate>2000</pubdate>
				<volume>23</volume>
				<issue>May</issue>
				<fpage>25</fpage>
				<lpage>29</lpage>
			</bibl>
			<bibl id="B4">
				<title>
					<p>GO File Format Guide</p>
				</title>
				<note>[<url>http://www.geneontology.org/GO.format.obo-1_2.shtml</url>].</note>
			</bibl>
			<bibl id="B5">
				<title>
					<p>Web Ontology Language (OWL)</p>
				</title>
				<note>[<url>http://www.w3.org/2004/OWL/</url>].</note>
			</bibl>
			<bibl id="B6">
				<title>
					<p>Semantic web infrastructure for fungal enzyme biotechnologists</p>
				</title>
				<aug>
					<au>
						<snm>Baker</snm>
						<fnm>CJO</fnm>
					</au>
					<au>
						<snm>Shaban-Nejad</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>Su</snm>
						<fnm>X</fnm>
					</au>
					<au>
						<snm>Haarslev</snm>
						<fnm>V</fnm>
					</au>
					<au>
						<snm>Butler</snm>
						<fnm>G</fnm>
					</au>
				</aug>
				<source>Web Semant</source>
				<pubdate>2006</pubdate>
				<volume>4</volume>
				<issue>3</issue>
				<fpage>168</fpage>
				<lpage>180</lpage>
			</bibl>
			<bibl id="B7">
				<title>
					<p>Using OWL to model biological knowledge</p>
				</title>
				<aug>
					<au>
						<snm>Stevens</snm>
						<fnm>R</fnm>
					</au>
					<au>
						<snm>Aranguren</snm>
						<fnm>ME</fnm>
					</au>
					<au>
						<snm>Wolstencroft</snm>
						<fnm>K</fnm>
					</au>
					<au>
						<snm>Sattler</snm>
						<fnm>U</fnm>
					</au>
					<au>
						<snm>Drummond</snm>
						<fnm>N</fnm>
					</au>
					<au>
						<snm>Horridge</snm>
						<fnm>M</fnm>
					</au>
					<au>
						<snm>Rector</snm>
						<fnm>A</fnm>
					</au>
				</aug>
				<source>International Journal of Human-Computer Studies</source>
				<pubdate>2007</pubdate>
				<volume>65</volume>
				<issue>7</issue>
				<fpage>583</fpage>
				<lpage>594</lpage>
			</bibl>
			<bibl id="B8">
				<title>
					<p>A Methodology to Migrate the Gene Ontology to a Description Logic Environment Using DAML+OIL</p>
				</title>
				<aug>
					<au>
						<snm>Wroe</snm>
						<fnm>C</fnm>
					</au>
					<au>
						<snm>Stevens</snm>
						<fnm>R</fnm>
					</au>
					<au>
						<snm>Goble</snm>
						<fnm>C</fnm>
					</au>
					<au>
						<snm>Ashburner</snm>
						<fnm>M</fnm>
					</au>
				</aug>
				<source>8th Pacific Symposium on biocomputing (PSB)</source>
				<pubdate>2003</pubdate>
				<fpage>624</fpage>
				<lpage>636</lpage>
			</bibl>
			<bibl id="B9">
				<title>
					<p>OBOL: Integrating Language and Meaning in Bio-Ontologies</p>
				</title>
				<aug>
					<au>
						<snm>Mungall</snm>
						<fnm>CJ</fnm>
					</au>
				</aug>
				<source>Comparative and Functional Genomics</source>
				<pubdate>2005</pubdate>
				<issue>5</issue>
				<fpage>509</fpage>
				<lpage>520</lpage>
			</bibl>
			<bibl id="B10">
				<title>
					<p>On the Application of Formal Principles to Life Science Data: A Case Study in the Gene Ontology</p>
				</title>
				<aug>
					<au>
						<snm>Smith</snm>
						<fnm>B</fnm>
					</au>
					<au>
						<snm>K&#246;hler</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Kumar</snm>
						<fnm>A</fnm>
					</au>
				</aug>
				<source>International Workshop on Data Integration in the Life Sciences (DILS 2004)</source>
				<publisher>Lecture Notes in Computer Science, Springer</publisher>
				<pubdate>2004</pubdate>
			</bibl>
			<bibl id="B11">
				<title>
					<p>Understanding and using the meaning of statements in a bio-ontology: recasting the Gene Ontology in OWL</p>
				</title>
				<aug>
					<au>
						<snm>Aranguren</snm>
						<fnm>M</fnm>
					</au>
					<au>
						<snm>Bechhofer</snm>
						<fnm>S</fnm>
					</au>
					<au>
						<snm>Lord</snm>
						<fnm>P</fnm>
					</au>
					<au>
						<snm>Sattler</snm>
						<fnm>U</fnm>
					</au>
					<au>
						<snm>Stevens</snm>
						<fnm>R</fnm>
					</au>
				</aug>
				<source>BMC Bioinformatics</source>
				<pubdate>2007</pubdate>
				<volume>8</volume>
				<fpage>57</fpage>
				<note>[<url>http://www.biomedcentral.com/1471-2105/8/57</url>].</note>
				<xrefbib>
					<pubidlist>
						<pubid idtype="pmcid">1819394</pubid>
						<pubid idtype="pmpid" link="fulltext">17311682</pubid>
					</pubidlist>
				</xrefbib>
			</bibl>
			<bibl id="B12">
				<aug>
					<au>
						<snm>Gamma</snm>
						<fnm>E</fnm>
					</au>
					<au>
						<snm>Helm</snm>
						<fnm>R</fnm>
					</au>
					<au>
						<snm>Johnson</snm>
						<fnm>R</fnm>
					</au>
					<au>
						<snm>Vlissides</snm>
						<fnm>J</fnm>
					</au>
				</aug>
				<source>Design Patterns Elements of Reusable Object-Oriented Software</source>
				<publisher>Professional Computing Series, Addison-Wesley</publisher>
				<pubdate>1995</pubdate>
			</bibl>
			<bibl id="B13">
				<title>
					<p>ODPs public catalogue</p>
				</title>
				<note>[<url>http://odps.sourceforge.net</url>].</note>
			</bibl>
			<bibl id="B14">
				<title>
					<p>Sequence ODP</p>
				</title>
				<note>[<url>http://odps.sourceforge.net/odp/html/Sequence.html</url>].</note>
			</bibl>
			<bibl id="B15">
				<title>
					<p>Upper Level Ontology ODP</p>
				</title>
				<note>[<url>http://odps.sourceforge.net/odp/html/Upper_Level_Ontology.html</url>].</note>
			</bibl>
			<bibl id="B16">
				<title>
					<p>Value Partition ODP</p>
				</title>
				<note>[<url>http://odps.sourceforge.net/odp/html/Value_Partition.html</url>].</note>
			</bibl>
			<bibl id="B17">
				<title>
					<p>Modeling a Description Logic Vocabulary for Cancer Research</p>
				</title>
				<aug>
					<au>
						<snm>Hartel</snm>
						<fnm>FW</fnm>
					</au>
					<au>
						<snm>de Coronado</snm>
						<fnm>S</fnm>
					</au>
					<au>
						<snm>Dionne</snm>
						<fnm>R</fnm>
					</au>
					<au>
						<snm>Fragoso</snm>
						<fnm>G</fnm>
					</au>
					<au>
						<snm>Golbeck</snm>
						<fnm>J</fnm>
					</au>
				</aug>
				<source>Journal of Biomedical Informatics</source>
				<pubdate>2005</pubdate>
				<issue>38</issue>
				<fpage>114</fpage>
				<lpage>129</lpage>
				<xrefbib>
					<pubid idtype="pmpid" link="fulltext">15797001</pubid>
				</xrefbib>
			</bibl>
			<bibl id="B18">
				<title>
					<p>Exception ODP</p>
				</title>
				<note>[<url>http://odps.sourceforge.net/odp/html/Exception.html</url>].</note>
			</bibl>
			<bibl id="B19">
				<title>
					<p>N-ary Relationship ODP</p>
				</title>
				<note>[<url>http://odps.sourceforge.net/odp/html/Nary_Relationship.html</url>].</note>
			</bibl>
			<bibl id="B20">
				<title>
					<p>Integrating Existing Drug Formulation Terminologies Into an HL7 Standard Classification using OpenGALEN</p>
				</title>
				<aug>
					<au>
						<snm>Wroe</snm>
						<fnm>CJ</fnm>
					</au>
					<au>
						<snm>Cimino</snm>
						<fnm>JJ</fnm>
					</au>
					<au>
						<snm>Rector</snm>
						<fnm>AL</fnm>
					</au>
				</aug>
				<source>Annual Fall Symposium of American Medical Informatics Association</source>
				<publisher>Washington DC</publisher>
				<pubdate>2001</pubdate>
			</bibl>
			<bibl id="B21">
				<title>
					<p>Normalisation ODP</p>
				</title>
				<note>[<url>http://odps.sourceforge.net/odp/html/Normalisation.html</url>].</note>
			</bibl>
			<bibl id="B22">
				<title>
					<p>List ODP</p>
				</title>
				<note>[<url>http://odps.sourceforge.net/odp/html/List.html</url>].</note>
			</bibl>
			<bibl id="B23">
				<title>
					<p>Adapted SEP ODP</p>
				</title>
				<note>[<url>http://odps.sourceforge.net/odp/html/Adapted_SEP.html</url>].</note>
			</bibl>
			<bibl id="B24">
				<title>
					<p>Species ODP</p>
				</title>
				<note>[<url>http://odps.sourceforge.net/odp/html/Species.html</url>].</note>
			</bibl>
			<bibl id="B25">
				<title>
					<p>CO-ODE Prot&#233;g&#233; Wizards</p>
				</title>
				<note>[<url>http://www.co-ode.org/downloads/wizard/co-ode-index.php</url>].</note>
			</bibl>
			<bibl id="B26">
				<title>
					<p>Prot&#233;g&#233;</p>
				</title>
				<note>[<url>http://protege.stanford.edu/</url>].</note>
			</bibl>
			<bibl id="B27">
				<title>
					<p>Pellet: A practical OWL-DL reasoner</p>
				</title>
				<aug>
					<au>
						<snm>Sirin</snm>
						<fnm>E</fnm>
					</au>
					<au>
						<snm>Parsia</snm>
						<fnm>B</fnm>
					</au>
					<au>
						<snm>Grau</snm>
						<fnm>BC</fnm>
					</au>
					<au>
						<snm>Kalyanpur</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>Katz</snm>
						<fnm>Y</fnm>
					</au>
				</aug>
				<source>Web Semant</source>
				<pubdate>2007</pubdate>
				<volume>5</volume>
				<issue>2</issue>
				<fpage>51</fpage>
				<lpage>53</lpage>
			</bibl>
			<bibl id="B28">
				<title>
					<p>FaCT++ Description Logic Reasoner: System Description</p>
				</title>
				<aug>
					<au>
						<snm>Tsarkov</snm>
						<fnm>D</fnm>
					</au>
					<au>
						<snm>Horrocks</snm>
						<fnm>I</fnm>
					</au>
				</aug>
				<source>Proc. of the Int. Joint Conf. on Automated Reasoning (IJCAR 2006), Volume 4130 of Lecture Notes in Artificial Intelligence</source>
				<publisher>Springer</publisher>
				<pubdate>2006</pubdate>
				<fpage>292</fpage>
				<lpage>297</lpage>
			</bibl>
			<bibl id="B29">
				<title>
					<p>The Manchester OWL syntax</p>
				</title>
				<aug>
					<au>
						<snm>Horridge</snm>
						<fnm>M</fnm>
					</au>
					<au>
						<snm>Drummond</snm>
						<fnm>N</fnm>
					</au>
					<au>
						<snm>Goodwin</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Rector</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>Stevens</snm>
						<fnm>R</fnm>
					</au>
					<au>
						<snm>Wang</snm>
						<fnm>H</fnm>
					</au>
				</aug>
				<source>OWLed</source>
				<pubdate>2006</pubdate>
			</bibl>
			<bibl id="B30">
				<title>
					<p>SPARQL Query Language for RDF</p>
				</title>
				<note>[<url>http://www.w3.org/TR/rdf-sparql-query/</url>].</note>
			</bibl>
			<bibl id="B31">
				<title>
					<p>Gene Ontology Next Generation downloads</p>
				</title>
				<note>[<url>http://www.gong.manchester.ac.uk/?page_id=3</url>].</note>
			</bibl>
			<bibl id="B32">
				<title>
					<p>CO-ODE project OPL plugin</p>
				</title>
				<note>[<url>http://www.co-ode.org/downloads/protege-x/opl.php</url>].</note>
			</bibl>
			<bibl id="B33">
				<title>
					<p>ODPs public catalogue Sourceforge site</p>
				</title>
				<note>[<url>http://sourceforge.net/projects/odps/</url>].</note>
			</bibl>
			<bibl id="B34">
				<title>
					<p>Visual Modelling of OWL DL Ontologies using UML</p>
				</title>
				<aug>
					<au>
						<snm>Brockmans</snm>
						<fnm>S</fnm>
					</au>
					<au>
						<snm>Volz</snm>
						<fnm>R</fnm>
					</au>
					<au>
						<snm>Eberhart</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>L&#246;ffler</snm>
						<fnm>P</fnm>
					</au>
				</aug>
				<source>Proc. ISWC</source>
				<pubdate>2004</pubdate>
				<fpage>198</fpage>
				<lpage>213</lpage>
			</bibl>
			<bibl id="B35">
				<title>
					<p>OWLviz</p>
				</title>
				<note>[<url>http://www.co-ode.org/downloads/owlviz/</url>].</note>
			</bibl>
			<bibl id="B36">
				<title>
					<p>DIAMONDS project</p>
				</title>
				<note>[<url>http://www.sbcellcycle.org</url>].</note>
			</bibl>
			<bibl id="B37">
				<title>
					<p>A Cell-Cycle Knowledge Integration Framework (DILS 2006)</p>
				</title>
				<aug>
					<au>
						<snm>Antezana</snm>
						<fnm>E</fnm>
					</au>
					<au>
						<snm>Tsiporkova</snm>
						<fnm>E</fnm>
					</au>
					<au>
						<snm>Mironov</snm>
						<fnm>V</fnm>
					</au>
					<au>
						<snm>Kuiper</snm>
						<fnm>M</fnm>
					</au>
				</aug>
				<source>LNBI 4075</source>
				<pubdate>2006</pubdate>
				<fpage>19</fpage>
				<lpage>34</lpage>
			</bibl>
			<bibl id="B38">
				<title>
					<p>Cell Cycle Ontology</p>
				</title>
				<note>[<url>http://www.cellcycleontology.org/</url>].</note>
			</bibl>
			<bibl id="B39">
				<title>
					<p>Relations in Biomedical Ontologies</p>
				</title>
				<aug>
					<au>
						<snm>Smith</snm>
						<fnm>B</fnm>
					</au>
					<au>
						<snm>Ceusters</snm>
						<fnm>W</fnm>
					</au>
					<au>
						<snm>Klagges</snm>
						<fnm>B</fnm>
					</au>
					<au>
						<snm>Kohler</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Kumar</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>Lomax</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Mungall</snm>
						<fnm>C</fnm>
					</au>
					<au>
						<snm>Neuhaus</snm>
						<fnm>F</fnm>
					</au>
					<au>
						<snm>Rector</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>Rosse</snm>
						<fnm>C</fnm>
					</au>
				</aug>
				<source>Genome Biology</source>
				<pubdate>2005</pubdate>
				<volume>6</volume>
				<fpage>R46</fpage>
				<xrefbib>
					<pubidlist>
						<pubid idtype="pmcid">1175958</pubid>
						<pubid idtype="pmpid" link="fulltext">15892874</pubid>
					</pubidlist>
				</xrefbib>
			</bibl>
			<bibl id="B40">
				<title>
					<p>IntAct &#8212; Open Source Resource for Molecular Interaction Data</p>
				</title>
				<aug>
					<au>
						<snm>Kerrien</snm>
						<fnm>S</fnm>
					</au>
					<au>
						<snm>Alam-Faruque</snm>
						<fnm>Y</fnm>
					</au>
					<au>
						<snm>Aranda</snm>
						<fnm>B</fnm>
					</au>
					<au>
						<snm>Bancarz</snm>
						<fnm>I</fnm>
					</au>
					<au>
						<snm>Bridge</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>Derow</snm>
						<fnm>C</fnm>
					</au>
					<au>
						<snm>Dimmer</snm>
						<fnm>E</fnm>
					</au>
					<au>
						<snm>Feuermann</snm>
						<fnm>M</fnm>
					</au>
					<au>
						<snm>Friedrichsen</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>Huntley</snm>
						<fnm>R</fnm>
					</au>
					<au>
						<snm>Kohler</snm>
						<fnm>C</fnm>
					</au>
					<au>
						<snm>Khadake</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Leroy</snm>
						<fnm>C</fnm>
					</au>
					<au>
						<snm>Liban</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>Lieftink</snm>
						<fnm>C</fnm>
					</au>
					<au>
						<snm>Montecchi-Palazzi</snm>
						<fnm>L</fnm>
					</au>
					<au>
						<snm>Orchard</snm>
						<fnm>S</fnm>
					</au>
					<au>
						<snm>Risse</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Robbe</snm>
						<fnm>K</fnm>
					</au>
					<au>
						<snm>Roechert</snm>
						<fnm>B</fnm>
					</au>
					<au>
						<snm>Thorneycroft</snm>
						<fnm>D</fnm>
					</au>
					<au>
						<snm>Zhang</snm>
						<fnm>Y</fnm>
					</au>
					<au>
						<snm>Apweiler</snm>
						<fnm>R</fnm>
					</au>
					<au>
						<snm>Hermjakob</snm>
						<fnm>H</fnm>
					</au>
				</aug>
				<source>Nucleic Acids Research</source>
				<pubdate>2007</pubdate>
				<volume>35</volume>
				<fpage>D561</fpage>
				<lpage>D565</lpage>
				<xrefbib>
					<pubidlist>
						<pubid idtype="pmcid">1751531</pubid>
						<pubid idtype="pmpid" link="fulltext">17145710</pubid>
					</pubidlist>
				</xrefbib>
			</bibl>
			<bibl id="B41">
				<title>
					<p>Database resources of the National Center for Biotechnology Information</p>
				</title>
				<aug>
					<au>
						<snm>Wheeler</snm>
						<fnm>D</fnm>
					</au>
					<au>
						<snm>Chappey</snm>
						<fnm>C</fnm>
					</au>
					<au>
						<snm>Lash</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>Leipe</snm>
						<fnm>D</fnm>
					</au>
					<au>
						<snm>Madden</snm>
						<fnm>T</fnm>
					</au>
					<au>
						<snm>Schuler</snm>
						<fnm>G</fnm>
					</au>
					<au>
						<snm>Tatusova</snm>
						<fnm>T</fnm>
					</au>
					<au>
						<snm>Rapp</snm>
						<fnm>B</fnm>
					</au>
				</aug>
				<source>Nucleic Acids Research</source>
				<pubdate>2000</pubdate>
				<volume>28</volume>
				<fpage>10</fpage>
				<lpage>14</lpage>
				<xrefbib>
					<pubidlist>
						<pubid idtype="pmcid">102437</pubid>
						<pubid idtype="pmpid" link="fulltext">10592169</pubid>
					</pubidlist>
				</xrefbib>
			</bibl>
			<bibl id="B42">
				<title>
					<p>The Universal Protein Resource (UniProt)</p>
				</title>
				<insg>
					<ins>
						<p>Uniprot Consortium</p>
					</ins>
				</insg>
				<source>Nucleic Acids Research</source>
				<pubdate>2007</pubdate>
				<volume>35</volume>
				<issue>Jan</issue>
				<fpage>D193</fpage>
				<lpage>D197</lpage>
				<xrefbib>
					<pubidlist>
						<pubid idtype="pmcid">1669721</pubid>
						<pubid idtype="pmpid" link="fulltext">17142230</pubid>
					</pubidlist>
				</xrefbib>
			</bibl>
			<bibl id="B43">
				<title>
					<p>Cell Cycle Ontology downloads</p>
				</title>
				<note>[<url>http://www.cellcycleontology.org/download/ontologies</url>].</note>
			</bibl>
			<bibl id="B44">
				<title>
					<p>DOT format</p>
				</title>
				<note>[<url>http://www.graphviz.org</url>].</note>
			</bibl>
			<bibl id="B45">
				<title>
					<p>GML format</p>
				</title>
				<note>[<url>http://www.infosun.fim.uni-passau.de/Graphlet/GML/gml-tr.html</url>].</note>
			</bibl>
			<bibl id="B46">
				<aug>
					<au>
						<snm>Alberts</snm>
						<fnm>B</fnm>
					</au>
					<au>
						<snm>Bray</snm>
						<fnm>D</fnm>
					</au>
					<au>
						<snm>Lewis</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Raff</snm>
						<fnm>M</fnm>
					</au>
					<au>
						<snm>Roberts</snm>
						<fnm>K</fnm>
					</au>
					<au>
						<snm>Watson</snm>
						<fnm>J</fnm>
					</au>
				</aug>
				<source>Molecular Biology of the Cell</source>
				<publisher>New York: Garland</publisher>
				<pubdate>1989</pubdate>
			</bibl>
			<bibl id="B47">
				<title>
					<p>GALEN's Model of Parts and Wholes: Experience and Comparisons</p>
				</title>
				<aug>
					<au>
						<snm>Rogers</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Rector</snm>
						<fnm>A</fnm>
					</au>
				</aug>
				<source>Proc. AMIA symp</source>
				<pubdate>2000</pubdate>
				<fpage>714</fpage>
				<lpage>718</lpage>
				<xrefbib>
					<pubid idtype="pmpid" link="fulltext">11079977</pubid>
				</xrefbib>
			</bibl>
			<bibl id="B48">
				<title>
					<p>Part-of Relations in Anatomy Ontologies: a Proposal for RDFS and OWL Formalisations</p>
				</title>
				<aug>
					<au>
						<snm>Aitken</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Webber</snm>
						<fnm>B</fnm>
					</au>
					<au>
						<snm>Bard</snm>
						<fnm>J</fnm>
					</au>
				</aug>
				<source>Proc. PSB</source>
				<pubdate>2004</pubdate>
				<fpage>166</fpage>
				<lpage>177</lpage>
			</bibl>
			<bibl id="B49">
				<title>
					<p>Analysis of propagation along transitive roles: Formalisation of the GALEN experience with medical ontologies</p>
				</title>
				<aug>
					<au>
						<snm>Rector</snm>
						<fnm>A</fnm>
					</au>
				</aug>
				<source>DL</source>
				<pubdate>2002</pubdate>
			</bibl>
			<bibl id="B50">
				<title>
					<p>Representing Transitive Propagation in OWL</p>
				</title>
				<aug>
					<au>
						<snm>Seidenberg</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Rector</snm>
						<fnm>A</fnm>
					</au>
				</aug>
				<source>LNCS 4215 ER</source>
				<pubdate>2006</pubdate>
			</bibl>
			<bibl id="B51">
				<title>
					<p>Part-Whole Reasoning in Medical Ontologies Revisited - Introducing SEP triplets into Classification-based Description Logics</p>
				</title>
				<aug>
					<au>
						<snm>Schulz</snm>
						<fnm>S</fnm>
					</au>
					<au>
						<snm>Romacker</snm>
						<fnm>M</fnm>
					</au>
					<au>
						<snm>Hahn</snm>
						<fnm>U</fnm>
					</au>
				</aug>
				<source>Proceedings of the 1998 AMIA Annual Fall Symposium. A Paradigm Shift in Health Care Information Systems: Clinical Infrastructures for the 21st Century</source>
				<publisher>Hanley and Belfus</publisher>
				<pubdate>1998</pubdate>
				<fpage>830</fpage>
				<lpage>834</lpage>
			</bibl>
			<bibl id="B52">
				<title>
					<p>Part-whole representation and reasoning in formal biomedical ontologies</p>
				</title>
				<aug>
					<au>
						<snm>Shultz</snm>
						<fnm>S</fnm>
					</au>
					<au>
						<snm>Hahn</snm>
						<fnm>U</fnm>
					</au>
				</aug>
				<source>Artificial Intelligence in Medicine</source>
				<pubdate>2005</pubdate>
				<volume>34</volume>
				<fpage>179</fpage>
				<lpage>200</lpage>
				<xrefbib>
					<pubid idtype="pmpid" link="fulltext">15993045</pubid>
				</xrefbib>
			</bibl>
			<bibl id="B53">
				<title>
					<p>Modularisation of Domain Ontologies Implemented in Description Logics and related formalisms including OWL</p>
				</title>
				<aug>
					<au>
						<snm>Rector</snm>
						<fnm>AL</fnm>
					</au>
				</aug>
				<source>K-CAP</source>
				<pubdate>2003</pubdate>
				<fpage>121</fpage>
				<lpage>128</lpage>
			</bibl>
			<bibl id="B54">
				<title>
					<p>Untangling Taxonomies and Relationships: personal and Practical Problems in Loosely Coupled Development of Large Ontologies</p>
				</title>
				<aug>
					<au>
						<snm>Rector</snm>
						<fnm>AL</fnm>
					</au>
					<au>
						<snm>Wroe</snm>
						<fnm>C</fnm>
					</au>
					<au>
						<snm>Rogers</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Roberts</snm>
						<fnm>A</fnm>
					</au>
				</aug>
				<source>K-CAP</source>
				<pubdate>2001</pubdate>
				<fpage>139</fpage>
				<lpage>146</lpage>
			</bibl>
			<bibl id="B55">
				<title>
					<p>Patterns, Properties and Minimizing Commitment: Reconstruction of the GALEN Upper Ontology in OWL</p>
				</title>
				<aug>
					<au>
						<snm>Rector</snm>
						<fnm>AL</fnm>
					</au>
					<au>
						<snm>Rogers</snm>
						<fnm>J</fnm>
					</au>
				</aug>
				<source>EKAW</source>
				<pubdate>2004</pubdate>
			</bibl>
			<bibl id="B56">
				<title>
					<p>A top-level ontology of functions and its application in the Open Biomedical Ontologies</p>
				</title>
				<aug>
					<au>
						<snm>Burek</snm>
						<fnm>P</fnm>
					</au>
					<au>
						<snm>Hoehndorf</snm>
						<fnm>R</fnm>
					</au>
					<au>
						<snm>Loebe</snm>
						<fnm>F</fnm>
					</au>
					<au>
						<snm>Visagie</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Herre</snm>
						<fnm>H</fnm>
					</au>
					<au>
						<snm>Kelso</snm>
						<fnm>J</fnm>
					</au>
				</aug>
				<source>Bioinformatics</source>
				<pubdate>2006</pubdate>
				<volume>22</volume>
				<issue>14</issue>
				<fpage>e66</fpage>
				<lpage>e73</lpage>
				<xrefbib>
					<pubid idtype="pmpid" link="fulltext">16873523</pubid>
				</xrefbib>
			</bibl>
			<bibl id="B57">
				<title>
					<p>Granularity Scale and Collectivity: When Size Does and Doesn't Matter</p>
				</title>
				<aug>
					<au>
						<snm>Rector</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>Rogers</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Bittner</snm>
						<fnm>T</fnm>
					</au>
				</aug>
				<source>Journal of Biomedical informatics</source>
				<pubdate>2006</pubdate>
				<volume>539</volume>
				<fpage>333</fpage>
				<lpage>349</lpage>
			</bibl>
			<bibl id="B58">
				<title>
					<p>Ontology Design Patterns for Semantic Web Content</p>
				</title>
				<aug>
					<au>
						<snm>Gangemi</snm>
						<fnm>A</fnm>
					</au>
				</aug>
				<source>LNCS 1729 ISWC</source>
				<pubdate>2005</pubdate>
				<fpage>262</fpage>
				<lpage>276</lpage>
			</bibl>
			<bibl id="B59">
				<title>
					<p>Inflammation Ontology Design Pattern: an exercise in building a core Biomedical Ontology with Descriptions and Situations</p>
				</title>
				<aug>
					<au>
						<snm>Gangemi</snm>
						<fnm>A</fnm>
					</au>
					<au>
						<snm>Catenacci</snm>
						<fnm>C</fnm>
					</au>
					<au>
						<snm>Battaglia</snm>
						<fnm>M</fnm>
					</au>
				</aug>
				<source>Stud. Health Technol. Inform.</source>
				<pubdate>2004</pubdate>
				<volume>102</volume>
				<fpage>64</fpage>
				<lpage>80</lpage>
				<xrefbib>
					<pubid idtype="pmpid">15853264</pubid>
				</xrefbib>
			</bibl>
			<bibl id="B60">
				<title>
					<p>Design Patterns for Semantic Web Ontologies: Motivation and Discussion</p>
				</title>
				<aug>
					<au>
						<snm>Svatek</snm>
						<fnm>V</fnm>
					</au>
				</aug>
				<source>7th Conference on Business Information Systems, Poznan</source>
				<pubdate>2004</pubdate>
			</bibl>
			<bibl id="B61">
				<aug>
					<au>
						<snm>Clark</snm>
						<fnm>P</fnm>
					</au>
					<au>
						<snm>Thompson</snm>
						<fnm>J</fnm>
					</au>
					<au>
						<snm>Porter</snm>
						<fnm>B</fnm>
					</au>
				</aug>
				<source>Knowledge Patterns</source>
				<publisher>Springer. International Handbooks on Information Systems</publisher>
				<pubdate>2003</pubdate>
				<fpage>121</fpage>
				<lpage>134</lpage>
			</bibl>
			<bibl id="B62">
				<title>
					<p>Engineering Ontologies Using Semantic Patterns</p>
				</title>
				<aug>
					<au>
						<snm>Staab</snm>
						<fnm>S</fnm>
					</au>
					<au>
						<snm>Erdmann</snm>
						<fnm>M</fnm>
					</au>
					<au>
						<snm>Maedche</snm>
						<fnm>A</fnm>
					</au>
				</aug>
				<source>IJCAI</source>
				<editor>Preece A, and O'Leary, D</editor>
				<pubdate>2001</pubdate>
				<fpage>198</fpage>
				<lpage>213</lpage>
			</bibl>
			<bibl id="B63">
				<title>
					<p>onto-perl: An API supporting the development and analysis of bio-ontologies</p>
				</title>
				<note>[<url>http://search.cpan.org/dist/ONTO-PERL/</url>].</note>
			</bibl>
			<bibl id="B64">
				<title>
					<p>OboInOwl:Main Page</p>
				</title>
				<note>[<url>http://www.bioontology.org/wiki/index.php/OboInOwl:Main_Page</url>].</note>
			</bibl>
			<bibl id="B65">
				<title>
					<p>OBO to OWL: a protege OWL tab to read/save OBO ontologies</p>
				</title>
				<aug>
					<au>
						<snm>Moreira</snm>
						<fnm>DA</fnm>
					</au>
					<au>
						<snm>Musen</snm>
						<fnm>MA</fnm>
					</au>
				</aug>
				<source>Bioinformatics</source>
				<pubdate>2007</pubdate>
				<volume>23</volume>
				<issue>14</issue>
				<fpage>1868</fpage>
				<lpage>1870</lpage>
				<note>[<url>http://view.ncbi.nlm.nih.gov/pubmed/17496317</url>].</note>
				<xrefbib>
					<pubid idtype="pmpid" link="fulltext">17496317</pubid>
				</xrefbib>
			</bibl>
			<bibl id="B66">
				<title>
					<p>The OBO to OWL mapping, GO to OWL 1.1!</p>
				</title>
				<aug>
					<au>
						<snm>Golbreich</snm>
						<fnm>C</fnm>
					</au>
					<au>
						<snm>Horrocks</snm>
						<fnm>I</fnm>
					</au>
				</aug>
				<source>Proc. of the Third OWL Experiences and Directions Workshop</source>
				<pubdate>2007</pubdate>
				<note>no. 258 in CEUR</note>
			</bibl>
			<bibl id="B67">
				<title>
					<p>Semantic Web Best Practices and Deployment Working Group</p>
				</title>
				<note>[<url>http://www.w3.org/2001/sw/BestPractices/</url>].</note>
			</bibl>
			<bibl id="B68">
				<title>
					<p>Spatial location and its relevance for terminological inferences in bio-ontologies</p>
				</title>
				<aug>
					<au>
						<snm>Schulz</snm>
						<fnm>S</fnm>
					</au>
					<au>
						<snm>Marko</snm>
						<fnm>K</fnm>
					</au>
					<au>
						<snm>Hahn</snm>
						<fnm>U</fnm>
					</au>
				</aug>
				<source>BMC Bioinformatics</source>
				<pubdate>2007</pubdate>
				<fpage>8</fpage>
				<lpage>134</lpage>
				<xrefbib>
					<pubidlist>
						<pubid idtype="pmcid">1793997</pubid>
						<pubid idtype="pmpid" link="fulltext">17212835</pubid>
					</pubidlist>
				</xrefbib>
			</bibl>
			<bibl id="B69">
				<title>
					<p>OWL 1.1</p>
				</title>
				<note>[<url>http://webont.org/owl/1.1/</url>].</note>
			</bibl>
			<bibl id="B70">
				<title>
					<p>CO-ODE project ODPs plugin</p>
				</title>
				<note>[<url>http://www.co-ode.org/downloads/protege-x/patterns/</url>]</note>
			</bibl>
			<bibl id="B71">
				<title>
					<p>GrOWL: A tool for visualization and editing of OWL ontologies</p>
				</title>
				<aug>
					<au>
						<snm>Krivov</snm>
						<fnm>S</fnm>
					</au>
					<au>
						<snm>Williams</snm>
						<fnm>R</fnm>
					</au>
					<au>
						<snm>Villa</snm>
						<fnm>F</fnm>
					</au>
				</aug>
				<source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
				<pubdate>2007</pubdate>
				<volume>5</volume>
				<issue>2</issue>
				<fpage>54</fpage>
				<lpage>57</lpage>
			</bibl>
			<bibl id="B72">
				<title>
					<p>TopBraid composer</p>
				</title>
				<note>[<url>http://www.topbraidcomposer.com/</url>].</note>
			</bibl>
		</refgrp>
	</bm>
</art>
