<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AI3:::Adaptive Information &#187; irON</title>
	<atom:link href="http://www.mkbergman.com/category/iron/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mkbergman.com</link>
	<description>Mike Bergman on the semantic Web and structured Web</description>
	<lastBuildDate>Tue, 24 Jan 2012 15:52:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Brown Bag Lunch: ‘Structs’: Naïve Data Formats and the ABox</title>
		<link>http://www.mkbergman.com/951/brown-bag-lunch-%e2%80%98structs%e2%80%99-naive-data-formats-and-the-abox/</link>
		<comments>http://www.mkbergman.com/951/brown-bag-lunch-%e2%80%98structs%e2%80%99-naive-data-formats-and-the-abox/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 08:08:16 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[Adaptive Information]]></category>
		<category><![CDATA[Brown Bag Lunch]]></category>
		<category><![CDATA[irON]]></category>
		<category><![CDATA[Structured Web]]></category>
		<category><![CDATA[data structs]]></category>
		<category><![CDATA[Description logic]]></category>
		<category><![CDATA[Knowledge Representation]]></category>
		<category><![CDATA[Resource Description Framework]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Web Ontology Language]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=951</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Brown Bag Lunch: ‘Structs’: Naïve Data Formats and the ABox&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Brown Bag Lunch&amp;rft.subject=irON&amp;rft.subject=Structured Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-03-18&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/951/brown-bag-lunch-%e2%80%98structs%e2%80%99-naive-data-formats-and-the-abox/&amp;rft.language=English"></span>
Writing and Sharing Data Can be Lightened Up Ever since I first started to learn in earnest about ontology, something has been gnawing at me. The term seemed to be (shall I say?) an obtuse one whose obscurity was not the result of subtle precision or technicality, but rather one of fuzziness. As I introduced [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Brown Bag Lunch: ‘Structs’: Naïve Data Formats and the ABox&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Brown Bag Lunch&amp;rft.subject=irON&amp;rft.subject=Structured Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-03-18&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/951/brown-bag-lunch-%e2%80%98structs%e2%80%99-naive-data-formats-and-the-abox/&amp;rft.language=English"></span>
<h2>Writing and Sharing Data Can be Lightened Up <a href="http://www.mkbergman.com/834/announcing-the-sporadic-friday-brown-bag-lunch"><img style="border: 0px solid; float: left; margin-right: 10px;" title="Friday Brown Bag Lunch" src="../wp-content/themes/ai3/images/lunchbag_225.jpg" alt="Friday     Brown Bag Lunch" width="158" height="179" /></a></h2>
<p>Ever since I first started to learn in earnest about <a style="font-style: italic;" href="http://en.wikipedia.org/wiki/Ontology_(information_science)">ontology</a>, something has been gnawing at me. The term seemed to be (shall I say?) an obtuse one whose obscurity was not the result of subtle precision or technicality, but rather one of fuzziness. As I introduced my <a style="font-style: italic;" href="../?p=374">Intrepid Guide to Ontology</a> two years ago, I noted:</p>
<div class="boxGrayDotted" style="margin-left: 240px;">The root of the [ontology] term is the Greek <span style="font-style: italic;">ontos</span>, or <span style="font-style: italic;">being</span> or the <span style="font-style: italic;">nature of things</span>. Literally and in classical philosophy, ontology was used in relation to the study of the nature of being or the world, <a href="http://en.wikipedia.org/wiki/Ontology">the nature of existence</a>. <a href="http://tomgruber.org/">Tom Gruber</a>, among others, made the term popular in relation to computer science and artificial intelligence <a href="http://tomgruber.org/writing/ontolingua-kaj-1993.htm">about 15 years ago</a> when he defined ontology as a &#8220;formal specification of a conceptualization.&#8221;</div>
<p><img style="border: 0px solid; margin-left: 10px; width: 200px; height: 184px; float: right;" src="../wp-content/themes/ai3/images/2009Posts/090122_abc_struct.jpg" alt="Simple Data Structs" hspace="5" vspace="5" />Since then, I have continued to find ontology one of the hardest concepts to communicate to clients and quite a muddled mess even as used by practitioners. I have come to the conclusion that this problem is not because I have failed to grasp some ephemeral nuance, but because the term as used in practice is indeed fuzzy and imprecise.</p>
<h3>What Isn&#8217;t an Ontology?</h3>
<p>Even two years ago, I noted more than 40 different types of information structure that have at one time or another been labelled as an example of an &#8220;ontology&#8221;:</p>
<div class="center_ok smallIndent" style="margin: 15px; font-size: 10px;">
<table style="text-align: left; margin-left: 0px; width: 90%;" border="0" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td style="vertical-align: top; width: 25%;">
<ul>
<li><a title="Tag cloud" href="http://en.wikipedia.org/wiki/Tag_cloud">Tag cloud</a></li>
<li> <a title="Controlled vocabulary" href="http://en.wikipedia.org/wiki/Controlled_vocabulary">Controlled vocabulary</a></li>
<li> <a title="Thesauri" href="http://en.wikipedia.org/wiki/Thesauri">Thesauri</a></li>
<li> <a title="Collaborative tagging" href="http://en.wikipedia.org/wiki/Collaborative_tagging">Collaborative tagging</a></li>
<li> <a title="Folk taxonomy" href="http://en.wikipedia.org/wiki/Folk_taxonomy">Folk taxonomy</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Web_directory">Directory</a></li>
<li> <a href="http://www.mulberrytech.com/Extreme/Proceedings/html/2005/Newcomb01/EML2005Newcomb01.html">Subject Map</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Semantic_Web">Semantic Web</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Cladistics">Cladistics</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Markup_language">Markup languages</a></li>
</ul>
</td>
<td style="width: 25%; vertical-align: top;">
<ul>
<li> <a title="Social bookmarking" href="http://en.wikipedia.org/wiki/Social_bookmarking">Social bookmarking</a></li>
<li> <a title="Tag (metadata)" href="http://en.wikipedia.org/wiki/Tag_%28metadata%29">Tags</a></li>
<li> <a title="Tagging" href="http://en.wikipedia.org/wiki/Tagging">Tagging</a></li>
<li> <a title="Taxonomy" href="http://en.wikipedia.org/wiki/Taxonomy">Taxonomy</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Folksonomy">Folksonomy</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Library_classification">Classification</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Categorization">Categorization</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Metadata">Metadata</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Systematics">Systematics</a></li>
</ul>
</td>
<td style="width: 25%; vertical-align: top;">
<ul>
<li><a href="http://en.wikipedia.org/wiki/Ontology_%28computer_science%29">Ontology</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Microformats">Microformats</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Data_dictionary">Data dictionary</a></li>
<li> <a href="http://en.wikipedia.org/wiki/OPML">OPML</a></li>
<li> <a href="http://en.wikipedia.org/wiki/XOXO">XOXO</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Web_Ontology_Language">OWL</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Tree_structure">Subject Trees</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Information_architecture">Information Architecture</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Data_Reference_Model">Data Reference Model</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Phylogeny">Phylogeny</a></li>
</ul>
</td>
<td style="width: 25%; vertical-align: top;">
<ul>
<li><a href="http://en.wikipedia.org/wiki/Topic_map">Topic Maps</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Concept_map">Concept Maps</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Synset">Synsets</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Glossary">Glossary</a></li>
<li> <a href="http://en.wikipedia.org/wiki/WordNet">WordNet</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Metadata">Metadata</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Faceted_classification">Facets</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Structure_%28mathematical_logic%29">Structure</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Dublin_Core">Dublin Core</a></li>
<li> <a href="http://en.wikipedia.org/wiki/Typology">Typology</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
<p>Since then, I could add even more terms to this list.</p>
<p>Lack of precision as to what ontology means has meant that it has been sloppily defined. As I have <a href="../?p=426">harped</a> <a href="../?p=437">upon</a> <a href="../?p=440">many</a> <a href="../?p=450">times</a> regarding semantic Web terminology, this is a sad state of affairs for the semWeb endeavor that has <span style="font-style: italic;">meaning</span> at the core of its purpose.</p>
<p>I&#8217;m pretty sure that the original intent in embracing the concept of ontology within the realm of <a href="http://en.wikipedia.org/wiki/Knowledge_representation">knowledge representation</a> was not to see this term so broadly misused or mis-applied. I suspect, as well, that if we could sharpen up our understanding and remove some of the fuzziness that we could improve communications with the lay public across many levels of the semWeb enterprise.</p>
<h3>The Useful Distinction of the TBox and ABox</h3>
<p>Recently, I have been looking to the semantic Web&#8217;s roots in <a href="http://en.wikipedia.org/wiki/Description_logic">description logics</a>. One of my writings, <a style="font-style: italic;" title="Thinking ?Inside the Box? with Description Logics" href="../?p=466">Thinking &#8216;Inside the Box&#8217; with Description Logics</a>, looked at the conceptual distinctions between the so-called &#8216;<a style="font-style: italic;" href="http://en.wikipedia.org/wiki/Tbox">TBox</a>&#8216; and &#8216;<a style="font-style: italic;" href="http://en.wikipedia.org/wiki/ABox">ABox</a>&#8216;. That is, a knowledge base is a logical schema of roles and concepts and the relationships between them (the <span style="font-style: italic;">TBox</span>), which is populated by the actual data (instances) asserting memberships and attributes (&#8220;facts&#8221;) (the <span style="font-style: italic;">ABox</span>).</p>
<p>By analogy, in a conventional relational database system, the database or logical schema would correspond to the TBox; the actual data records or tables would correspond to the ABox. Often, the term <span style="font-style: italic;">ontology</span> is used to cover both ABox and TBox statements (which, I argue, only makes the understanding of the &#8216;ontology&#8217; concept more difficult).</p>
<p>My recent writing, <a style="font-style: italic;" title="Back to the Future with Description Logics" href="../?p=470">Back to the Future with Description Logics</a>, discussed at some length the advantages of keeping the TBox and ABox separate. This current article now expands on those thoughts, particularly with respect to the definition and understanding of ontology.</p>
<p>The starting point for this new mindset is to return to the ideas of data records or data tables <span style="font-style: italic;">v.</span> the logical schema that is prevalent in relational databases.</p>
<h3>So Many Structs, So Little Time</h3>
<p>The last time I took a census, about a year ago, there were more than 100 converters of various record and data structure types to RDF <a href="#light2">[2]</a>. These converters &#8212; also sometimes known as translators or &#8216;RDFizers&#8217; &#8212; generally take some input data records with varying formats or <a href="http://en.wikipedia.org/wiki/Serialization">serializations</a> and convert them to a form of RDF serialization (such as RDF/XML or <a href="http://www.w3.org/DesignIssues/Notation3.html">N3</a>), often with some ontology matching or characterizations. That last census listed these converters:</p>
<div class="mediumIndent" style="margin: 15px; font-size: 10px;">
<table style="text-align: left; margin-left: 0px; width: 90%;" border="0" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td style="vertical-align: top; width: 25%;">
<ul>
<li>RDF</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside; display: inline;">
<ul>
<li>Serialization formats:</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside; display: inline;">
<ul>
<li>RDF/XML</li>
<li>N3</li>
<li>Turtle</li>
</ul>
</li>
<li>Automatically recognized ontologies:</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside; display: inline;">
<ul>
<li>SIOC</li>
<li>SKOS</li>
<li>FOAF</li>
<li> <span class="wikiword">AtomOWL</span></li>
<li>Annotea</li>
<li>Music Ontology</li>
<li>Bibliographic Ontology</li>
<li>EXIF</li>
<li>vCard</li>
<li>Others</li>
</ul>
</li>
</ul>
</li>
<li>(X)HTML pages</li>
<li>HTML header metadata</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside; display: inline;">
<ul>
<li>Dublin Core</li>
</ul>
</li>
<li>Embedded microformats</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside; display: inline;">
<ul>
<li>eRDF</li>
<li>RDFa</li>
<li>hCard</li>
<li>hCalendar</li>
<li>XFN</li>
<li>xFolk</li>
</ul>
</li>
<li>Syndication Formats:</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside; display: inline;">
<ul>
<li>RSS 2.0</li>
<li>Atom</li>
<li>OPML</li>
<li>OCS</li>
<li>XBEL (for bookmarks)</li>
</ul>
</li>
<li>GRDDL <a href="#light1">[1]</a></li>
</ul>
</td>
<td style="width: 25%; vertical-align: top;">
<ul>
<li>REST-style Web service APIs:</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside; display: inline;">
<ul>
<li>Google Base</li>
<li>Flickr</li>
<li>Del.icio.us</li>
<li>Ning</li>
<li>Amazon</li>
<li>eBay</li>
<li>Freebase</li>
<li>Facebook</li>
<li>raw HTTP</li>
<li>Etc.</li>
</ul>
</li>
<li>Files (multitude of file formats and MIME types, including):</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside; display: inline;">
<ul>
<li>MS Office</li>
<li>OpenOffice</li>
<li>Open Document Format</li>
<li>images</li>
<li>audio</li>
<li>video</li>
<li>Etc.</li>
</ul>
</li>
<li>Web services:</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside; display: inline;">
<ul>
<li>BPEL</li>
<li>WSDL</li>
<li>XBRL</li>
<li>XBEL</li>
</ul>
</li>
<li>Data exchange formats</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside; display: inline;">
<ul>
<li>iCalendar</li>
<li>vCard</li>
</ul>
</li>
<li>Virtuoso VADs</li>
<li> OpenLink license files</li>
<li>Third party metadata extraction frameworks:</li>
<li style="list-style-type: none; list-style-image: none; list-style-position: outside; display: inline;">
<ul>
<li><a href="http://aperture.sourceforge.net/">Aperture</a></li>
<li>Spotlight</li>
<li> <a href="http://simile.mit.edu/wiki/RDFizers">SIMILE RDFizers</a></li>
</ul>
</li>
</ul>
</td>
<td style="width: 25%; vertical-align: top;">Note that MIT&#8217;s <a href="http://simile.mit.edu/wiki/RDFizers">SIMILE RDFizers</a> also recognizes these formats:</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<ul>
<li> <a title="JPEG RDFizer" href="http://simile.mit.edu/wiki/JPEG_RDFizer">JPEG </a>→ RDF</li>
<li> <a title="MARC/MODS RDFizer" href="http://simile.mit.edu/wiki/MARC/MODS_RDFizer">MARC/MODS </a>→ RDF</li>
<li> <a title="OAI-PMH RDFizer" href="http://simile.mit.edu/wiki/OAI-PMH_RDFizer">OAI-PMH </a>→ RDF</li>
<li> <a title="OCW RDFizer" href="http://simile.mit.edu/wiki/OCW_RDFizer">OCW </a>→ RDF</li>
<li> <a title="Email RDFizer" href="http://simile.mit.edu/wiki/Email_RDFizer">EMail </a>→ RDF</li>
<li> <a title="BibTeX RDFizer" href="http://simile.mit.edu/wiki/BibTeX_RDFizer">BibTEX </a>→ RDF</li>
<li> <a title="Maven POM RDFizer" href="http://simile.mit.edu/wiki/Maven_POM_RDFizer">POM </a>→ RDF</li>
<li> <a class="new" title="DEB RDFizer" href="http://simile.mit.edu/mediawiki/index.php?title=DEB_RDFizer&amp;action=edit">DEB </a>→<span class="new"> RDF</span></li>
<li> <a class="new" title="CRW RDFizer" href="http://simile.mit.edu/mediawiki/index.php?title=CRW_RDFizer&amp;action=edit">CRW </a>→<span class="new"> RDF</span></li>
<li> <a class="new" title="Flat RDFizer" href="http://simile.mit.edu/mediawiki/index.php?title=Flat_RDFizer&amp;action=edit">Flat </a>→<span class="new"> RDF</span></li>
<li> <a class="new" title="Weather RDFizer" href="http://simile.mit.edu/mediawiki/index.php?title=Weather_RDFizer&amp;action=edit">Weather </a>→<span class="new"> RDF</span></li>
<li> <a title="Java RDFizer" href="http://simile.mit.edu/wiki/Java_RDFizer">Java </a>→ RDF</li>
<li> <a title="Javadoc RDFizer" href="http://simile.mit.edu/wiki/Javadoc_RDFizer">Javadoc </a>→ RDF</li>
<li> <a title="Jira RDFizer" href="http://simile.mit.edu/wiki/Jira_RDFizer">Jira </a>→ RDF</li>
<li> <a title="Subversion RDFizer" href="http://simile.mit.edu/wiki/Subversion_RDFizer">Subversion </a>→ RDF</li>
<li> Random → RDF</li>
</ul>
</td>
<td style="width: 25%; vertical-align: top;">There is a growing list of third-party RDFizers as well:</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<ul>
<li><a title="http://www.w3.org/2000/10/swap/pim/ldif2n3.py" href="http://www.w3.org/2000/10/swap/pim/ldif2n3.py">LDIF </a>→ RDF</li>
<li><a class="external text" title="http://www.w3.org/2002/12/cal/fromIcal.py" rel="nofollow" href="http://www.w3.org/2002/12/cal/fromIcal.py">iCal </a>→<span class="external text"> RDF</span></li>
<li><a title="http://dev.w3.org/cvsweb/2001/palmagent" href="http://dev.w3.org/cvsweb/2001/palmagent">Palm </a>→ RDF</li>
<li><a class="external text" title="http://www.w3.org/2000/10/swap/pim/lookout.py" rel="nofollow" href="http://www.w3.org/2000/10/swap/pim/lookout.py">Outlook </a><span class="external text"> </span>→<span class="external text"> RDF</span></li>
<li><a class="external text" title="http://www.w3.org/2000/04/maillog2rdf/aboutMsg.py" rel="nofollow" href="http://www.w3.org/2000/04/maillog2rdf/aboutMsg.py">RFC822 </a>→<span class="external text"> RDF</span></li>
<li><a class="external text" title="http://www.w3.org/2000/10/swap/pim/fromGarmin.py" rel="nofollow" href="http://www.w3.org/2000/10/swap/pim/fromGarmin.py">Garmin </a><span class="external text"> </span>→<span class="external text"> RDF</span></li>
<li><a class="external text" title="http://www.w3.org/2000/10/swap/util/fink2n3.py" rel="nofollow" href="http://www.w3.org/2000/10/swap/util/fink2n3.py">Fink </a>→<span class="external text"> RDF</span></li>
<li><a class="external text" title="http://www.wiwiss.fu-berlin.de/suhl/bizer/d2rq/index.htm" rel="nofollow" href="http://www.wiwiss.fu-berlin.de/suhl/bizer/d2rq/index.htm">D2RQ</a></li>
<li><a class="external text" title="http://www.wiwiss.fu-berlin.de/suhl/bizer/d2rmap/D2Rmap.htm" rel="nofollow" href="http://www.wiwiss.fu-berlin.de/suhl/bizer/d2rmap/D2Rmap.htm">D2RMAP</a></li>
<li><a class="external text" title="http://www.mindswap.org/%7Erreck/excel2rdf.shtml" rel="nofollow" href="http://www.mindswap.org/%7Erreck/excel2rdf.shtml">XLS </a>→<span class="external text"> RDF</span></li>
<li><a class="external text" title="http://www.mindswap.org/%7Erreck/excel2rdf.shtml" rel="nofollow" href="http://www.mindswap.org/%7Erreck/excel2rdf.shtml">CSV </a>→<span class="external text"> RDF</span></li>
<li><a class="external text" title="http://rdf123.umbc.edu/" rel="nofollow" href="http://rdf123.umbc.edu/">RDF123</a></li>
<li><a class="external text" title="http://rhizomik.net/redefer/" rel="nofollow" href="http://rhizomik.net/redefer/">XSD </a>→<span class="external text"> OWL</span></li>
<li><a class="external text" title="http://rhizomik.net/content/" rel="nofollow" href="http://rhizomik.net/content/">XML </a>→<span class="external text"> RDF</span></li>
<li><a class="external text" title="http://rhizomik.net/redefer/" rel="nofollow" href="http://rhizomik.net/redefer/">MPEG-7/CS </a>→<span class="external text"> OWL</span></li>
<li><a class="external text" title="http://www.inf.unideb.hu/~jeszy/xmp/" rel="nofollow" href="http://www.inf.unideb.hu/%7Ejeszy/xmp/">XMP </a>→<span class="external text"> RDF</span></li>
<li><a class="external text" title="http://www.inf.unideb.hu/~jeszy/rdfizers/" rel="nofollow" href="http://www.inf.unideb.hu/%7Ejeszy/rdfizers/">BitTorrent </a><span class="external text"> </span>→<span class="external text"> RDF</span></li>
<li><a class="external text" title="http://www.inf.unideb.hu/~jeszy/rdfizers/" rel="nofollow" href="http://www.inf.unideb.hu/%7Ejeszy/rdfizers/">RPM </a>→<span class="external text"> RDF</span></li>
<li><a class="external text" title="http://www.l3s.de/~siberski/bibtex2rdf/" rel="nofollow" href="http://www.l3s.de/%7Esiberski/bibtex2rdf/">BibTeX </a>→<span class="external text"> RDF</span></li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
<p>This wealth of formats shows the robustness of the RDF data model to capture structure and data relationships from virtually any input form. This is what makes RDF so exciting as a canonical target for getting data to interoperate.</p>
<h3>Let&#8217;s Make this Elementary, Dr. Watson</h3>
<p>However &#8212; and this is crucial &#8212; standard users for decades have preferred simple, text-based and human readable formats for writing and transferring their structured data.</p>
<p>These various forms, sometimes well specified with APIs and sometimes almost ad hoc as in spreadsheet listings, are what we call &#8216;<span style="font-style: italic;">structs</span>&#8216;. <span style="font-style: italic;">Structs</span> can all be displayed as text and have, at minimum, explicit or inferrable key-value pairs to convey data relationships and attributes, with data types and values often noted by various white space, delimiter or other text conventions.</p>
<p>There is no doubt that the vast majority of extant data is found in such formats, including the results of data or information extraction from unstructured text. Indeed, even HTML and many markup languages with their angle bracket-delimited fields fall into this category.</p>
<p>There have literally been hundreds of <a href="http://en.wikipedia.org/wiki/Lightweight_markup_language">various</a> formats proposed over decades for conveying lightweight data structures. Most have been proprietary or limited to specific domains or users. Some, such as <a href="http://en.wikipedia.org/wiki/Fielded_text">fielded text</a>, <a href="http://www.zope.org/Documentation/Articles/STX">structured text</a>, <a href="http://en.wikipedia.org/wiki/Simple_Declarative_Language">simple declarative language</a> (SDL), or more recently <a href="http://en.wikipedia.org/wiki/YAML">YAML</a> or its simpler cousin <a href="http://en.wikipedia.org/wiki/JSON">JSON</a>, have become more widely adopted and supported by formal specifications, tools or APIs. JSON, especially, is a preferred form for Web 2.0 applications.</p>
<p>Some, like <a href="http://en.wikipedia.org/wiki/Microformats">microformats</a> or this example <a href="http://en.wikipedia.org/wiki/Bibtex">BibTeX</a> record below (with some non-standard extensions), rely less on syntax conventions and may use reserved keywords (such as AUTHOR or TITLE as shown) to signal the key type for the key-value pair:</p>
<div class="boxYellowSolid">
<pre>ID_LOCAL arXiv:0711.3808
AUTHOR &lt;a href="#Schramm_O"&gt;Oded Schramm&lt;/a&gt;
BIBTYPE ARTICLE
ID arXiv:0711.3808
JOURNAL Electron. Res. Announc. Math. Sci.
PAGES 17--23
SUBJECTS geom
TITLE Hyperfinite graph limits
URL http://www.aimsciences.org/journals/doIpChk.jsp?paperID=3117&amp;mode=full
URL http://www.aimsciences.org/journals/displayPapers0.jsp?comments=&amp;pubID=221&amp;journID=14&amp;pubString_num=Volume:
15, 2008 Journal Issue
VOLUME 15
YEAR 2008</pre>
</div>
<p>Some of these simple formats have been more successful than others, though none have achieved market dominance. There also appear to be few universal principles that have emerged as to syntax or format. Nonetheless, any of these various <span style="font-style: italic;">struct</span> forms are easy for casual readers to understand and easy for domain experts to write.</p>
<p>For modeling and interoperability purposes, many of these forms are patently inadequate. That is why many of these simpler forms might be called &#8220;naïve&#8221;: they achieve their immediate purpose of simple relationships and communication, but require understood or explicit context in order to be meaningfully (semantically) related to other forms or data.</p>
<p>Yet, if we have learned nothing else with the phenomenal success of the Web it is this: simplicity trumps elegance or expressivity.</p>
<h3>RDF and the Skinny ABox</h3>
<p>The RDF (<a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">Resource Description Framework</a>) data model is expressed as simple <span style="font-style: italic;">subject</span>-<span style="font-style: italic;">predicate</span>-<span style="font-style: italic;">object</span> &#8220;triple&#8221; statements. That sounds fancy, but just substitute verb for predicate and noun for subject and object. In other words: Dick sees Jane; or, the ball is round. It may sound like a kindergartner reader, but it is how data can be easily represented and built up into more complex structures and stories.</p>
<p>RDF triples can be applied equally to all structured, semi-structured and unstructured content. RDF is clearly a most capable data model that &#8212; through its ability to be extended with further concepts and relationships (vocabulary) &#8212; can create elegant and logical structures to represent comprehensive domains and knowledge bases. Finding such a model has been a quest in my professional life; I believe we finally have a winner to facilitate data interoperability using RDF.</p>
<p>But RDF has not achieved the market acceptance that its suitability as a data representation model might suggest. I think there are three reasons for this:</p>
<ul>
<li>First, RDF was first presented and &#8220;sold&#8221; as an XML serialization. This failing has been well understood for some time. This unfortunate early linkage of RDF caused confusion between data model and the XML syntax. The rather simple and incremental building blocks of triple RDF statements when presented in the nested XML syntax led to lengthy and hard-to-read specifications (for easier reading and use, see either the <a href="http://www.w3.org/DesignIssues/Notation3.html">N3</a> or <a href="http://www.dajobe.org/2004/01/turtle/">Turtle</a> syntaxes)</li>
<li>Second, triples by definition are 50% more complicated than a key-value pair. While the basic RDF statement might be simple like a Dick-and-Jane reader, as a data specification format it is still more complex than my personal attributes of <span style="font-family: monospace;">sex:Male</span> and <span style="font-family: monospace;">hair:Red</span> and <span style="font-family: monospace;">born:California</span>. Those three &#8220;facts&#8221; can not be said nearly so quickly in RDF. And, if we also adhere to <a href="http://en.wikipedia.org/wiki/Linked_Data">linked data</a>, each one of these items requires a URI unique identifier to boot! It is important not to ignore the desire for simple and human readable data-specification formats</li>
<li>Third, as this entry began and as we will conclude, RDF and its fuzzy relationship to ontology has led to over-specification of what needs to be included in the data record. What could simply be a record specification of an object and its attributes presented as simple key-value pairs has become burdened with &#8220;ontology&#8221; and &#8220;conceptual&#8221; relationships.</li>
</ul>
<p>Canonical forms embody all of the specification that the canon guiding them requires. What we may have failed to see in embracing RDF, however, is that getting useful data into the system need not carry all of this burden.</p>
<h3>Lightening Up and Shifting Work to the TBox</h3>
<div style="float: right;"><a href="../wp-content/themes/ai3/images/2009Posts/090119_tbox_abox.png"><img style="border: 0px solid; width: 200px; height: 279px;" title="Click to enlarge" src="../wp-content/themes/ai3/images/2009Posts/090119_tbox_abox.png" alt="ABox - TBox Split" /></a></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<div style="font-style: italic;"><a href="../wp-content/themes/ai3/images/2009Posts/090119_tbox_abox.png"><small> Click for full-size</small></a></div>
</div>
<p>So, what does all of this have to do with my starting diatribe about the term <span style="font-style: italic;">ontology</span>?</p>
<p>Whether a single database or the federation across all information known to human kind, we have data records (<span style="font-style: italic;">structs</span> of instances) and a logical schema (<span style="font-style: italic;">ontology</span> of concepts and relationships) by which we try to relate this information. This is a natural and meaningful split: structure and relationships <em>v.</em> the instances that populate that structure.</p>
<p>Stated this way, particularly for anyone with a relational database background, the split between schema and data is clear and obvious. Yet, the RDF, semantic Web and linked data communities have done an abysmal job of recognizing this fundamental separation of concerns.</p>
<p>We create &#8220;ontologies&#8221; that mix instances and schema. We insist on simple data record conversions that are burdened with relationship specifications as well. We tout a &#8220;linked data&#8221; infrastructure that is based solely on the same identity of instances without respect or attention to structure or conceptual relationships. We dismiss communities that work to express their data with useful local structures. We insist on standards and practices up and down the data staging and preparation chain that turns off the general market and makes us seem arrogant and dismissive. Frankly, in so many ways, we just don&#8217;t get it <a href="#light3">[3]</a>.</p>
<p>What has struck me personally over the past few months as these realizations have unfolded has been how much our own mindsets and language may be trapping us.</p>
<ul>
<li>Does existing structured data need to be expressed as RDF in order to be useful and integrated?</li>
<li>Exposing linked and instance data is great, but to what end; what are the conceptual or structural schema?</li>
<li>Why is our standards process so inward looking and parochial (often petty)? What purpose or who does this serve?</li>
</ul>
<p>At least for this diatribe, my essential conclusion is that we need to shift the burden of the schema and conceptual relations and (yes) world views to the TBox. We need to skinny down the ABox and make it a warm and welcoming environment by which any structured data (including the most naïve) can join.</p>
<p>So, ultimately, the bottom line is this: the burden of the semantic Web rests on us, not the providers of structured data.</p>
<p>It is time to streamline the ABox to smooth data contributions, assume as publishers the responsibility for the TBox, and keep those concerns separate. As for instance-related stuff, I now intend to refer to them as <span style="font-style: italic;">structs</span> governed by a controlled vocabulary (at most). I intend to reserve <span style="font-style: italic;">ontology</span> as a means to describe a given world view, a TBox, the schema and its relations of the domain at hand. And, frankly, this definition of ontology brings it back in balance with its roots in <span style="font-style: italic;">ontos</span> and the nature of the world.</p>
<p>It&#8217;s a good time to lighten up!</p>
<div class="boxBrownDotted center_ok" style="min-height: 80px; max-width: 460px;"><img style="width: 64px; height: 73px; float: left; margin-right: 10px;" title="Friday Brown Bag    Lunch" src="../wp-content/themes/ai3/images/lunchbag_64.png" alt="Friday      Brown Bag Lunch" /> This <a href="../834/announcing-the-sporadic-friday-brown-bag-lunch">Friday      brown bag leftover</a> was first placed into the <span style="font-weight: bold; color: #993300;">AI3</span> <a href="../chronological-listing/">refrigerator</a> on <a href="http://www.mkbergman.com/471/structs-naive-data-formats-and-the-abox/">January 22, 2009</a>, and is one of the more popular historical posts of this blog.   This reprise is unchanged since its original posting, though we have continued to make progress on constructs such as<a href="http://techwiki.openstructs.org/index.php/Category:IrON"> irON</a> to capture this idea. <a href="http://dev.w3.org/html5/md/">Microdata</a> in HTML5 is also an important contribution, to which we will devote some attention in the near future.</div>
<hr style="margin: 15px 0px;" size="1" />
<div style="margin: 10px 0pt; font-size: 90%;"><a title="light1" name="light1"></a> [1] <a href="http://www.w3.org/TR/grddl/">GRDDL</a> (Gleaning Resource Descriptions from Dialects of Languages) is a W3C markup format for getting RDF data out of XML and XHTML documents using explicitly associated transformation algorithms, typically represented in XSLT GRDDL accomodates a wide variety of dialects (see <a href="http://esw.w3.org/topic/CustomRdfDialects">one listing</a>) and can be combined with arbitrary transformation mechanisms (though currently mostly based on XSLTs).</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a title="light2" name="light2"></a> [2] Also see the listing of &#8220;dynamic&#8221; RDFizers at <a href="http://esw.w3.org/topic/DynamicRDFizers">http://esw.w3.org/topic/DynamicRDFizers</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a title="light3" name="light3"></a> [3] I don&#8217;t mean to imply that there are not those in the community interested in lightweight data structures or their conversion, just that they have been more of a minority to date.  For example, the <span lang="EN-US"><a href="http://semanticscripting.org/SFSW2009/">5th Workshop on Scripting and Development for the Semantic Web</a> is coming up this summer in conjunction with the <a href="http://www.eswc2009.org/">6th European Semantic Web Conference</a> in Crete, Greece; this year&#8217;s organizers are </span>Gunnar Aastrand Grimnes (<a href="http://www.dfki.de/web/welcome?set_language=en&amp;cl=en">DFKI Knowledge Management Lab</a>), Chris Bizer (<a href="http://www.fu-berlin.de/">Freie U</a><a href="http://www.uni-leipzig.de/">niversität </a><a href="http://www.fu-berlin.de/"> Berlin</a>) and Sören Auer (<a href="http://www.uni-leipzig.de/">U</a><a href="http://www.uni-leipzig.de/">niversität </a><a href="http://www.uni-leipzig.de/"> Leipzig</a>).  As other examples focusing on JSON, there are a couple of efforts to define representation conventions from <a href="http://n2.talis.com/wiki/RDF_JSON_Specification">Talis</a> and <a href="http://www.gbv.de/wikis/cls/RDF_in_JSON">GBV</a> for serializing RDF; <a href="http://jibbering.com/rdf-parser/">Jim Ley</a>, <a href="http://www.kanzaki.com/works/2006/misc/0308turtle.html">Kanzaki Masahide</a> and <a href="http://librdf.org/rasqal/roqet.html">Dave Beckett</a> (likely among others) have written simple and straightforward RDF and <a href="http://www.dajobe.org/2004/01/turtle/">Turtle</a> parsers and converters; there was a floated idea for an RDF version of JSON called <a href="http://lists.w3.org/Archives/Public/semantic-web/2007Jul/0323.html">RDFON</a> that has now evolved into the <a href="http://www.urf.name/">TURF</a> approach; and <a href="http://jdil.org/">JDIL</a> (JSON data integration layer) instructs how to add namespaces to JSON to enable encoding RDF.  Still further examples are Beckett&#8217;s <a href="http://triplr.org/">Triplr</a> and Auer&#8217;s <a href="http://aksw.org/">ASKW</a> <a href="http://triplify.org/Overview">Triplify</a> lightweight conversion services involving many different formats. These are all laudable efforts with good relevance to a lighter ABox approach, I think.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/951/brown-bag-lunch-%e2%80%98structs%e2%80%99-naive-data-formats-and-the-abox/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ontology-Driven Apps Using Generic Applications</title>
		<link>http://www.mkbergman.com/948/ontology-driven-apps-using-generic-applications/</link>
		<comments>http://www.mkbergman.com/948/ontology-driven-apps-using-generic-applications/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 08:19:10 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[irON]]></category>
		<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[Ontology Best Practices]]></category>
		<category><![CDATA[Open Semantic Framework]]></category>
		<category><![CDATA[Semantic Enterprise]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web-oriented Architecture]]></category>
		<category><![CDATA[knowledge management]]></category>
		<category><![CDATA[object oriented design]]></category>
		<category><![CDATA[semantic technologies]]></category>
		<category><![CDATA[software development methodologies]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[web oriented architecture]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=948</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Ontology-Driven Apps Using Generic Applications&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=irON&amp;rft.subject=Ontologies&amp;rft.subject=Ontology Best Practices&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Enterprise&amp;rft.subject=Semantic Web&amp;rft.subject=Software Development&amp;rft.subject=Web-oriented Architecture&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-03-07&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/948/ontology-driven-apps-using-generic-applications/&amp;rft.language=English"></span>
The Time and Technology is Here to Stand Software Engineering on its Head As an information society we have become a software society. Software is everywhere, from our phones and our desktops, to our cars, homes and every location in between. The amount of software used worldwide is unknowable; we do not even have agreed [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Ontology-Driven Apps Using Generic Applications&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=irON&amp;rft.subject=Ontologies&amp;rft.subject=Ontology Best Practices&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Enterprise&amp;rft.subject=Semantic Web&amp;rft.subject=Software Development&amp;rft.subject=Web-oriented Architecture&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-03-07&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/948/ontology-driven-apps-using-generic-applications/&amp;rft.language=English"></span>
<h2><img style="width: 230px; height: 345px; float: left; margin-right: 10px;" title="from Wikimedia Commons" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110307_one_hand_handstand.jpg" alt="from Wikimedia Commons" />The         Time and Technology is Here to Stand Software Engineering on its Head</h2>
<p>As an <a href="http://en.wikipedia.org/wiki/Information_society">information         society</a> we have become a software society. Software is everywhere,         from our phones and our desktops, to our cars, homes and every location         in between. The amount of software used worldwide is unknowable; we do         not even have agreed measures to quantify its extent or value <a href="#app1">[1]</a>. We         suspect there are at least 1 billion lines of code that have         accumulated over time <a href="#app1">[1</a>,<a href="#app2">2]</a>. On the order of $875 billion was spent         worldwide on software in 2010, of which about half was for packaged         software and licenses and the rest for programmer services, consulting         and outsourcing <a href="#app3">[3]</a>. In the U.S. alone, about 2 million people work as programmers or related <a href="#app4">[4]</a>.</p>
<p>It goes without saying that software is a very big deal.</p>
<p>No matter what the metrics, it is expensive to develop and maintain         software. This is also true for open source, which has its own costs of         ownership <a href="#app5">[5]</a>. Designing software faster with fewer mistakes and more         re-use and robustness have clearly been emphases in computer science         and the discipline of programming from its inception.</p>
<p>This attention has caused a myriad of schools and practices to develop         over time. Some of the earlier efforts included <a href="http://en.wikipedia.org/wiki/Computer-aided_software_engineering">computer-aided         software engineering</a> (CASE) or Grady Booch&#8217;s (already cited in <a href="#app1">[1]</a>)         <a href="http://en.wikipedia.org/wiki/Object-oriented_design">object-oriented         design</a> (OOD). Fourth-generation languages (<a href="http://en.wikipedia.org/wiki/4GL">4GLs</a>) and <a href="http://en.wikipedia.org/wiki/Rapid_Application_Development">rapid         application development</a> (RAD) were popular in the 1980s and 1990s.         Most recently, <a href="http://en.wikipedia.org/wiki/Agile_software_development">agile         software development</a> or <a href="http://en.wikipedia.org/wiki/Extreme_Programming">extreme         programming</a> have grabbed mindshare.</p>
<p>Altogether, there are dozens of <a href="http://en.wikipedia.org/wiki/List_of_software_development_philosophies"> software development philosophies</a>, each with its passionate         advocates. These express themselves through a variety of <a href="http://en.wikipedia.org/wiki/Software_development_methodology">software         development methodologies</a> that might be characterized or clustered         into the <a href="http://en.wikipedia.org/wiki/Software_prototyping">prototyping</a> or         <a href="http://en.wikipedia.org/wiki/Waterfall_model">waterfall</a> or         <a href="http://en.wikipedia.org/wiki/Spiral_model">spiral</a> camps.</p>
<p>In all instances, of course, the drivers and motivations are the same:         faster development, more re-use, greater robustness, easier         maintainability, and lower development costs and <a href="http://en.wikipedia.org/wiki/Total_cost_of_ownership">total costs of         ownership</a>.</p>
<h3>The Ontology Perspective in this Mix</h3>
<p>For at least the past decade, ontologies and semantic Web-related         approaches have also been part of this mix. A good summary of these         efforts comes from Michael Uschold in an invited address at FOIS 2008 <a href="#app6"> [6]</a>. In this review, he points to these advantages for ontology-based         approaches to software engineering:</p>
<ul>
<li>Re-use &#8212; abstract/general notions can be used to instantiate more         concrete/specific notions, allowing more reuse </li>
<li>Reduced development times &#8212; producing software artifacts that are         closer to how we think, combined with reuse and automation that enables         applications to be developed more quickly </li>
<li>Increased reliability &#8212; formal constructs with automation reduces         human error </li>
<li>Decreased maintenance costs &#8212; increased reliability and the use of         automation to convert models to executable code reduces errors. A         formal link between the models and the code makes software easier to         comprehend and thus maintain. </li>
</ul>
<p>These first four items are similar to the benefits argued for other         software engineering methodologies, though with some unique twists due         to the semantic basis. However, Uschold also goes on to suggest         benefits for ontology-based approaches not claimed by other         methodologies:</p>
<ul>
<li>Reduced conceptual gap &#8212; application developers can interact with         the tools in a way that is closer to their thinking </li>
<li>Facilitate automation &#8212; formal structures are amenable to         automated reasoning, reducing the load on the human, and </li>
<li>Agility/flexibility &#8212; ontology-driven information systems are more         flexible, because you can much more easily and reliably make changes in         the model than in code. </li>
</ul>
<p>In making these arguments, Uschold picks up on the &#8220;ontology-driven         information systems&#8221; moniker first put forward by Nicola Guarino in         1998 <a href="#app7">[7]</a>. The ideas around ODIS have had substantial impact on the         semantic Web community, especially in the use of formal ontologies and         modeling approaches. The <a href="http://www.formalontology.org/">FOIS</a> series of conferences, and         most recently the <a href="http://fluidity.org.uk/Conference.html">ODiSE</a> series, have been         spawned from these ideas. There is also, for example, a fairly rich and         developed community working on the integration of UML via ontologies as         the drivers or specifiers of software <a href="#app8">[8]</a>.</p>
<p>Yet, as Uschold is careful to point out, the idea of ODIS extends         beyond software engineering to encompass all of information systems. My         own categorization of how ontologies may contribute to information         systems is:</p>
<ol>
<li>Domain modeling &#8212; this category includes the domain knowledge         representations and reasoning and inference bases that are the         traditional understanding of ontologies in the semantic space. The         structural aspects are akin to a database schema definition; the unique         aspects of ontologies reside in their logic foundations and graph         structures, which offer more power in inferencing, reasoning and graph         analysis than conventional approaches </li>
<li>Model-driven architectures (<a href="http://en.wikipedia.org/wiki/Model-driven_architecture">MDA</a>) &#8212;         like <a href="http://en.wikipedia.org/wiki/Unified_Modeling_Language"> UML</a>, these are platform-independent specifications that provide           the functional and dataflow definitions of &#8220;models&#8221; executed by the           system. These are the natural progeny of earlier CASE approaches, for           example. Such systems also potentially allow graphical or visual           means for building or hooking together components as a substitute to           direct coding </li>
<li>Program specifications and excecutables &#8212; though fairly         experimental at present, these approaches use the languages of RDF, OWL         or direct use of logic languages to create the equivalent of executable         software programs. A couple of experimental systems include Fhat and         Neno, for example, point to possible future directions in this area<a href="#app9"> [9] </a></li>
<li>Runtime or utility components &#8212; proper construction of ontologies         can be a source for labels and prompts within user interfaces and other         runtime uses. Because of the ontology basis, these contributions may         also be contextual<a href="#app10"> [10]</a> </li>
<li>Automated agents &#8212; based on context, user choices and the         governing ontologies, new instruction sets can be generated via what         some term automated agents or &#8220;robots&#8221; to instruct subsequent steps in         the software, including potentially analysis or validation. Mission         Critical IT<a href="#app11"> [11]</a> is apparently the most advanced in this area; we         discuss their <a href="http://www.missioncriticalit.com/odase.html">ODASE</a> approach more         below </li>
<li>Bespoke drivers of generic applications &#8212; through using and         combining a number of the aspects above, in its totality this approach         is a very different paradigm, as we describe below. </li>
</ol>
<p>When we look at this list from the standpoint of conventional software         or software engineering, we see that #1 shares overlaps with         conventional database roles and #2, #3 and #4 with         conventional programmer or software engineering responsibilities. The         other portions, however, are quite unique to ontology-based approaches.</p>
<h3>But Is Software Engineering Even the Right Focus?</h3>
<p>For decades, issues related to how to develop apps better and faster         have been proposed and argued about. We still have the same litany of         challenges and issues from expense to re-use and brittleness. And,         unfortunately, despite many methodologies <span style="font-style: italic;">du jour</span>, we still see bottlenecks in the         enterprise relating to such matters as:</p>
<div class="boxGraySolid" style="margin: 10px 0pt 10px 10px; float: right; width: 360px; font-size: 120%; font-style: italic; text-align: center;">Software is merely an intermediary artifact to accomplish some given       tasks. Rather than &#8220;engineering&#8221; software, the focus should be on how to       fulfill those tasks in an optimal manner &#8212; and that demands a systems       approach.</div>
<ul>
<li>data access </li>
<li>queries </li>
<li>data transformations </li>
<li>data integration or federation </li>
<li>reports </li>
<li>other data presentations </li>
<li>business analysis, and </li>
<li>targeted, specialty functionality. </li>
</ul>
<p>Promises such as self-service reporting touted at the inception of data         warehousing two decades ago are still to be realized <a href="#app12">[12]</a>. Enterprises         still require the overhead and layers of IT to write SQL for us and         prepare and fix reports. If we stand back a bit, perhaps we can come to         see that the real opportunity resides in turning the whole paradigm of         software engineering upside down.</p>
<p>Our objective should not be software <span style="font-style: italic;">per se</span>. Software is merely an intermediary         artifact to accomplish some given task. Rather than engineering         software, the focus should be on how to fulfill those tasks in an         optimal manner. How can we keep the idea of producing software from         becoming this generation&#8217;s new buggy whip example <a href="#app13">[13]</a>?</p>
<p>For reasons we delve into a bit more below, it perhaps has required a         confluence of some new semantic technologies and ontologies to create         the opening for a shift in perspective. That shift is one from software         as an objective in itself to one of software as merely a generic         intermediary in an information task pipeline.</p>
<p>Though this shift may not         apply (at least with current technologies) to transactional and         process-based software, I submit it may be fundamental to the broad         category of <a href="http://en.wikipedia.org/wiki/Knowledge_management">knowledge         management</a>. KM includes such applications as <a href="http://en.wikipedia.org/wiki/Business_intelligence">business         intelligence</a>, <a href="http://en.wikipedia.org/wiki/Data_warehouse">data warehousing</a>,         <a href="http://en.wikipedia.org/wiki/Data_integration">data         integration</a> and <a href="http://en.wikipedia.org/wiki/Federated_database_system">federation</a>,         <a href="http://en.wikipedia.org/wiki/Enterprise_Information_Integration">enterprise         information integration</a> and <a href="http://en.wikipedia.org/wiki/Enterprise_information_management">management</a>,         <a href="http://en.wikipedia.org/wiki/Competitive_intelligence">competitive         intelligence</a>, <a href="http://en.wikipedia.org/wiki/Knowledge_representation">knowledge         representation</a>, and so forth. These are the real areas where         integration and reports and queries and analysis remain frustrating         bottlenecks for knowledge workers. And, interestingly, these are also         the same areas most amenable to embracing an open world (OWA) mindset <a href="#app14"> [14]</a>.</p>
<p>If we stand back and take a systems perspective to the question of         fulfilling functional KM tasks, we see that the questions are both         broader and narrower than software engineering alone. They are broader         because this systems perspective embraces architecture, data,         structures and generic designs. The questions are narrower because         software &#8212; within this broader context &#8212; can be now be generalized as         artifacts providing the fulfillment of classes of functions.</p>
<h3>ODapps: The Ontology-Driven Application Approach</h3>
<p><a href="http://openstructs.org"><img style="border: 0px solid; width: 90px; height: 90px; float: right; margin-left: 10px;" title="Open Semantic Framework (OSF) at openstructs.org" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2010Posts/triple_90.png" alt="Open Semantic Framework (OSF) at openstructs.org" align="right" /></a><span style="font-style: italic;">Ontology-driven         applications</span> &#8212; or <span style="font-style: italic;">ODapps</span> for short &#8212; based on <span style="font-style: italic;">adaptive ontologies</span> are a topic we have         been nibbling around and discussing for some time. In our oft-cited         seven pillars of the semantic enterprise we devote two pillars         specifically (#4 and #3, respectively) to these two components<a href="#app15"> [15]</a>.         However, in keeping with the systems perspective relevant to a         transition from software engineering to generic apps, we should also         note that canonical data models (via RDF) and a Web-oriented         architecture are two additional pillars in the vision.</p>
<p>ODapps are modular, generic software applications designed to operate         in accordance with the specifications contained in one or more         ontologies. The relationships and structure of the information driving         these applications are based on the standard functions and roles of         ontologies (namely as domain ontologies as noted under #1 above), as         supplemented by the UI and instruction sets and validations and rules         (as noted under #4 and #5 above). The combination of these         specifications as provided by both properly constructed domain         ontologies and supplementary utility ontologies is what we collectively         term <span style="font-style: italic;">adaptive ontologies</span> <a href="#app16">[16]</a>.</p>
<p>ODapps fulfill specific generic tasks, consistent with their bespoke         design (#6 above) to respond to adaptive ontologies. Examples of         current ontology-driven apps include imports and exports in various         formats, dataset creation and management, data record creation and         management, reporting, browsing, searching, data visualization and         manipulation (through libraries of what we call <span style="font-style: italic;">semantic components</span>), user access rights         and permissions, and similar. These applications provide their specific         functionality in response to the specifications in the ontologies fed         to them.</p>
<p>ODapps are designed more similarly to widgets or API-based frameworks         than to the dedicated software of the past, though the dedicated         functionality (<span style="font-style: italic;">e.g.</span>, graphing,         reporting, etc.) is obviously quite similar. The major change in these         ontology-driven apps is to accommodate a relatively common abstraction         layer that responds to the structure and conventions of the guiding         ontologies. The major advantage is that single generic applications can         supply shared functionality based on any properly constructed adaptive         ontology.</p>
<p>In fact, the widget idea from <a href="http://en.wikipedia.org/wiki/Web_2.0">Web 2.0</a> is a key precursor         to the ODapps design. What we see in Web 2.0 are dedicated         single-purpose widgets that perform a display operation (such as         <a href="http://en.wikipedia.org/wiki/Google_Maps">Google Maps</a>)         based on the properly structured data fed to them (structured         geolocational information in the case of GMaps).</p>
<p>In <a href="http://structureddynamics.com">Structured Dynamics</a>&#8216; early work         with RDF-based applications by our predecessor company, <a href="http://zitgist.com/">Zitgist</a>, we demonstrated how the basic Web         2.0 widget idea could be extended by &#8220;triggering&#8221; which kind of mashup         widget got invoked by virtue of the data type(s) fed to it. The         <a href="http://zitgist.com/products/query_builder.html">Query         Builder</a> presented contextual choices for how to build a SPARQL         query via UI based on what prior dropdown list choices were made. The         <a href="http://zitgist.com/products/dataviewer/dataviewer.html">DataViewer</a> displayed results with different widgets (maps, profiles, etc.)         depending on which part of a query&#8217;s results set was inspected (by         responding to differences in data types). These two apps, in our         opinion, remain some of the best developed in the semantic Web space,         even though development on both ceased nearly four years ago.</p>
<p>This basic extension of data-driven applications &#8212; as informed by a         bit more structure &#8212; naturally evolved into a full ontology-driven         design. We discovered that &#8212; with some minor best practice additions         to conventional ontologies &#8212; we could turn ontologies into powerhouses         that informed applications through:</p>
<ul>
<li>An understanding of the kind of things under consideration,         including their inference chains </li>
<li>The types of data in results sets, and how that informs the nature         of the widget(s) (maps, calendars, timelines, charts, tabular reports,         images, stories, media, etc.) appropriate to display and manipulate         that information, and </li>
<li>UI and utility functions such as interface labels, mouseovers,         auto-suggests, spelling suggestions, synonym matches, etc. </li>
</ul>
<p>Like the earlier Zitgist discoveries, basing the applications on only         one or two canonical data models and serializations (RDF and a simple         data exchange XML, which Fred Giasson calls <a href="http://techwiki.openstructs.org/index.php/StructXML">structXML</a>)         provides the input uniformity to make a library of generic applications         tractable. And, embedding the entire framework in a Web-oriented         architecture means it can be distributed and deployed anywhere         accessible by HTTP.</p>
<p>Booch has maintained for years that in software design abstraction is         good, but not if too abstract <a href="#app1">[1]</a>. ODapps are a balanced abstraction         within the framework of canonical architectures, data models and data         structures. This design thus limits software brittleness and maximizes         software re-use. Moreover, it shifts the locus of effort from software         development and maintenance to the creation and modification of         knowledge structures. The KM emphasis can shift from programming and         software to logic and terminology <a href="#app16">[16]</a>.</p>
<p>In the sub-sections below, we peel back some portions of this layered         design to unveil how some of these major pieces interact.</p>
<h4>Built Upon an Ontology- and Web-based Architecture</h4>
<p>Again, to cite Booch, the most fundamental software design decision is         architecture<a href="#app1"> [1]</a>. In the case of Structured Dynamics and its support         for ODapps, its open semantic framework (<a rel="nofollow" href="http://openstructs.org/open-semantic-framework/overview">OSF</a>) is embedded in a Web-oriented architecture         (<a href="http://en.wikipedia.org/wiki/Web-oriented_architecture">WOA</a>).         The OSF itself is a layered design that proceeds from a kernel of         existing assets (data and structures) and proceeds through conversion         to Web service access, and then ontology organization and management         via ODapps<a href="#app17"> [17]</a>. The major layers in the OSF stack are:</p>
<ul>
<li>Existing assets — any and all existing information and data assets,         ranging from unstructured to structured. Preserving and leveraging         those assets is a key premise </li>
<li> <a href="http://structureddynamics.com/scones.html">scones</a> /           <a rel="nofollow" href="http://openstructs.org/iron">irON</a> &#8211; the           conversion layer, in part consisting of information extraction of           subject concepts or named entities (<a href="http://structureddynamics.com/scones.html">scones</a>) or the           instance record Object Notation for conveying XML, JSON or           spreadsheets (CSV) in <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a>-ready           form (via <a href="http://openstructs.org/iron">irON</a> or <a href="http://openstructs.org/resources/rdfizers">RDFizers</a>) </li>
<li> <a rel="nofollow" href="http://openstructs.org/structwsf">structWSF</a> &#8211; a platform-independent suite of more than 20           RESTful Web services, organized for managing structured data           datasets; it provides the standard, common interface by which           existing information assets get represented and presented to the           outside world and to other layers in the OSF stack </li>
<li> <a href="http://techwiki.openstructs.org/index.php/Category:Ontologies">Ontologies</a> — are the layer containing the structured assets “driving” the           system; this includes the concepts and relationships of the domain at           hand, and administrative ontologies that guide how the user           interfaces or widgets in the system should behave </li>
<li> <a rel="nofollow" href="http://openstructs.org/construct">conStruct</a> &#8211; connecting modules to enable structWSF and           sComponents to be hosted/embedded in Drupal, and </li>
<li> <a rel="nofollow" href="http://openstructs.org/semantic-components">sComponents</a> &#8211; (mostly) Flex semantic components           (widgets) for visualizing and manipulating structured data. </li>
</ul>
<p>Not all of these layers or even their specifics is necessary for an         ontology-driven app design<a href="#app18"> [18]</a>. However, the general foundations of         generic apps, properly constructed adaptive ontologies, and canonical         data models and structures should be preserved in order to         operationalize ODapps in other settings.</p>
<h4>OSF is the Basis for Domain-specific Instantiations</h4>
<p>The power of this design is that by swapping out adaptive ontologies         and relevant data, the entire OSF stack as is can be used to deploy         multiple instantiations. Potential uses can be as varied as the domain         coverage of the domain ontologies that drive this framework.</p>
<p>The OSF semantic framework is a completely open and generic one. The         same set of tools and capabilities can be applied to any domain that         needs to manage and understand information in its own domain. With the         existing ODApps in hand, this includes from unstructured text or         documents to conventional structured databases.</p>
<p>What changes from domain to domain are the data <span class="double_u">structures</span> (the ontologies, schema and entity         references) and their instance <span class="double_u">data</span> (which can also be converted from existing to canonical forms). Here is         an illustration of how this generic framework can be leveraged for         different deployments. Note that <a href="http://citizen-dan.org">Citizen Dan</a> is a local government example         of the OSF framework with relatively complete <a href="http://demo.citizen-dan.org">online demos</a>:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2010Posts/100617_osf_instances.png"> <img class="center_ok" style="border: 0px solid; width: 600px; height: 334px;" title="The Open Semantic Framework can Spawn Many Different Domain Instances" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2010Posts/100617_osf_instances.png" alt="The Open Semantic Framework can Spawn Many Different Domain Instances" width="1204" height="670" /></a></div>
<p style="font-style: italic; text-align: center;"><small>(click for <a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2010Posts/100617_osf_instances.png"> full size</a>)</small></p>
<p>Structured Dynamics continues to wrinkle this basic design for         different clients and different industries. As we round out the         starting set of ODapps (see below), the major effort in adapting this         generic design to different uses is to tailor the ontologies and         &#8220;RDFize&#8221; existing data assets.</p>
<h4>Lower Layers</h4>
<p>Conversion of existing assets to RDF and canonical forms is not         discussed further here. See the <a href="http://openstructs.org/iron">irON</a> and <a href="http://structureddynamics.com/scones.html">scones</a> documentation or         the <a href="http://techwiki.openstructs.org">TechWiki</a> for more         information on these topics.</p>
<h4>The structWSF Web Services Layer</h4>
<p>The first suite of ODapps occurs at the <a href="http://openstructs.org/structwsf">structWSF</a> Web services layer.         structWSF provides a set of generic functions and endpoints to:</p>
<ul>
<li>Import or export datasets </li>
<li>Create, update, delete (<a href="http://en.wikipedia.org/wiki/Create,_read,_update_and_delete">CRUD</a>)         or otherwise manage data records </li>
<li>Search records with full-text and faceted search </li>
<li>Browse or view existing records or record sets, based on simple to         possible complex selection or filtering criteria, or </li>
<li>Process results sets through workflows of various natures,         involving specialized analysis, information extraction or other         functions. </li>
</ul>
<p>Here is a listing of current ODapp functions within structWSF (with links to details for each):</p>
<table class="center_ok" style="font-size: 11px; width: 358px;" border="1" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td style="background-color: #ffffcc; text-align: center;"><strong>WSF management Web services</strong></td>
<td style="background-color: #ffffcc;">
<div style="text-align: center;"><strong>User-oriented Web services</strong></div>
</td>
</tr>
<tr>
<td valign="top">
<ul>
<li> <a title="Auth: Validator" href="http://techwiki.openstructs.org/index.php/Auth:_Validator">Auth: Validator</a> </li>
<li> <a title="Auth: Lister" href="http://techwiki.openstructs.org/index.php/Auth:_Lister">Auth: Lister</a> </li>
<li> <a title="Auth Registrar: Access" href="http://techwiki.openstructs.org/index.php/Auth_Registrar:_Access">Auth Registrar: Access</a> </li>
<li> <a title="Auth Registrar: WS" href="http://techwiki.openstructs.org/index.php/Auth_Registrar:_WS">Auth Registrar: WS</a> </li>
<li> <a title="Ontology: Create" href="http://techwiki.openstructs.org/index.php/Ontology:_Create">Ontology: Create</a> </li>
<li> <a title="Dataset: Create" href="http://techwiki.openstructs.org/index.php/Dataset:_Create">Dataset: Create</a> </li>
<li> <a title="Dataset: Read" href="http://techwiki.openstructs.org/index.php/Dataset:_Read">Dataset: Read</a> </li>
<li> <a title="Dataset: Update" href="http://techwiki.openstructs.org/index.php/Dataset:_Update">Dataset: Update</a> </li>
<li> <a title="Dataset: Delete" href="http://techwiki.openstructs.org/index.php/Dataset:_Delete">Dataset: Delete</a> </li>
</ul>
</td>
<td valign="top">
<ul>
<li> <a title="CRUD: Create" href="http://techwiki.openstructs.org/index.php/CRUD:_Create">CRUD: Create</a> </li>
<li> <a title="CRUD: Read" href="http://techwiki.openstructs.org/index.php/CRUD:_Read">CRUD: Read</a> </li>
<li> <a title="CRUD: Update" href="http://techwiki.openstructs.org/index.php/CRUD:_Update">CRUD: Update</a> </li>
<li> <a title="CRUD: Delete" href="http://techwiki.openstructs.org/index.php/CRUD:_Delete">CRUD: Delete</a> </li>
<li> <a title="Browse" href="http://techwiki.openstructs.org/index.php/Browse">Browse</a> </li>
<li> <a title="Search" href="http://techwiki.openstructs.org/index.php/Search">Search</a> </li>
<li> <a title="Scones" href="http://techwiki.openstructs.org/index.php/Scones">Scones</a> </li>
<li> <a title="SPARQL" href="http://techwiki.openstructs.org/index.php/SPARQL">SPARQL</a> </li>
<li> <a class="new" title="Import (page does not exist)" href="http://techwiki.openstructs.org/index.php?title=Import&amp;action=edit&amp;redlink=1">Import</a> </li>
<li> <a class="new" title="Export (page does not exist)" href="http://techwiki.openstructs.org/index.php?title=Export&amp;action=edit&amp;redlink=1">Export</a> </li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>At this level the information access and processing is done largely on         the basis of structured results sets. Other visualization and display         ODapps are listed in the next subsection.</p>
<h4>The Semantics Components Layer</h4>
<p>The visualization and data display and manipulation ODapps are provided         via the <a href="http://openstructs.org/semantic-components">semantic         components</a> layer. Structured Dynamics&#8217;s sComponents are Flex-based         widgets that conform to a standard, generic design. Other developers         using the OSF framework are developing JavaScript versions <a href="#app19">[19]</a>. Here         is the current library (with links to details for each):</p>
<table class="center_ok" style="font-size: 11px; width: 370px;" border="1" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<td style="background-color: #ffffcc; text-align: center;"><strong>New Components</strong></td>
<td style="background-color: #ffffcc;">
<div style="text-align: center;"><strong>Components Extending Flex</strong></div>
</td>
</tr>
<tr>
<td valign="top">
<ul>
<li> <a title="Portable Control Application" href="http://techwiki.openstructs.org/index.php/Portable_Control_Application">Portable Control                   Application</a> </li>
<li> <a title="SBarChart" href="http://techwiki.openstructs.org/index.php/SBarChart">sBarChart</a> </li>
<li> <a title="SCO Ontology" href="http://techwiki.openstructs.org/index.php/SCO_Ontology">SCO Ontology</a> </li>
<li> <a title="SControl" href="http://techwiki.openstructs.org/index.php/SControl">sControl</a> </li>
<li>sDashboard </li>
<li> <a title="SGenericBox" href="http://techwiki.openstructs.org/index.php/SGenericBox">sGenericBox</a> </li>
<li> <a title="SLinearChart" href="http://techwiki.openstructs.org/index.php/SLinearChart">sLinearChart</a> </li>
<li> <a title="SMap" href="http://techwiki.openstructs.org/index.php/SMap">sMap</a> </li>
<li> <a title="SPieChart" href="http://techwiki.openstructs.org/index.php/SPieChart">sPieChart</a> </li>
<li> <a title="SRelationBrowser" href="http://techwiki.openstructs.org/index.php/SRelationBrowser">sRelationBrowser</a> </li>
<li> <a title="SStory" href="http://techwiki.openstructs.org/index.php/SStory">sStory</a> </li>
<li> <a title="Scones: Story Tagging" href="http://techwiki.openstructs.org/index.php/Scones:_Story_Tagging">scones: Story Tagging</a> </li>
<li>sWebMap (in development) </li>
</ul>
</td>
<td valign="top">
<ul>
<li> <a title="SHBox" href="http://techwiki.openstructs.org/index.php/SHBox">sHBox</a> </li>
<li> <a title="SImage" href="http://techwiki.openstructs.org/index.php/SImage">sImage</a> </li>
<li> <a title="SText" href="http://techwiki.openstructs.org/index.php/SText">sText</a> </li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>These components can be used in combination with any of the structWSF         ODapps, meaning the filtering, searching, browsing, import/export,         etc., may be combined as an input or output option with the above.</p>
<p>The next animated figure shows how the basic interaction flow works         with these components:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/sco_animation.gif"> <img class="center_ok" style="border: 0px solid; width: 600px; height: 538px;" title="Semantic Components Workflow" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/sco_animation.gif" alt="Semantic Components Workflow" /></a></div>
<p style="font-style: italic; text-align: center;"><small>(click for <a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/sco_animation.gif"> full size</a>)</small></p>
<p>Using the ODapp structure it is possible to either “drive” queries and         results sets selections via direct HTTP request via endpoints (not         shown) or via simple dropdown selections on HTML forms or Flex widgets         (shown). This design enables the entire system to be driven via simple         selections or interactions without the need for any programming or         technical expertise.</p>
<p>As the diagram shows, these various sComponents get embedded in a         layout canvas for the Web page. By interacting with the various         components, new queries are generated (most often as <a href="http://en.wikipedia.org/wiki/Sparql">SPARQL</a> queries) to the         various <a href="http://openstructs.org/structwsf">structWSF</a> Web         services endpoints. The result of these requests is to generate a         structured results set, which includes various types and attributes.</p>
<p>An internal ontology that embodies the desired behavior and display         options (SCO, the <a href="http://openstructs.org/semantic-components/manual/semantic-component-ontology"> Semantic Component Ontology</a>) is matched with these types and         attributes to generate the formal instructions to the sComponents. When         combined with the results set data, and attribute information in the         irON ontology, plus the domain understanding in the domain ontology, a         synthetic schema is constructed that instructs what the interface may         do next. Here is an example schema:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110307_sco_schema.png"> <img class="center_ok" style="border: 0px solid; width: 581px; height: 537px;" title="Calculated Schema" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110307_sco_schema.png" alt="Calculated Schema" /></a></div>
<p style="font-style: italic; text-align: center;"><small>(click for <a> full size</a>)</small></p>
<p>These instructions are then presented to the sControl component, which         determines which widgets (individual components, with multiples         possible depending on the inputs) need to be invoked and displayed on         the layout canvas.</p>
<p>As new user interactions occur with the resulting displays and         components, the iteration cycle is generated anew, again starting a new         cycle of queries and results sets. Importantly, as these pathways and         associated display components get created, they can be named and made         persistent for later re-use or within dashboard invocations.</p>
<h4>Self-service Reporting</h4>
<p>Since self-service reporting has been such a disappointment <a href="#app12">[12]</a>, it is         worth noting another aspect from this ODapp design. Every &#8220;thing&#8221; that         can be presented in the interface can have a specific display template         associated with it. Absent another definition, for example, any given         &#8220;thing&#8221; will default to its parental type (which, ultimate, is &#8220;Thing&#8221;,         the generic template display for anything without a definition; this         generally defaults to a presentation of all attributes for the object).</p>
<p>However, if more specific templates occur in the inference path, they         will be preferentially used. Here is a sample of such a path:</p>
<table style="margin-left: 15px; font-size: 11px;" border="0" cellspacing="0" frame="void">
<tbody>
<tr>
<td width="47" height="17" align="left">Thing</td>
<td width="38" align="left"></td>
<td width="60" align="left"></td>
<td width="38" align="left"></td>
<td width="57" align="left"></td>
<td width="38" align="left"></td>
<td width="99" align="left"></td>
<td width="38" align="left"></td>
<td width="125" align="left"></td>
<td width="38" align="left"></td>
<td width="132" align="left"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td style="border-top: 1px solid #000000; border-right: 1px solid #000000;" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td align="left"></td>
<td align="left">Product</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td style="border-top: 1px solid #000000; border-right: 1px solid #000000;" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left">Camera</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td style="border-top: 1px solid #000000; border-right: 1px solid #000000;" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left">Digital Camera</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td style="border-top: 1px solid #000000; border-right: 1px solid #000000;" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left">SLR Digital Camera</td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td height="17" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td style="border-top: 1px solid #000000; border-right: 1px solid #000000;" align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td height="18" align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left">Olympus Evolt E520</td>
</tr>
</tbody>
</table>
<p style="margin-top: 10px;">At the ultimate level of a particular model of Olympus camera, its         display template might be exactly tailored to its specifications and         attributes.</p>
<p>This design is meant to provide placeholders for any &#8220;thing&#8221; in any         domain, while also providing the latitude to tailor and customize to         every &#8220;thing&#8221; in the domain.</p>
<p>It is critical that generic apps through an ODapp approach also provide         the underpinnings for self-service reporting. The ultimate metric is         whether consumers of information can create the reports they need         without any support or intervention by IT.</p>
<h4>Adaptive Analysis</h4>
<p>The Mission Critical IT reference provided earlier <a href="#app11">[11]</a> helps point to         the potentials of this paradigm in a different way. Mission Critical         also shows user interfaces contextually chosen based on prior         selections. But they extend that advantage with context-specific         analysis and validation through the <a href="http://en.wikipedia.org/wiki/SWRL">SWRL</a> rules-base semantic         language. This is an exciting extension of the base paradigm that         confirms the applicability of this approach to business intelligence         and general enterprise analytics.</p>
<h3>Standing Software Engineering on its Head</h3>
<p>All of this points to a very exciting era for enterprise and consumer         apps moving into the future. We perhaps should no longer talk about         &#8220;killer apps&#8221;; we can shift our focus to the information we have at         hand and how we want to structure and analyze it.</p>
<p>Using ontologies to write or specify code or to compete as an         alternative to conventional software engineering approaches seems too         much like more of the same. The systems basis in which such         methodologies such as MDA reside have not fixed the enterprise software         challenges of decades-long standing. Rather, a shift to generic         applications driven by adaptive ontologies &#8212; ODapps &#8212; looks to shift         the locus from software and programming to data and knowledge         structures.</p>
<p>This democratization of IT means that everything in the knowledge         management realm can become &#8220;self service.&#8221; We can create our own         analyses; develop our own reports; and package and disseminate what we         and our colleagues need, when they need it. Through ontology-driven         apps and adaptive ontologies, we can turn prior decades of software         engineering practices on their head.</p>
<p>What Structured Dynamics and a handful of other vendors are showing is         by no means yet complete. Our roster of ODapp widgets and templates         still needs much filling out. The toolsets available for creating,         maintaining, mapping and extending the ontologies underlying these         systems are still woefully inadequate <a href="#app20">[20]</a>. These are important         development needs for the near term.</p>
<p>And, of course, none of this means the end of software development         either. Process and transactions systems still likely reside outside of         this new, emerging paradigm. Creating great and solid generic ODapps         still requires software. Further, ODapps and their potential are         completely silent on how we create that software and with what         languages or methodologies. The era of software engineering is hardly         at an end.</p>
<p>What is exceptionally powerful about the prospects in ontology-driven         apps is to speed time to understanding and place information         manipulation directly in the hands of the knowledge worker. This is a         vision of information access and control that has been frustrated for         decades. Perhaps, with ontologies and these semantic technologies, that         vision is now near at hand.</p>
<hr style="margin: 15px 0px;" size="1" />
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app1"></a>[1] This estimate is from Grady Booch, 2005. &#8220;The Complexity of         Programming Models,&#8221; see <a href="http://www.cs.nott.ac.uk/%7Enem/complexity.pdf">http://www.cs.nott.ac.uk/~nem/complexity.pdf</a>.         He comments on the weakness of software lines of code as a meaningful         measure. At the time in 2005, he estimated perhaps 800 billion lines of         code has accumulated, which given growth and vagaries of such         guesstimates I have updated to the 1 billion number noted.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app2"></a>[2] For a wildly different estimate, that has been criticized somewhat,         see Blackduck Software, 2009. &#8220;Estimating the Development Cost of Open         Source Software,&#8221; at <a href="http://www.blackducksoftware.com/development-cost-of-open-source">http://www.blackducksoftware.com/development-cost-of-open-source</a>.         According to Blackduck&#8217;s research there are over 200,000 OSS projects         on the Internet representing more than 4.9 billion lines of available         code from 4,000 sites that the company monitors. Blackduck estimates         that reproducing this OSS would cost $387 billion for &#8220;typical&#8221; SLOC         estimating bases. While Blackduck is likely in the best place of any         organization to track open source given their business model, others         have criticized the estimates because only a portion (fewer than 10%,         consistent with my own research) of open source projects are active,         and many active projects also share significant code bases.         Nonetheless, there is still a huge disparity between the 1 billion SLOC         estimate in [1] and this estimate of 5 billion for open source alone.         This disparity is an indicator of the measurement challenges.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app3"></a>[3] See IMAP, 2010. <span style="font-style: italic;">Computing &amp;         Internet Software Global Report — 2010</span>, 40 pp, see <a href="http://imap.com/imap/media/resources/HighTechReport_WEB_89B4E29C01817.pdf"> http://imap.com/imap/media/resources/HighTechReport_WEB_89B4E29C01817.pdf</a>.         The relative splits they show for software packages and licenses, IT         consulting or outsourcing are 48%, 29% and 23%, respectively, of the         total shown. Note however, that Gartner estimates are as high as 2x         these amounts, again showing the uncertainty of measuring software;         see, for example, <a href="http://www.gartner.com/it/page.jsp?id=1209913">http://www.gartner.com/it/page.jsp?id=1209913</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app4"></a>[4] For this and related measures, see Business Software Alliance,         2009. <span style="font-style: italic;">Software Industry Facts and         Figures</span>, see <a href="http://www.bsa.org/country/Public%20Policy/%7E/media/Files/Policy/Security/General/sw_factsfigures.ashx"> http://www.bsa.org/country/Public%20Policy/~/media/Files/Policy/Security/General/sw_factsfigures.ashx</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app5"></a>[5] Simply conduct a Web search on &#8216;&#8221;open source&#8221; &#8220;cost of ownership&#8221;&#8216;         to see the many studies in this area. Depending on advocacy, estimates         may be as high as proprietary software to a lower, but still         substantial percentage. In no cases are open source understood to be         fully &#8220;free&#8221; once maintenance, upgrades, modifications, and site         adaptations are considered.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app6"></a>[6] Michael Uschold, 2008. &#8220;Ontology-Driven Information Systems: Past,         Present and Future,&#8221; in <span style="font-style: italic;">Proceedings         of the Fifth International Conference on Formal Ontology in Information         Systems (FOIS 2008)</span>, Carola Eschenbach and Michael Grüninger,         eds., IOS Press, Amsterdam, Netherlands, pp 3-20; see <a href="http://mba.eci.ufmg.br/downloads/recol/FormalOntologyinInformationSystems2008.pdf"> http://mba.eci.ufmg.br/downloads/recol/FormalOntologyinInformationSystems2008.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app7"></a>[7] Nicola Guarino, 1998. &#8220;Formal Ontology and Information Systems,&#8221; in         <span style="font-style: italic;">Proceedings of FOIS’98</span>,         Trento, Italy, June 6-8, 1998. Amsterdam, IOS Press, pp. 3-15; see         <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.29.1776&amp;rep=rep1&amp;type=pdf"> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.29.1776&amp;rep=rep1&amp;type=pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app8"></a>[8] See Phil Tetlow <span style="font-style: italic;">et al</span>.,         eds., 2006. <span style="font-style: italic;">Ontology Driven         Architectures and Potential Uses of the Semantic Web in Software         Engineering</span>, a W3C Editor&#8217;s Draft on Best Practices, February         11, 2006; see <a href="http://www.w3.org/2001/sw/BestPractices/SE/ODA/">http://www.w3.org/2001/sw/BestPractices/SE/ODA/</a>.         UML class diagrams have close resemblance to certain ontology         structures. This effort was part of a formal collaboration between         <a href="http://en.wikipedia.org/wiki/W3C">W3C</a> and the Object         Management Group (<a href="http://en.wikipedia.org/wiki/Object_Management_Group">OMG</a>), which         resulted among other things in the production of the Ontology         Definition Metamodel (<a href="http://en.wikipedia.org/wiki/Ontology_Definition_MetaModel">ODM</a>).         In the OMG&#8217;s model-driven architecture (<a href="http://en.wikipedia.org/wiki/Model-driven_architecture">MDA</a>)         initiative, models are used not only for design and maintenance         purposes, but as a basis for generating executable artifacts for         downstream use. The MDA approach grew out of much of the standards work         conducted in the 1990s in the Unified Modeling Language (<a href="http://en.wikipedia.org/wiki/Unified_Modeling_Language">UML</a>).</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app9"></a>[9] <a href="http://neno.lanl.gov/Home.html">Neno</a> is a semantic         network programming language and Fhat is a virtual machine that works         off of it. These two projects have been largely abandoned. A related         project is <a href="http://ripple.fortytwo.net/">Ripple,</a> a         relational, stack-based dataflow language by <a href="http://tw.rpi.edu/wiki/Joshua_Shinavier">Joshua Shinavier</a>, which         is episodically updated.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app10"></a>[10] Holger Knublauch of TopQuadrant has made the point that ontologies         can also have runtime uses as well: &#8220;In contrast to conventional         Model-Driven Architecture known from object-oriented systems, semantic         applications use their data models not only at design time, but also as         runtime components. The rich declarative semantics of ontological data         models can be exploited to drive user interfaces and to control an         application&#8217;s behavior.&#8221; See H. Knublauch, 2007. &#8220;From Ontology Design         to Deployment: Semantic Application Development with TopBraid,&#8221;         presented at the <span style="font-style: italic;">2007 Semantic         Technology Conference</span>, San Jose, CA; see <a href="http://www.semantic-conference.com/2007/sessions/l5.html">http://www.semantic-conference.com/2007/sessions/l5.html</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app11"></a>[11] <a href="http://www.missioncriticalit.com/">Mission Critical         IT</a> describes its ODASE platform (Ontology Driven Architecture for         Software Engineering) as a set of tools to facilitate the creation of         working applications from a semantic business model (an ontology),         using the open standards <a href="http://www.missioncriticalit.com/technology.html#owl">OWL</a>,         <a href="http://www.missioncriticalit.com/technology.html#swrl">SWRL</a> and <a href="http://www.missioncriticalit.com/technology.html#rdf">RDF</a>. The         ODASE code generators (a.k.a &#8220;robots&#8221;) generate an API based on the         business terminology defined by the OWL+SWRL+RDF business model, which         the ODASE platform then uses to execute the rules and reasoning as         contextual choices are made by the user. Among other links, the company         has an impressive <a href="http://cloud.missioncriticalit.com/rule-demo/">online demo</a> that         shows a consumer telecommunications purchase example; there is also a         <a href="http://demo.missioncriticalit.com/odase/rules-workbench/en/index.html"> video explaining the rules basis</a> of the ODASE framework.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app12"></a>[12] See Wayne W. Eckerson, 2007. &#8220;The Myth of Self-Service Business         Intelligence,&#8221; in <span style="font-style: italic;">TDWI Online</span>,         October 18, 2007; see <a href="http://tdwi.org/articles/2007/10/18/the-myth-of-selfservice-bi.aspx">http://tdwi.org/articles/2007/10/18/the-myth-of-selfservice-bi.aspx</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app13"></a>[13] The <a href="http://en.wikipedia.org/wiki/Buggy_whip#Buggy_whip_and_coachwhip">buggy         whip</a> industry as a major economic entity ceased to exist with the         introduction of the automobile, and is cited in economics and marketing         as an example of an industry ceasing to exist because its market niche,         and the need for its product, disappears. Not recognizing what industry         or business purpose is being served is an oft-cited cause for         obsolescence. Thus, software engineering is a practice that serves the         creation of software, which itself is only a means to a functional end.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app14"></a>[14] See M. K. Bergman, 2009. <span style="font-style: italic;">&#8220;</span><a style="font-style: italic;" title="Permanent Link to The Open World Assumption: Elephant in the Room" rel="bookmark" href="http://www.mkbergman.com/852/the-open-world-assumption-elephant-in-the-room/">The         Open World Assumption: Elephant in the Room</a>,&#8221; <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, December         21, 2009. The <a href="http://en.wikipedia.org/wiki/Open_world_assumption">open world         assumption</a> (OWA) generally asserts that the lack of a given         assertion or fact being available does not imply whether that possible         assertion is true or false: it simply is not known. In other words,         lack of knowledge does not imply falsity. Another way to say it is that         everything is permitted until it is prohibited. OWA lends itself to         incremental and incomplete approaches to various modeling problems.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app15"></a>[15] See M.K. Bergman, 2010. <a href="http://www.mkbergman.com/859/seven-pillars-of-the-open-semantic-enterprise/"> <span style="font-style: italic;">“</span>Seven Pillars of the Open         Semantic Enterprise<span style="font-style: italic;">“</span></a>,         <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, January 12, 2010.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app16"></a>[16] See M.K. Bergman, 2009. <a href="http://www.mkbergman.com/492/ontology-best-practices-for-data-driven-applications-part-3/"> <span style="font-style: italic;">“</span>Ontologies as the ‘Engine’         for Data-Driven Applications<span style="font-style: italic;">“</span></a>, <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, June 10,         2009, for the first presentation of these topics, but the specific term         <span style="font-style: italic;">adaptive ontology</span> was not yet         used. That term was first introduced in <a href="http://www.mkbergman.com/553/confronting-misconceptions-with-adaptive-ontologies/"> “Confronting Misconceptions with Adaptive Ontologies”</a> (August 17,         2009). The dedicated treatment of these topics and their interplay was         provided in M.K. Bergman, 2009. <a href="http://www.mkbergman.com/847/ontology-driven-applications-using-adaptive-ontologies/"> “Ontology-driven Applications Using Adaptive Ontologies”</a>,         <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, November 23, 2009. The relation of these topics to enterprise         software was first presented in M.K. Bergman, 2009. <a href="http://www.mkbergman.com/825/fresh-perspectives-on-the-semantic-enterprise/"> “Fresh Perspectives on the Semantic Enterprise”</a>, <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, September         28, 2009.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app17"></a>[17] Some 250 pp of complete technical documentation for these projects         is provided on the Structured Dynamics&#8217; open source OpenStructs         <a rel="nofollow" href="http://techwiki.openstructs.org/">TechWiki</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app18"></a>[18] For more discussion of semantic components, see F. Giasson, 2010.         &#8220;<a href="http://fgiasson.com/blog/index.php/2010/07/05/semantic-components/">Semantic         Components</a>,&#8221; in his blog, July 5, 2010. For more discussion of the         layered OSF design, see M.K. Bergman, 2010. <a href="http://www.mkbergman.com/891/domain-specific-instantiations-based-on-the-open-semantic-framework/"> <span style="font-style: italic;">“</span>Domain-specific         Instantiations based on the Open Semantic Framework<span style="font-style: italic;">“</span></a>, <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, June 17,         2010.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app19"></a>[19] To find these groups and follow the open source OSF developments,         see xxx. So long as the basic design comports with the foundations         herein, sComponents may be developed in any rich Internet application         (<a href="http://en.wikipedia.org/wiki/Rich_Internet_application">RIA</a>)         environment.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="app20"></a>[20] Ontology development, management and mapping is the emerging         imperative in the semantic technology space. For some thoughts on how         Structured Dynamics is approaching this question, see a <a style="font-style: italic;" title="Normative Landscape of Ontology Tools" href="http://techwiki.openstructs.org/index.php/Normative_Landscape_of_Ontology_Tools">Normative Landscape of         Ontology Tools</a> on the <a href="http://techwiki.openstructs.org/index.php/Main_Page">TechWiki</a>.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/948/ontology-driven-apps-using-generic-applications/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>A Reference Guide to Ontology Best Practices</title>
		<link>http://www.mkbergman.com/911/a-reference-guide-to-ontology-best-practices/</link>
		<comments>http://www.mkbergman.com/911/a-reference-guide-to-ontology-best-practices/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 06:18:50 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[irON]]></category>
		<category><![CDATA[Ontologies]]></category>
		<category><![CDATA[Ontology Best Practices]]></category>
		<category><![CDATA[Semantic Enterprise]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[UMBEL]]></category>
		<category><![CDATA[adaptive ontologies]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[coherence]]></category>
		<category><![CDATA[domain ontologies]]></category>
		<category><![CDATA[Ontology]]></category>
		<category><![CDATA[owl]]></category>
		<category><![CDATA[Web Ontology Language]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=911</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=A Reference Guide to Ontology Best Practices&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=irON&amp;rft.subject=Ontologies&amp;rft.subject=Ontology Best Practices&amp;rft.subject=Semantic Enterprise&amp;rft.subject=Semantic Web&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2010-09-13&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/911/a-reference-guide-to-ontology-best-practices/&amp;rft.language=English"></span>
A Single-stop Assembly of Ontology Tips and Pointers As we conclude this recent series on ontology tools and building [1], one item stands clear: the relative lack of guidance on how one actually builds and maintains these beasties. While there is much of a theoretic basis in the literature and on the Web, and much [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=A Reference Guide to Ontology Best Practices&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=irON&amp;rft.subject=Ontologies&amp;rft.subject=Ontology Best Practices&amp;rft.subject=Semantic Enterprise&amp;rft.subject=Semantic Web&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2010-09-13&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/911/a-reference-guide-to-ontology-best-practices/&amp;rft.language=English"></span>
<h2><a href="http://www.cs.berkeley.edu/%7Esequin/SCULPTS/sequin.html"><img style="border: 0px solid; width: 240px; height: 240px; float: left;" src="http://www.cs.berkeley.edu/%7Esequin/GEOM/TILES/LizardTetrus1.JPG" alt="" /></a>A Single-stop Assembly of Ontology Tips and Pointers</h2>
<p>As we conclude this recent series on ontology tools and building <a href="#obp1">[1]</a>,         one item stands clear: the relative lack of guidance on how one         actually builds and maintains these beasties. While there is much of a         theoretic basis in the literature and on the Web, and much of         methodologies and algorithms, there is surprisingly little on how one         actually goes about creating an ontology.</p>
<p>An earlier posting pointed to the now classic <span style="font-style: italic;">Ontology Development 101</span> article as a good         starting point <a href="#obp2">[2]</a>. Another really excellent starting point is the         Protégé 4 user manual <a href="#obp3">[3]</a>. Though it is obviously geared to the Protégé         tool and its interface, it also is an instructive tutorial on general         ontology (OWL) topics and constructs. I highly recommend printing it         out and reading it in full.</p>
<div class="boxGreenDotted" style="margin: 10px 0px 10px 10px; font-size: 120%; width: 400px; float: right;"><span style="font-weight: bold; font-style: italic;">If you do nothing       else, you should download, print and study in full the Protégé 4 users       manual</span> <a href="#obp3">[3]</a>.</div>
<h3>Learning by Example</h3>
<p>Another way to learn more about ontology construction is to inspect         some existing ontologies. Though one may use a variety of specialty         search engines and Google to find ontologies <a href="#obp4">[4]</a>, there are actually         three curated services that are more useful and which I recommend.</p>
<p>The best, by far, is the repository created by the University of         Manchester for the now-completed <a href="http://www.tonesproject.org/">TONES</a> project <a href="#obp5">[5]</a>. TONES has access         to some 200+ vetted ontologies, plus a search and filtering facility         that helps much in finding specific OWL constructs. It is a bit         difficult to filter by OWL 2-compliant only ontologies (except for OWL         2 EL), but other than that, the access and use of the repository is         very helpful. Another useful aspect is that the system is driven by the         <a href="http://owlapi.sourceforge.net/">OWL API</a>, a central feature         that we recommended in the prior <a href="http://www.mkbergman.com/909/a-new-landscape-in-ontology-development-tools/"> tools landscape posting</a>. From a learning standpoint this site is         helpful because you can filter by vocabulary.</p>
<p>An older, but similar, repository is <a href="http://olp.dfki.de/ontoselect/">OntoSelect</a>. It is difficult to         gauge how current this site is, but it nonetheless provides useful and         filtered access to OWL ontologies as well.</p>
<p>These sources provide access to complete ontologies. Another way to         learn about ontology construction is from a bottom-up perspective. In         this regard, the <a href="http://ontologydesignpatterns.org/wiki/Main_Page">Ontology Design         Patterns</a> (ODP) wiki is the definitive source <a href="#obp6">[6]</a>. This is certainly         a more advanced resource, since its premise begins from the standpoint         of modeling issues and patterns to address them, but the site is also         backed by an active community and curated by leading academics. Besides         ontology building patterns, ODP also has a listing of <a href="http://ontologydesignpatterns.org/wiki/Ontology:Main">exemplary         ontologies</a> (though without the structural search and selection         features of the sources above). ODP is not likely the first place to         turn to and does not give &#8220;big picture&#8221; guidance, but it also should be         a bookmarked reference once you begin real ontology development.</p>
<p>It is useful to start with fully constructed ontologies to begin to         appreciate the scope involved with them. But, of course, how one gets         to a full ontology is the real purpose of this post. For that purpose,         let&#8217;s now turn our attention to general and then more specific best         practices.</p>
<h3>Sources of Best Practices</h3>
<p>As noted above, there is a relative paucity of guidance or best         practices regarding ontologies, their construction and their         maintenance. However, that being said, there are some sources whereby         guidance can be obtained.</p>
<p>To my knowledge, the most empirical listing of best practices comes         from Simperl and Tempich <a href="#obp7">[7]</a>. In that 2006 paper they examined 34         ontology building efforts and commented on cost, effectiveness and         methodology needs. It provides an organized listing of observed best         practices, though much is also oriented to methodology. I think the         items are still relevant, though they are now four to five years old.         The paper also contains a good reference list.</p>
<p>Various collective ontology efforts also provide listings of principles         or such, which also can be a source for general guidance. The OBO         (<a style="font-style: italic;" href="http://obofoundry.org/about.shtml">The Open Biological and Biomedical         Ontologies</a>) effort, for example, provides a listing of principles         to which its constituent ontologies should adhere <a href="#obp8">[8]</a>. As guidance to         what it considers an exemplary ontology, the ODP effort also has a         useful <a href="http://ontologydesignpatterns.org/wiki/Odp:WhatIsAnExemplaryOntology">organized         listing of criteria or guidance</a>.</p>
<p>One common guidance is to re-use existing ontologies and vocabularies         as much as possible. This is a major emphasis of the OBO effort <a href="#obp9">[9]</a>.         The NeOn methodology also suggests guidelines for building individual         ontologies by re-use and re-engineering of other domain ontologies or         knowledge resources <a href="#obp10">[10]</a>. Brian Sletten (among a slate of emerging         projects) has also pointed to the use of the Simple Knowledge         Organization System (SKOS) as a staging vocabulary to represent concept         schema like thesauri, taxonomies, controlled vocabularies, and subject         headers <a href="#obp11">[11]</a>.</p>
<p>The Protégé manual <a href="#obp3">[3]</a> is also a source of good tips, especially with         regard to naming conventions and the use of the editor. Lastly, the         major source for the best practices below comes from <a href="http://structureddynamics.com">Structured Dynamics</a>&#8216; own <a href="http://techwiki.openstructs.org/index.php/Ontology_Best_Practices">internal         documentation</a>, now permanently archived. We are pleased to now         consolidate this information in one place and to make it public.</p>
<div class="boxYellowSolid" style="font-size: 110%; text-align: center;"><span style="font-style: italic;">The best practices herein are         presented as single bullet points. Not all are required and some may be         changed depending on your own preferences. In all cases, however, these         best practices are offered from Structured Dynamics&#8217; perspective         regarding the use and role of</span> <a style="font-weight: bold;" href="http://www.mkbergman.com/553/confronting-misconceptions-with-adaptive-ontologies/"> adaptive ontologies</a><a href="#obp12"> [12]</a>. <span style="font-style: italic;">To our         knowledge, this perspective is a unique combination of objectives and         practices, though many of the individual practices are recommended by         others.</span></div>
<h3>General Best Practices</h3>
<p>General best practices refer to how the ontology is scoped, designed         and constructed. Note the governing perspective in this series has been         on <a style="font-weight: bold; font-style: italic;" href="http://www.mkbergman.com/908/a-new-methodology-for-building-lightweight-domain-ontologies/"> lightweight, domain ontologies</a>.</p>
<h4>Scope and Content</h4>
<ul>
<li>Provide <strong>balanced coverage</strong> of the subject domain.         The breadth and depth of the coverage in the ontology should be roughly         equivalent across its scope </li>
<li> <span style="font-weight: bold;">Reuse structure and           vocabularies</span> as much as possible. This best practice refers to           leveraging non-ontological content such as existing relational           database schema, taxonomies, controlled vocabularies, MDM           directories, industry specifications, and spreadsheets and informal           lists. Practitioners within domains have been looking at the           questions of relationships, structure, language and meaning for           decades. Effort has already been expended to codify many of these           understandings. Good practice therefore leverages these existing           structural and vocabulary assets (of any nature), and relies on known           design patterns </li>
<li>Embed the domain coverage into a proper <strong>context</strong>. A         major strength of ontologies is their potential ability to interoperate         with other ontologies. Re-using existing and well-accepted vocabularies         and including concepts in the subject ontology that aid such         connections is good practice. The ontology should also have sufficient         reference structure for guiding the assignment of what content “is         about” </li>
<li>Define clear <strong>predicates</strong> (also known as properties,         relationships, attributes, edges or slots), including a precise         definition. Then, when relating two things to one another, use care in         actually assigning these properties. Initially, assignments should         start with a logical taxonomic or categorization structure and expand         from there into more nuanced predicates </li>
<li>Ensure the relationships in the ontology are         <strong>coherent</strong>. The essence of coherence is that it is a         state of logical, consistent connections, a logical framework for         integrating diverse elements in an intelligent way. So while context         supplies a reference structure, coherence means that the structure         makes sense. Is the hip bone connected to the thigh bone, or is the         skeleton askew? Testing (see below) is a major aspect for meeting this         best practice </li>
<li> <span style="font-weight: bold;">Map to external ontologies</span> to           increase the likelihood of sharing and interoperability. In           Structured Dynamics&#8217; case, we also attempt to map at minimum to the           UMBEL subject reference structure for this purpose <a href="#obp13">[13]</a> </li>
<li>Rely upon a <span style="font-weight: bold;">set of core         ontologies</span> for external re-use purposes; Structured Dynamics         tends to rely on a set of primary and secondary standard ontologies <a href="#obp14"> [14]</a>. The corollary to this best practice is don&#8217;t link         indiscriminantly. </li>
</ul>
<h4>Structure and Design</h4>
<ul>
<li>Begin with a <span style="font-weight: bold;">lightweight, domain         ontology</span> <a href="#obp15">[15]</a>. Ontologies built for the pragmatic purposes of         setting context and aiding disparate data to interoperate tend to be         lightweight with only a few predicates, such as <span style="font-family: Courier New,Courier,monospace;">isAbout</span>,         <span style="font-family: Courier New,Courier,monospace;">narrowerThan</span> or         <span style="font-family: Courier New,Courier,monospace;">broaderThan</span>. But,         if done properly, these lighter weight ontologies with more limited         objectives can be surprisingly powerful in discovering connections and         relationships. Moreover, they are a logical and doable intermediate         step on the path to more demanding semantic analysis. Because we have         this perspective, we also tend to rely heavily on the SKOS vocabulary         for many of our ontology constructs <a href="#obp16">[16]</a> </li>
<li>Try to structurally <span style="font-weight: bold;">split domain         concepts from instance records</span>. Concepts represent the nodes         within the structure of the ontology (also known as classes, subject         concepts or the <span style="font-style: italic;">TBox</span>).         Instances represent the data that populates that structure (also known         as named entities, individuals or the <span style="font-style: italic;">ABox</span>) <a href="#obp17">[17]</a>. Trying to keep the ABox and         TBox separate enables easier maintenance, better understandability of         the ontology, and better scalability and incorporation of new data         repositories </li>
<li>Treat many concepts via <span style="font-weight: bold;">&#8220;punning&#8221;         as both classes and instances</span> (that is, as either sets or         members, depending on context). The &#8220;punning&#8221; technique enables         &#8220;metamodeling,&#8221; such as treating something via its IRI as a set of         members (such as <span style="font-family: Courier New,Courier,monospace;">Mammal</span> being a set         of all mammals) or as an instance (such as <span style="font-family: Courier New,Courier,monospace;">Endangered Mammal</span>)         when it is the object of a different contextual assertion. Use of         &#8220;metamodeling&#8221; is often helpful to describe the overall conceptual         structure of a domain. See endnote <a href="#obp18">[18]</a> for more discussion on this         topic </li>
<li>Build ontologies <span style="font-weight: bold;">incrementally</span>. Because good ontologies         embrace the <a title="http://en.wikipedia.org/wiki/Open_world_assumption" rel="nofollow" href="http://en.wikipedia.org/wiki/Open_world_assumption">open world         approach</a> <a href="#obp19">[19]</a>, working toward these desired end states can also be         incremental. Thus, in the face of common budget or deadline         constraints, it is possible initially to scope domains as smaller or to         provide less coverage in depth or to use a small set of predicates, all         the while still achieving productive use of the ontology. Then, over         time, the scope can be expanded incrementally. Much value can be         realized by starting small, being simple, and emphasizing the         pragmatic. It is OK to make those connections that are doable and         defensible today, while delaying until later the full scope of semantic         complexities associated with complete data alignment </li>
<li>Build <span style="font-weight: bold;">modular</span> ontologies         that split your domain and problem space into logical clusters. Good         ontology design, especially for larger projects, warrants a degree of         modularity. An architecture of multiple ontologies often works together         to isolate different work tasks so as to aid better ontology         management. Also, try to use a core set of <span style="font-weight: bold;">primitives</span> to build up more complex parts.         This is a kind of reuse within the same ontology, as opposed to reusing         external ontologies and patterns. The corollary to this is: the same         concepts are not created independently multiple times in different         places in the ontology. Adhering to both of these practices tends to         make ontology development akin to <a href="http://en.wikipedia.org/wiki/Object-oriented_programming">object-oriented         programming</a> </li>
<li>Assign <span style="font-weight: bold;">domains and ranges</span> to your properties. Domains apply to the subject (the left hand side of         a triple); ranges to the object (the right hand side of the triple).         Domains and ranges should not be understood as actual constraints, but         as axioms to be used by reasoners. In general, domain for a property is         the range for its inverse and the range for a property is the domain of         its inverse. Use of domains and ranges will assist testing (see below)         and help ensure the coherency of your ontology </li>
<li>Assign <span style="font-weight: bold;">property         restrictions</span>, but do so sparingly and judiciously <a href="#obp20">[20]</a>. Use of         property restrictions will assist testing (see below) and help ensure         the coherency of your ontology </li>
<li>Use <span style="font-weight: bold;">disjoint classes</span> to         separate classes from one another where the logic makes sense and         dictates (if not explicitly stated, they are assumed to overlap) </li>
<li>Write the ontology in a <span style="font-weight: bold;">machine-processable language</span> such as         <a title="http://en.wikipedia.org/wiki/Web_Ontology_Language" rel="nofollow" href="http://en.wikipedia.org/wiki/Web_Ontology_Language">OWL</a> or         <a title="http://en.wikipedia.org/wiki/RDF_Schema" rel="nofollow" href="http://en.wikipedia.org/wiki/RDF_Schema">RDF Schema</a> (among           others), and </li>
<li>Aggressively use <span style="font-weight: bold;">annotation         properties</span> (see next) to promote the usefulness and human         readability of the ontology. </li>
</ul>
<h3>Naming and Vocabulary Best Practices</h3>
<ul>
<li>Name all <span style="font-weight: bold;">concepts as single         nouns</span>. Use <a style="font-weight: bold;" href="http://en.wikipedia.org/wiki/CamelCase">CamelCase</a> <span style="font-weight: bold;">notation</span> for these classes (that is, class         names should start with a capital letter and not contain any spaces,         such as <span style="font-family: Courier New,Courier,monospace;">MyNewConcept</span>) </li>
<li>Name all <span style="font-weight: bold;">properties as verb         senses</span> (so that triples may be actually read); e.g.,           <span style="font-family: Courier New,Courier,monospace;">hasProperty</span>.           Try to use <span style="font-weight: bold;">mixedCase notation</span> for naming these predicates (that is, begin with lower case but still           capitalize thereafter and don&#8217;t use spaces) </li>
<li>Try to use common and <span style="font-weight: bold;">descriptive         prefixes and suffixes</span> for related properties or classes (while         they are just labels and their names have no inherent semantic meaning,         it is still a useful way for humans to cluster and understand your         vocabularies). For examples, properties about languages or tools might         contain suffixes such as &#8216;<span style="font-family: Courier New,Courier,monospace;">Language</span>&#8216; or         &#8216;<span style="font-family: Courier New,Courier,monospace;">Tool</span>&#8216;         for all related properties </li>
<li>Provide <span style="font-weight: bold;">inverse properties</span> where it makes sense, and adjust the verb senses in the predicates to         accommodate. For example, <span style="font-family: Courier New,Courier,monospace;">&lt;Father&gt;         &lt;hasChild&gt; &lt;Janie&gt;</span> would be expressed inversely as         <span style="font-family: Courier New,Courier,monospace;">&lt;Janie&gt;         &lt;isChildOf&gt; &lt;Father&gt;</span> </li>
<li>Give all concepts and properties a <strong>definition</strong>. The         matching and alignment of things is done on the basis of concepts (not         simply labels) which means each concept must be defined <a href="#obp21">[21]</a>. Providing         clear definitions (along with the coherency of its structure) gives an         ontology its semantics. Remember not to confuse the label for a concept         with its meaning. (This approach also aids multi-linguality). In its         own ontologies, Structured Dynamics uses the property of <span style="font-family: Courier New,Courier,monospace;">skos:definition</span>,         though others such as <span style="font-family: Courier New,Courier,monospace;">rdfs:comment</span> or         <span style="font-family: Courier New,Courier,monospace;">dc:description</span> are         also commonly used </li>
<li>Provide a <strong>preferred label</strong> annotation property that         is used for human readable purposes and in user interfaces. For this         purpose, Structured Dynamics uses the property of <span style="font-family: Courier New,Courier,monospace;">skos:prefLabel</span> </li>
<li>Include a class “<strong>SemSet</strong>”, which means a series of         alternate labels and terms to describe the concept. These alternatives         include true synonyms, but may also be more expansive and include         jargon, slang, acronyms or alternative terms that usage suggests refers         to the same concept. The <span style="font-family: Courier New,Courier,monospace;">umbel:SemSet</span> construct enables a listing of individual members to be generated that         provides the matching set for tagging and information extraction tasks.         (As such, also include the <span style="font-family: Courier New,Courier,monospace;">prefLabel</span> in the         <span style="font-family: Courier New,Courier,monospace;">SemSet</span> for proper lookup and tagging purposes.) The <span style="font-family: Courier New,Courier,monospace;">SemSet</span> construct         is similar to the &#8220;<a href="http://en.wikipedia.org/wiki/Synsets">synsets</a>&#8221; in <a href="http://en.wikipedia.org/wiki/WordNet">Wordnet</a>, but with a broader         use understanding. This construct is an integral part of Structured         Dynamics&#8217; approach to using ontologies for information extraction and         tagging of unstructured text </li>
<li>Try to assign l<span style="font-weight: bold;">ogical and short         names to namespaces</span> used for your vocabularies, such as         <span style="font-family: Courier New,Courier,monospace;">foaf:XXX,         umbel:XXX</span> or <span style="font-family: Courier New,Courier,monospace;">skos:XXX</span>, with a         maximimum of five letters preferred </li>
<li>Enable <span style="font-weight: bold;">multi-lingual         capabilities</span> in all definitions and labels. This is a rather         complicated best practice in its own right. For the time being, it         means being attentive to the <span style="font-family: Courier New,Courier,monospace;">xml:lang=&#8221;en&#8221;</span> (for         English, in this case) property for all annotation properties </li>
<li>(If you disagree with these naming conventions, use your own, but         in any event, be consistent!!). </li>
</ul>
<h3>Documentation Best Practices</h3>
<ul>
<li>Like good software programs, a <span style="font-weight: bold;">properly constructed and commented ontology</span> is the first requirement of best practice documentation </li>
<li>The entire <span style="font-weight: bold;">ontology         vocabulary</span> should be documented via a dedicated system that         allows finding, selecting and editing of any and all ontology terms and         their properties </li>
<li>The <span style="font-weight: bold;">methodologies should be         documented</span> for ontology construction and maintenance, including         naming, selection, completeness and other criteria. Documents such as         this one and others in this series provide examples of important         supplementary documentation regarding methodology and practice </li>
<li>Provide a <span style="font-weight: bold;">complete <a href="http://techwiki.openstructs.org">TechWiki</a>-like         documentation</span> system for use cases, best practices, evaluation         and testing metrics, tools installation and use, and all aspects of the         ontology lifecycle should be provided and supported <a href="#obp22">[22]</a> </li>
<li>Develop a <span style="font-weight: bold;">complete graph of the         ontology</span> and make it available via graph visualization tools to         aid understanding of the ontology in its complete aspect <a href="#obp23">[23]</a>, and </li>
<li>Other ample <span style="font-weight: bold;">diagrams and         flowcharts</span> should also be prepared and made available for         knowledge workers&#8217; use. <a href="http://en.wikipedia.org/wiki/Unified_Modeling_Language">UML</a> diagrams, for example, might be included here, but general workflows         and concept relationships should be explicated in any case through         visual means. Such diagrams are much easier to understand and follow         than the actual ontology specification. </li>
</ul>
<h3>Organizational and Collaborative Best Practices</h3>
<ul>
<li> <span style="font-weight: bold;">Collaboration</span> is an           implementation best practice <a href="#obp24">[24]</a> </li>
<li> <span style="font-weight: bold;">Re-use</span> of already agreed-up           structures and vocabularies respects prior investments and needs to           be emphasized </li>
<li>Improved <span style="font-weight: bold;">processes for consensus         making</span>, including tools support, must be found to enable work         groups to identify and decide upon terminology, definitions,         alternative labels (<span style="font-family: Courier New,Courier,monospace;">SemSets</span>), and         relations between concepts. These processes need not be at the formal         ontology level, but at the level of the concept graph underlying the         ontology <a href="#obp24">[24]</a>. </li>
</ul>
<h3>Testing Best Practices</h3>
<ul>
<li>Test <span style="font-weight: bold;">new concepts</span>, aided by         proper domain, range and property restrictions; by invoking reasoners         such that inconsistencies can be determined <a href="#obp25">[25]</a> </li>
<li>Test <span style="font-weight: bold;">new properties</span>, aided         by invoking reasoners, which will identify inconsistencies <a href="#obp25">[25]</a> </li>
<li>Test via <span style="font-weight: bold;">external class         assignments</span>, by linking to classes in external ontologies, which         acts to &#8216;explode the domain&#8217; <a href="#obp26">[26] </a></li>
<li>Use <span style="font-weight: bold;">external knowledge bases and         ontologies</span>, such as Cyc or UMBEL <a href="#obp27">[27]</a>, to conduct coherency         testing for the basic structure and relationships in the ontology </li>
<li>Evolve the ontology specification to include <span style="font-weight: bold;">necessary and sufficient conditions</span> <a href="#obp25">[25]</a> aid more complete reasoner testing for consistency and coherence. </li>
</ul>
<h3>Best Practices for Adaptive Ontologies</h3>
<p>In the case of <a title="http://www.mkbergman.com/847/ontology-driven-applications-using-adaptive-ontologies/" rel="nofollow" href="http://www.mkbergman.com/847/ontology-driven-applications-using-adaptive-ontologies/"> ontology-driven applications</a> using <span style="font-weight: bold; font-style: italic;">adaptive ontologies</span> <a href="#obp28">[28]</a>, there are also additional instructions contained in the system         (via administrative ontologies) that tell the system which types of         widgets need to be invoked for different data types and attributes.         This is different from the standard conceptual schema, but is         nonetheless essential to how such applications are designed.</p>
<ul>
<li>Use the <a href="http://openstructs.org/structwsf"><span style="font-weight: bold;">structWSF</span></a> middleware layer <a href="#obp29">[29]</a> as the         abstract access point to: </li>
<li style="list-style: none outside none;">
<ul>
<li>To create, update, delete or otherwise manage data records </li>
<li>To browse or view existing records or record sets, based on             simple to possible complex selection or filtering criteria, or </li>
<li>To take one of these results sets and progress it through             various workflows involving specialized analysis, applications, or             visualization. </li>
</ul>
</li>
<li>Supplement the domain ontology with a <a href="http://openstructs.org/semantic-components"><span style="font-weight: bold;">semantic component ontology</span></a> for the         purposes of guiding data widget display and visualization <a href="#obp30">[30]</a>, and </li>
<li>Supplement the domain ontology with the <span style="font-weight: bold;"><a href="http://openstructs.org/iron">irON</a></span> (<span style="font-style: italic;">instance record Object Notation</span>) for         dataset exchange and interoperability <a href="#obp31">[31]</a>. </li>
</ul>
<p>The administrative ontologies supporting these applications are managed         differently than the standard domain ontologies that are the focus of         most of the best practices above. Nonetheless, some of the domain         ontology best practices work in tandem with them, the combination of         which are called <span style="font-weight: bold; font-style: italic;">adaptive ontologies</span>.</p>
<hr style="margin: 15px 0px;" size="1" />
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp1"></a>[1] This posting is part of a current series on ontology development         and tools, now permanently archived and updated on the <a href="http://openstructs.org">OpenStructs</a> <a href="http://techwiki.openstructs.org">TechWiki</a>. The series began with         <a style="font-style: italic;" title="An Executive Intro to Ontologies" href="http://www.mkbergman.com/900/an-executive-intro-to-ontologies/">An Executive Intro to         Ontologies</a>, then continued with an <a href="http://www.mkbergman.com/904/listing-of-185-ontology-building-tools/">update</a> of the prior Ontology Tools listing, which now contains 185 tools. It         progressed to a <a href="http://www.mkbergman.com/906/a-brief-survey-of-ontology-development-methodologies/"> survey</a> of ontology development methodologies. That led to a         presentation of a new, <a style="font-style: italic;" href="http://techwiki.openstructs.org/index.php/Lightweight,%20Domain%20Ontologies%20Development%20Methodology"> Lightweight, Domain Ontologies Development Methodology</a>. That piece         was then expanded to address <a style="font-style: italic;" href="http://www.mkbergman.com/909/a-new-landscape-in-ontology-development-tools/"> A New Landscape in Ontology Development Tools</a>. This portion         completes the series.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp2"></a>[2] Natalya F. Noy and Deborah L. McGuinness, 2001. &#8220;Ontology         Development 101: A Guide to Creating Your First Ontology,&#8221; Stanford         University <span style="font-style: italic;">Knowledge Systems         Laboratory Technical Report KSL-01-05</span>, March 2001. See <a href="http://protege.stanford.edu/publications/ontology_development/ontology101-noy-mcguinness.html"> http://protege.stanford.edu/publications/ontology_development/ontology101-noy-mcguinness.html</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp3"></a>[3] Matthew Horridge et al., 2009. <span style="font-style: italic;">A         Practical Guide to Building OWL Ontologies Using Protégé 4 and CO-ODE         Tools</span>, manual prepared by the <span style="font-style: italic;">University of Manchester</span>, March 13, 2009.         108 pp. See <a href="http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/resources/ProtegeOWLTutorialP4_v1_2.pdf"> http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/resources/ProtegeOWLTutorialP4_v1_2.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp4"></a>[4] Specialty search engines for ontologies include <a href="http://swoogle.umbc.edu/">Swoogle</a>, <a href="http://iws.seu.edu.cn/services/falcons">FalconS</a>, <a href="http://watson.kmi.open.ac.uk">Watson</a>, <a href="http://sindice.com/">Sindice</a> and <a href="http://swse.org/">SWSE</a>. In addition, one can use a general search         engine such as Google with a search query such as <span style="font-family: Courier New,Courier,monospace;">&lt;topic&gt;         owl:equivalentClass filetype:owl</span>. Note the filetype might also         include RDF or a variant such as N3, and other language-specific         constructs of interest can also be substituted for the <span style="font-family: Courier New,Courier,monospace;">owl:equivalentClass</span>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp5"></a>[5] The <a href="http://owl.cs.manchester.ac.uk/repository/">TONES         Ontology Repository</a> is primarily designed to be a central location         for ontologies that might be of use to tools developers for testing         purposes. It has a nice browse facility, as well as filtering by OWL         vocabulary. The system contains about 220 ontologies and is powered by         the <a href="http://owlapi.sourceforge.net/">OWL API</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp6"></a>[6] <a title="Main Page" href="http://ontologydesignpatterns.org/wiki/Main_Page">OntologyDesignPatterns.org</a> is a semantic Web portal         dedicated to ontology design patterns (ODPs). The portal was started         under the <a class="external text" title="http://www.neon-project.org" rel="nofollow" href="http://www.neon-project.org/">NeOn project</a>,         which still partly supports its development.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp7"></a>[7] Elena Paslaru Bontas Simperl and Christoph Tempich, 2006. &#8220;Ontology         Engineering: A Reality Check,&#8221; in <em>Proceedings of the 5th         International Conference on Ontologies, Databases, and Applications of         Semantics ODBASE2006</em>, 2006. See <a href="http://ontocom.ag-nbi.de/docs/odbase2006.pdf">http://ontocom.ag-nbi.de/docs/odbase2006.pdf</a> .</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp8"></a>[8] See <a href="http://obofoundry.org/wiki/index.php/OBO_Foundry_Principles">http://obofoundry.org/wiki/index.php/OBO_Foundry_Principles</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp9"></a>[9] Barry Smith et al., 2007. &#8220;The OBO Foundry: Coordinated Evolution         of Ontologies to Support Biomedical Data Integration,&#8221; in <em>Nature         Biotechnology</em> <strong>25</strong>: 1251 &#8211; 1255, published online 7         November 2007; see <a href="http://www.nature.com/nbt/journal/v25/n11/pdf/nbt1346.pdf">http://www.nature.com/nbt/journal/v25/n11/pdf/nbt1346.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp10"></a>[10] See the NeOn networked ontologies project; see <a href="http://www.neon-project.org/">http://www.neon-project.org/</a>. The         four-year project began in 2006 and its first open source toolkit was         released by the end of 2007. OWL features were added in 2008-09. NeON         has since completed, though its toolkit and plug-ins can still be         downloaded as open source.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp11"></a>[11] Brian Sletten, 2008. &#8220;Applying SKOS Concept Schemes,&#8221; on the         <em>DevX Web site</em>, July 22, 2008; see <a href="http://www.devx.com/semantic/Article/38629">http://www.devx.com/semantic/Article/38629</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp12"></a>[12] M. K. Bergman, 2009. &#8220;<a href="http://www.mkbergman.com/553/confronting-misconceptions-with-adaptive-ontologies/">Confronting         Misconceptions with Adaptive Ontologies</a>,&#8221; <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, Aug. 17,         2009.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp13"></a>[13] <a href="http://umbel.org/intro.html">UMBEL</a> (<em>Upper Mapping         and Binding Exchange Layer</em>) is an ontology of about 20,000 subject         concepts that acts as a reference structure for inter-relating         disparate datasets. It is also a <a href="http://umbel.org/technical_documentation.html#vocabulary">general         vocabulary</a> of classes and predicates designed for the creation of         domain-specific ontologies.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp14"></a>[14] Core ontologies are <a href="http://dublincore.org/">Dublin         Core</a>, <a href="http://dublincore.org/documents/dcmi-terms/">DC         Terms</a>, <a href="http://motools.sourceforge.net/event/event.html">Event</a>, <a href="http://www.foaf-project.org/">FOAF</a>, <a href="http://www.geonames.org/">GeoNames</a>, <a href="http://en.wikipedia.org/wiki/SKOS">SKOS</a>, <a href="http://motools.sourceforge.net/timeline/timeline.html">Timeline</a>,         and <a href="http://www.umbel.org/">UMBEL</a>. The various criteria         that are considered in nominating an existing ontology to &#8220;core&#8221; status         is that it should be general; highly used; universal; broad committee         or community support; well done and documented; and easily understood.         Though less universal, there are also a number of secondary ontologies,         namely <a href="http://bibliontology.com/">BIBO</a>, <a href="http://usefulinc.com/doap">DOAP</a>, and <a href="http://en.wikipedia.org/wiki/SIOC">SIOC</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp15"></a>[15] See Fausto Giunchiglia, Maurizio Marchese and Ilya Zaihrayeu,         2006. &#8220;Encoding Classifications into Lightweight Ontologies,&#8221; see         <a href="http://www.science.unitn.it/%7Emarchese/pdf/encoding%20classifications%20into%20lightweight%20ontologies_JoDS8.pdf"> http://www.science.unitn.it/~marchese/pdf/encoding%20classifications%20into%20lightweight%20ontologies_JoDS8.pdf</a>.         Also, M. K. Bergman, 2010. &#8220;<a href="http://www.mkbergman.com/908/a-new-methodology-for-building-lightweight-domain-ontologies/">A         New Methodology for Buidling Lightweight, Domain Ontologies</a>,&#8221;         <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, Sept. 1, 2010.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp16"></a>[16] Alistair Miles and Sean Bechhofer, eds., 2009. <span style="font-style: italic;">SKOS Simple Knowledge Organization System         Reference</span>, W3C Recommendation, 18 August 2009. See <a href="http://www.w3.org/TR/skos-reference/">http://www.w3.org/TR/skos-reference/</a>.         Some of the common SKOS predicates used in our ontologies include         <span style="font-family: Courier New,Courier,monospace;">skos:definition,         skos:prefLabel, skos:altLabel, skos:broaderTransitive,         skos:narrowerTransitive</span>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp17"></a>[17] The <span style="font-weight: bold; font-style: italic;">TBox</span> portion, or         classes (concepts), is the basis of the ontologies. The ontologies         establish the structure used for governing the conceptual relationships         for that domain and in reference to external (Web) ontologies. The         <span style="font-weight: bold; font-style: italic;">ABox</span> portion, or instances (named entities), represents the specific,         individual things that are the members of those classes. Named entities         are the notable objects, persons, places, events, organizations and         things of the world. Each named entity is related to one or more         classes (concepts) to which it is a member. Named entities do not set         the structure of the domain, but populate that structure. The ABox and         TBox play different roles in the use and organization of the         information and structure. These distinctions have their grounding in         <a href="http://www.mkbergman.com/466/thinking-inside-the-box-with-description-logics/"> description logics</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp18"></a>[18] In the domain ontologies that are the focus here, we often want to         treat our concepts as both classes and instances of a class.  This         is known as &#8220;metamodeling&#8221; or &#8220;metaclassing&#8221; and is enabled by         &#8220;punning&#8221; in OWL 2.  For example, here a case cited on the OWL 2         wiki entry on &#8220;<a href="http://www.w3.org/2007/OWL/wiki/Punning">punning</a>&#8220;:</div>
<div style="margin: 10px 0pt; font-size: 90%;">
<div style="margin-left: 40px; font-style: italic;">People sometimes want to have metaclasses. Imagine you want to model           information about the animal kingdom. Hence, you introduce a class           a:Eagle, and then you introduce instances of a:Eagle such as a:Harry.</div>
<div style="margin-left: 40px; font-style: italic;">
<p><em>(1) a:Eagle rdf:type owl:Class           <br />
 (2) a:Harry rdf:type a:Eagle</em></p>
<p style="font-size: 90%; font-style: italic;">Assume now that you want to say that &#8220;eagles are an endangered           species&#8221;. You could do this by treating a:Eagle as an instance of a           metaconcept a:Species, and then stating additionally that a:Eagle is           an instance of a:EndangeredSpecies. Hence, you would like to say           this:</p>
<p style="font-size: 90%; font-style: italic;">(3) a:Eagle rdf:type a:Species           <br />
 (4) a:Eagle rdf:type a:EndangeredSpecies.</p>
</div>
<p style="font-size: 90%;">This example comes from Boris Motik, 2005. &#8220;<a href="http://web.comlab.ox.ac.uk/oucl/work/boris.motik/publications/motik05metamodeling.pdf">On         the Properties of Metamodeling in OWL</a>,&#8221; paper presented at         <span style="font-style: italic;">ISWC 2005</span>, Galway, Ireland,         2005.</p>
<p style="font-size: 90%;">&#8220;Punning&#8221; was introduced in OWL 2 and enables the same IRI to be used         as a name for both a class and an individual. However, the direct         model-theoretic semantics of OWL 2 DL accommodates this by         understanding the class <span style="font-family: Courier New,Courier,monospace;">Father</span> and the         individual <span style="font-family: Courier New,Courier,monospace;">Father</span> as two         different views on the same IRI, <span style="font-style: italic;">i.e.</span>, they are interpreted semantically as         if they were distinct. The technique listed in the main body triggers         this treatment in an OWL 2-compliant editor. See further Pascal Hitzler         <span style="font-style: italic;">et al</span>., eds., 2009.         <span style="font-style: italic;">OWL 2 Web Ontology Language         Primer</span>, a W3C Recommendation, 27 October 2009; see <a href="http://www.w3.org/TR/owl2-primer/">http://www.w3.org/TR/owl2-primer/</a>.</p>
</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp19"></a>[19] There is a role and place for <a href="http://en.wikipedia.org/wiki/Closed_World_Assumption">closed world         assumption</a> (CWA) ontologies, though Structured Dynamics does not         engage in them.</div>
<div style="margin: 10px 0pt; font-size: 90%;">
<p>CWA is the traditional perspective of relational database systems         within enterprises. The premise of CWA is that which is not known to be         true is presumed to be false; or, any statement not known to be true is         false. Another way of saying this is that everything is prohibited         until it is permitted. CWA works well in bounded systems such as known         product listings or known customer rosters, and is one reason why it is         favored for transaction-oriented systems where completeness and         performance are essential. In an ontology sense, CWA works best for         bounded engineering environments such as aeronautics or petroleum         engineering. Closed world ontologies also tend to be much more         complicated with many nuanced predicates, and can be quite expensive to         build.</p>
<p style="font-size: 90%;">The <a href="http://en.wikipedia.org/wiki/Open_world_assumption">open         world assumption</a> (OWA), on the other hand, is premised that the         lack of a given assertion or fact being available does not imply         whether that possible assertion is true or false: it simply is not         known. In other words, lack of knowledge does not imply falsity, and         everything is permitted until it is prohibited. As a result, open world         works better in knowledge environments with the incorporation of         external information such as <a href="http://en.wikipedia.org/wiki/Business_intelligence">business         intelligence</a>, <a href="http://en.wikipedia.org/wiki/Data_warehouse">data warehousing</a>,         <a href="http://en.wikipedia.org/wiki/Data_integration">data         integration</a> and <a href="http://en.wikipedia.org/wiki/Federated_database_system">federation</a>,         and <a href="http://en.wikipedia.org/wiki/Knowledge_management">knowledge         management</a>.</p>
<p style="font-size: 90%;">See further, M. K. Bergman, 2009. &#8220;<a href="http://www.mkbergman.com/852/the-open-world-assumption-elephant-in-the-room/">The         Open World Assumption: Elephant in the Room</a>,&#8221; <span style="font-style: italic;">AI3:::Adaptive Information blog</span>, Dec. 21,         2009.</p>
</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp20"></a>[20] See [3] for a good description of property restrictions in Section         4 and Appendix A.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp21"></a>[21] As another commentary on the importance of definitions, see         <a href="http://ontologyblog.blogspot.com/2010/09/physician-decries-lack-of-definitions.html"> http://ontologyblog.blogspot.com/2010/09/physician-decries-lack-of-definitions.html</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp22"></a>[22] The technical wiki (<a href="http://techwiki.openstructs.org/index.php/Main_Page">TechWiki</a>) is         the central repository for all documentation related to <a href="http://openstructs.org/">OpenStructs</a> projects. TechWiki is the         location for users and interested parties to learn about these projects         and their applications, and for developers to author and write about         their use and best practices. Both the TechWiki&#8217;s content and its         software and organizatonal structure may be <a href="http://techwiki.openstructs.org/index.php/Wiki_Information_Migration_Workflow"> downloaded for free</a> for setting up similar local technical         documentation.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp23"></a>[23] See M. K. Bergman, 2008. &#8220;<a href="http://www.mkbergman.com/414/large-scale-rdf-graph-visualization-tools/">Large-scale         RDF Graph Visualization Tools</a>,&#8221; <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, Jan. 28,         2008; and M. K. Bergman, 2008. &#8220;<a href="http://www.mkbergman.com/415/cytoscape-hands-down-winner-for-large-scale-graph-visualization/">Cytoscape:         Hands-down Winner for Large-scale Graph Visualization</a>,&#8221;         <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, Jan. 28, 2008.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp24"></a>[24] The central role of ontologies is to describe a &#8220;worldview&#8221; and in         specific organizations this means a shared understanding of the         concepts, relations and terminology to describe the participants&#8217;         common domain. In turn, these shared understandings establish the         semantics for how to effect communication and understanding within the         population of domain users. All of this means that finding ways to         identify and agree upon shared vocabularies and understandings is         central to the task of modeling (creating an ontology) for the domain.</div>
<div style="margin: 10px 0pt; font-size: 90%;">
<p>Sometimes this perception of shared views is too strictly interpreted         as needing to have one and only one understanding of concepts and         language. Far from it. One of the strengths of ontologies and language         modeling within them is that multiple terms for the same concept or         slight differences in understandings about nearly similar concepts can         be accommodated. It is perfectly OK to have differences in terminology         and concept understandings so long as those differences are also         captured and explicated within the ontology. The recommendations herein         that all concepts and terminology be defined, that <span style="font-family: Courier New,Courier,monospace;">SemSets</span> be used to         capture alternative ways to name concepts, and that concepts often be         treated as both classes and instances are some of the best practices         that reflect this approach.</p>
<p style="font-size: 90%;">So, while consensus building and collaboration methods are at the heart         of effective ontology building, those methods need not also strive for         a imposition of language and concepts by fiat. In fact, trying to do so         undercuts the ability of the collaborative process to lead to greater         shared understandings.</p>
</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp25"></a>[25] See [3] for a good description of various testing and consistency         checks in Sections 4.9 to 4.14.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp26"></a>[26] See Frédérick Giasson, 2008. &#8220;<a href="http://fgiasson.com/blog/index.php/2008/04/20/exploding-the-domain-umbel-web-services-by-zitgist/">Exploding         the Domain</a>,&#8221; from his blog, April 20, 2008. &#8216;Exploding the domain&#8217;         means what happens when internal ontology concepts are linked to         related ones on the external Web, which helps to bring in more         information and context about the concept. It is also a way to test the         coherence of the original concept.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp27"></a>[27] Already vetted knowledge bases can be a good reference testbed for         testing the coherence of concepts in a new domain ontology. If the         domain ontology describes concepts quite differently than standard         practice (<a href="http://en.wikipedia.org/wiki/Wikipedia">Wikipedia</a>, <a href="http://en.wikipedia.org/wiki/Cyc">Cyc</a> and <a href="http://en.wikipedia.org/wiki/UMBEL">UMBEL</a> are good for testing         this), or if relationships between concepts are greatly at variance         (Cyc and UMBEL are good for this), then there are likely coherency         problems. In other domains other reference knowledge bases, more         specific to the domain, can be used in similar ways.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp28"></a>[28] Structured Dynamics’ <span style="font-style: italic;">ontology-driven apps</span> are generic         applications, the operations of which are guided by the instructions         and nature of the underlying data that feeds them. For example, in the         case of a standard structured data display (say, a simple table like a         Wikipedia <a href="http://en.wikipedia.org/wiki/Category:Infobox_templates">infobox</a>),         such generic design includes templates tailored to various instance         types (say, locational information presenting on a map versus people         information warranting a image and vital statistics). Alternatively, in         the generic design for a data visualization application using <a href="http://www.adobe.com/software/flash/about/">Adobe Flash</a>, the         information output of the results set contains certain formats and         attributes, keyed by an administrative ontology linked by data type to         a domain ontology&#8217;s results sets.</div>
<div style="margin: 10px 0pt; font-size: 90%;">
<p>These <span style="font-style: italic;">ontology-driven apps</span>,         then, are informed structured results sets that are output in a form         suitable to various intended applications. This output form can include         a variety of serializations, formats or metadata. This flexibility of         output is tailored to and responsive to particular generic         applications; it is what makes our ontologies “adaptive”. Using this         structure, it is possible to either “drive” queries and results sets         selections via direct HTTP request or via simple dropdown selections on         HTML forms<span style="font-style: italic;"><span style="font-style: italic;">.</span></span> Similarly, it is possible with a         single parameter change to drive either a visualization app or a         structured table template from the equivalent query request.         <span style="font-style: italic;">Ontology-driven apps</span> through         this ontology and architecture design thus provide two profound         benefits. First, the entire system can be driven via simple selections         or interactions without the need for any programming or technical         expertise. And, second, simple additions of new and minor output         converters can work to power entirely new applications available to the         system.</p>
</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp29"></a>[29] The structWSF Web services framework is generally RESTful         middleware that provides a bridge between existing content and         structure and content management systems and available indexing engines         and RDF data stores. structWSF is a platform-independent means for         distributed collaboration via an innovative dataset access paradigm. It         has about twenty embedded Web services. See <a href="http://openstructs.org/structwsf">http://openstructs.org/structwsf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp30"></a>[30] A <a href="http://openstructs.org/semantic-components">semantic         component</a> is a Flex component that takes record descriptions and         schema as input, and then outputs some (possibly interactive)         visualizations of that record. Depending on the logic described in the         input schema and the input record descriptions, the semantic component         will behave differently to optimize its presentation to the users.         About a dozen semantic components are available from the Semantic         Component (Flex) Library. The <a href="http://techwiki.openstructs.org/index.php/SCO_Ontology">Semantic         Component Ontology</a> is the governing structure for these schema.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="obp31"></a>[31] <a href="http://openstructs.org/iron">irON</a> (<span style="font-style: italic;">instance record and Object Notation</span>) is a         abstract notation and associated vocabulary for specifying RDF triples         and schema in non-RDF forms. Its purpose is to allow users and tools in         non-RDF formats to stage interoperable datasets using RDF. The notation         supports writing RDF and schema in JSON (irJSON), XML (irXML) and         comma-delimited (CSV) formats (commON). The notation specification         includes guidance for creating instance records (including in bulk),         linkages to existing ontologies and schema, and schema definitions.         Profiles and examples and code parsers and converters are also provided         for the irXML, irJSON and commON serializations.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/911/a-reference-guide-to-ontology-best-practices/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>I Have Yet to Metadata I Didn&#8217;t Like</title>
		<link>http://www.mkbergman.com/902/i-have-yet-to-metadata-i-didnt-like/</link>
		<comments>http://www.mkbergman.com/902/i-have-yet-to-metadata-i-didnt-like/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 05:58:53 +0000</pubDate>
		<dc:creator>Mike Bergman</dc:creator>
				<category><![CDATA[Adaptive Innovation]]></category>
		<category><![CDATA[irON]]></category>
		<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[interoperability]]></category>

		<guid isPermaLink="false">http://www.mkbergman.com/?p=902</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=I Have Yet to Metadata I Didn&#8217;t Like&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Innovation&amp;rft.subject=irON&amp;rft.subject=Linked Data&amp;rft.subject=Semantic Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2010-08-16&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/902/i-have-yet-to-metadata-i-didnt-like/&amp;rft.language=English"></span>
Contrasted with Some Observations on Linked Data At the SemTech conference earlier this summer there was a kind of vuvuzela-like buzzing in the background. And, like the World Cup games on television, in play at the same time as the conference, I found the droning to be just as irritating. That droning was a combination [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=I Have Yet to Metadata I Didn&#8217;t Like&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Innovation&amp;rft.subject=irON&amp;rft.subject=Linked Data&amp;rft.subject=Semantic Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2010-08-16&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/902/i-have-yet-to-metadata-i-didnt-like/&amp;rft.language=English"></span>
<p><a href="http://en.wikipedia.org/wiki/Interfaith"><img style="border: 0px solid; width: 276px; height: 277px; float: left; margin-right: 10px;" title="Ecumenical" src="../wp-content/themes/ai3/images/2010Posts/100816_ecumenical2.jpg" alt="Ecumenical" hspace="5" vspace="5" align="left" /></a></p>
<h2>Contrasted with Some Observations on Linked Data</h2>
<p>At the <a href="http://semtech2010.semanticuniverse.com/">SemTech</a> conference earlier this summer there was a kind of <a href="http://en.wikipedia.org/wiki/Vuvuzela">vuvuzela</a>-like buzzing in         the background. And, like the <a href="http://en.wikipedia.org/wiki/2010_FIFA_World_Cup">World Cup</a> games         on television, in play at the same time as the conference, I found the         droning to be just as irritating.</p>
<p>That droning was a combination of the sense of righteousness in the         superiority of <a href="http://linkeddata.org/">linked data</a> matched         with a reprise of the &#8220;<a href="http://en.wikipedia.org/wiki/Chicken_and_egg">chicken-and-egg</a>&#8221;         argument that plagued the early years of semantic Web advocacy <a href="#meta1">[1]</a>. I         think both of these premises are misplaced. So, while I have been a fan         and explicator of <a href="http://structureddynamics.com/linked_data.html">linked data</a> for         some time, I do not worship at its altar <a href="#meta2">[2]</a>. And, for those that do,         this post argues for a greater sense of <a href="http://en.wikipedia.org/wiki/Interfaith">ecumenism</a>.</p>
<p>My main points are not against linked data. I think it a very useful         technique and good (if not best) practice in many circumstances. But my         main points get at whether linked data is an objective in itself. By         making it such, I argue our eye misses the ball. And, in so doing, we         miss making the connection with <span style="font-weight: bold; font-style: italic;">meaningful, interoperable         information</span>, which should be our true objective. We need to look         elsewhere than linked data for root causes.</p>
<h3>Observation #1: What Problem Are We Solving?</h3>
<p>When I began this blog more than five years ago &#8212; and when I left my         career in population genetics nearly three decades before that &#8212; I did         so because of my belief in the value of information to <a href="../the-blogasbrd/">confer adaptive         advantage</a>. My perspective then, and my perspective now, was that         adaptive information through genetics and evolution was being uniquely         supplanted within the human species. This change has occurred because humanity is able to record and         carry forward all information gained in its experiences.</p>
<p>Adaptive         innovations from writing to bulk printing to now electronic form         uniquely position the human species to both record its past and         anticipate its future. We no longer are limited to evolution and genetic information encoded in surviving offspring to         determine what information is retained and moves forward. Now,         <span style="font-weight: bold; font-style: italic; text-decoration: underline;">all</span> information can be retained. Further, we can combine and connect         that information in ways that break to         smithereens the biological limits of other species.</p>
<p>Yet, despite the electronic volumes and the potentials, chaos and         isolated content silos have characterized humanity&#8217;s first half century         of experience with digital information. I have spoken before about how we have been steadily <a href="../?p=229">climbing the data federation         pyramid,</a> with Internet technologies and the Web being prime factors         for doing so. Now, with a <a href="../483/advantages-and-myths-of-rdf/">compelling         data model in RDF</a> and standards for how we can relate any type of         information meaningfully, we also have the means for making sense of         it. And connecting it. And learning and adapting from it.</p>
<p>And, so, there is the answer to the rhetorical question: The problem we         are solving is to <span style="font-weight: bold; font-style: italic;">meaningfully connect         information</span>. For, without those meaningful connections and         recombinations, none of that information confers adaptive advantage.</p>
<h3>Observation #2: The Problem is Not A Lack of Consumable Data</h3>
<p>One of the &#8220;chicken-and-egg&#8221; premises in the linked data community is         there needs to be more linked data exposed before some threshold to         trigger the <a href="http://en.wikipedia.org/wiki/Network_effect">network effect</a> occurs. This attitude, I suspect, is one of the reasons why hosannas         are always forthcoming each time some outfit announces they have posted         another chunk of triples to the Web.</p>
<p><a href="http://fgiasson.com/blog/">Fred Giasson</a> and I earlier tackled that issue with <a style="font-style: italic;" href="../846/when-linked-data-rules-fail/">When Linked         Data Rules Fail</a> regarding some information published for <a href="http://data-gov.tw.rpi.edu/wiki">data.gov</a> and the <a href="http://data.nytimes.com/">New York Times</a>. Our observations on the lack of standards for linked data quality proved to be quite controversial. Rehashing that piece is         not my objective here.</p>
<p>What <span style="font-weight: bold; font-style: italic; text-decoration: underline;">is</span> my objective is to hammer home that we do not need linked data in order         to have data available to consume. Far from it. Though linked data         volumes have been growing, I actually suspect that its growth has been         slower than data availability <span style="font-style: italic;">in         toto</span>. On the Web alone we have searchable deep Web databases,         JSON, XML, microformats, RSS feeds, Google snippets, yada, yada, all in         a veritable deluge of formats, contents and contexts. We are having a         hard time inventing the next 1000-fold description beyond zettabyte and         yottabyte to even describe this deluge <a href="#meta3">[3]</a>.</p>
<p>There is absolutely no voice or observer anywhere that is saying, &#8220;We         need linked data in order to have data to consume.&#8221; Quite the opposite.         The reality is we are drowning in the stuff.</p>
<p>Furthermore, when one dissects what most of all of this data is about,         it is about ways to describe things. Or, put another way, most all data         is not schema nor descriptions of conceptual relationships, but making         records available, with attributes and their values used to describe         those records. Where is a business located? What political party does a         politician belong to? How tall are you? What is the population of Hungary?</p>
<p>These are simple constructs with simple <a href="http://en.wikipedia.org/wiki/Associative_array">key-value pair</a> ways to describe and convey them. This very simplicity is one reason         why naïve data structs or simple data models like JSON or XML have         proven so popular <a href="#meta4">[4]</a>. It is one of the reasons why the so-called         <a href="http://en.wikipedia.org/wiki/NoSQL">NoSQL databases</a> have         also been growing in popularity. What we have are lots of atomic facts,         located everywhere, and representable with very simple key-value         structures.</p>
<p>While having such information available in linked data form makes it         easier for agents to consume it, that extra publishing burden is by no         means necessary. There are plenty of ways to consume that data &#8212;         without loss of information &#8212; in non-linked data form. In fact, that         is how the overwhelming percentage of such data is expressed today. This non-linked data is also often easy to understand.</p>
<p>What <span style="font-weight: bold; font-style: italic; text-decoration: underline;">is</span> important is that the data be available electronically with a         description of what the records contain. But that hurdle is met in         many, many different ways and from many, many sources without any         reference whatsoever to linked data. I submit that any form of         desirable data available on the Web can be readily consumed without recourse to linked data principles.</p>
<h3>Observation #3: An Interoperable Data Model Does Not Require a Single         Transmittal Format</h3>
<p>The real advantage of RDF is the simplicity of its data model, which         can be extended and augmented to express vocabularies and relationships         of any nature. As I have stated before, that makes RDF like a <a href="../483/advantages-and-myths-of-rdf/"><span style="font-style: italic;"> universal solvent</span></a> for any extant data structure, form or         schema.</p>
<p>What I find perplexing, however, is how this strength somehow gets         translated into a parallel belief that such a flexible data model is         also the best means for <span style="font-weight: bold; font-style: italic; text-decoration: underline;">transmitting</span> data. As noted, most transmitted data can be         represented through simple key-value pairs. Sure, at some point one         needs to model the structural assumptions of the data model from the         supplying publisher, but that complexity need not burden the         actual transmitted form. So long as schema can be captured and modeled         at the receiving end, data record transmittal can be made quite a bit         simpler.</p>
<p>Under this mindset RDF provides         the internal (canonical) data model. Prior to that, format and other         converters can be used to consume the source data in its native form. A         generalized representation for how this can work is shown in this         diagram using <a href="http://structureddynamics.com/">Structured         Dynamics</a>&#8216; <a href="http://openstructs.org/structwsf">structWSF</a> Web services framework middleware as the <a href="http://www.mkbergman.com/496/structwsf-a-framework-for-data-mixing/">mediating layer</a>:</p>
<div style="margin: 10px 0px;"><a href="../wp-content/themes/ai3/images/2009Posts/090628_data_model_relationships.png"> <img class="center_ok" style="border: 0pt none;" title="Click to enlarge" src="../wp-content/themes/ai3/images/2009Posts/090628_data_model_relationships.png" border="0" alt="structWSF Data Model Relationships" width="600" height="364" /></a></div>
<p>Of course, if the source data is already in linked data form with         understood concepts, relationships and semantics, much of this         conversion overhead can be bypassed. If available, that is a good         thing.</p>
<p>But it is not a required or necessary thing. Insistence on publishing         data in certain forms suffers from the same narrowness as cultural or         religious zealotry. Why certain publishers or authors prefer different         data formats has a diversity of answers. Reasons can range from what is         tried and familiar to available toolsets or even what is trendy, as one         might argue linked data is in some circles today.There are literally         scores of off-the-shelf &#8220;<a href="http://openstructs.org/osf/resources/rdfizers">RDFizers</a>&#8221; for         converting native and simple data structs into RDF form. New converters         are readily written.</p>
<p>Adaptive systems, by definition, do not require wholesale changes to         existing practices and do not require effort where none is warranted. By         posing the challenge as a &#8220;chicken-and-egg&#8221; one where publishers         themselves must undertake a change in their existing practices to         conform, or else they fail the &#8220;linked data threshold&#8221;, advocates are         ensuring failure. There is plenty of useful structured data to consume         already.</p>
<p>Accessible structured data, properly         characterized (see below), should be our root interest; not whether that         data has been published as linked data <span style="font-style: italic;">per se</span>.</p>
<h3>Observation #4: A Technique Can Not Carry the Burden of Usefulness or         Interoperability</h3>
<p>Linked data is nothing more than some techniques for         publishing Web-accessible data using the RDF data model. Some have         tried to use the concept of linked data as a replacement for the idea         of the semantic Web, and some have recently tried to re-define linked         data as not requiring RDF <a href="#meta5">[5]</a>. Yet the real issue with all of these         attempts &#8212; correct or not, and a fact of linked data since first         formulated by Tim Berners-Lee &#8212; is that a technique alone can not         carry the burden of usefulness or interoperability.</p>
<p>Despite billions of triples now available, we in fact see little actual         use or consumption of linked data, except in the life science domain.         Indeed, a new workshop by the research community called COLD (Consuming         Linked Data) has been set up for the upcoming ISWC conference to look         into the very reasons why this lack of usage may be occurring <a href="#meta6">[6]</a>.</p>
<p>It will be interesting to monitor what comes out of that workshop, but         I have my own views as to what might be going on here. A number of         factors, applicable frankly to any data, must be layered on top of         linked data techniques in order for it to be useful:</p>
<ul>
<li>Context and coherence (see below)</li>
<li>Curation and quality control (where provenance is used as the         proxy), and</li>
<li>Up-to-date and timely.</li>
</ul>
<p>These requirements apply to any data ranging from Census CSV files to Google         search results. But because relationships can also be more readily         asserted with linked data, these requirements are even         greater for it.</p>
<p>It is not surprising that the life sciences have seen more uptake of linked         data. That community has keen experience with curation, and the quality         and linkages asserted there are much superior to other areas of linked         data <a href="#meta7">[7]</a>.</p>
<p>In other linked data areas, it is really in limited pockets such as         <a href="http://factforge.net/">FactForge</a> from <a href="http://www.ontotext.com/">Ontotext</a> or curated forms of <a href="http://en.wikipedia.org/">Wikipedia</a> by the likes of <a href="http://wiki.freebase.com/wiki/WEX">Freebase</a> that we see the most         use and uptake. There is no substitute for consistency and quality         control.</p>
<p>It is really in this area of &#8220;publish it and they will come&#8221; that we         see one of the threads of parochialism in the linked data community.         You can publish it and they still will <span style="font-weight: bold; font-style: italic;">not</span> come. And, like any         data, they will not come because the quality is poor or the linkages         are wrong.</p>
<p>As a technique for making data available, linked data is thus nothing         more than a foot soldier in the campaign to make information         meaningful. Elevating it above its pay grade sets the wrong target and         causes us to lose focus for what is really important.</p>
<h3>Observation #5: 50% of Linked Data is Missing (that is, the Linking         part)</h3>
<p>There is another strange phenomenon in the linked data movement: the         almost total disregard for the linking part. Sure data is getting         published as triples with dereferencable URIs, but where are the links?</p>
<p>At most, what we are seeing is <span style="font-family: monospace;">owl:sameAs</span> assertions and a few others         <a href="#meta8">[8]</a>. Not only does this miss the whole point of linked data, but one         can question whether equivalence assertions are correct in many         instances <a href="#meta9">[9]</a>.</p>
<p>For a couple of years now I have been arguing that the central gap in         linked data has been the absence of <a style="font-weight: bold; font-style: italic;" href="../440/the-semantics-of-context/">context</a> and <a style="font-weight: bold; font-style: italic;" href="../450/when-is-content-coherent/">coherence</a>.         By <span style="font-weight: bold; font-style: italic;">context</span> I mean the use of reference structures to help place and frame what         content is about. By <span style="font-weight: bold; font-style: italic;">coherence</span> I mean that         those contextual references make internal and logical sense, that they         represent a consistent world view. Both require a richer use of links         to concepts and subjects describing the semantics of the content.</p>
<p>It is precisely through these kinds of links that data from disparate         sources and with different frames of reference can be meaningfully         related to other data. This is the essence of the semantic Web and the         purported purpose of linked data. And it is exactly these areas in         which linked data is presently found most lacking.</p>
<p>Of course, these questions are not the sole challenge of linked data.         They are the essential challenge in any attempt to connect or         interoperate structured data within information systems. So, while         linked data is ostensibly designed from the get-go to fulfill these         aims, any data that can find meaning outside of its native silo must         also be placed into <span style="font-weight: bold; font-style: italic;">context</span> in a         <span style="font-weight: bold; font-style: italic;">coherent</span> manner. The unique disappointment for much linked data is its failure to provide these contexts despite its design.</p>
<h3>Observation #6: Pluralism is a Reality; Embrace It</h3>
<p>Yet, having said all of this, Structured Dynamics is still committed to linked data. We present our         information as such, and provide great tools for producing and         consuming it. We have made it one of the <a href="../859/seven-pillars-of-the-open-semantic-enterprise/"> seven foundations</a> to our <a href="http://structureddynamics.com/products.html">technology stack</a> and         <a href="http://mike2.openmethodology.org/wiki/Open_SEAS_Framework">methodology</a>.</p>
<p>But we live in a pluralistic data world. There are reasons and roles         for the multitude of popular structured data formats that presently         exist. This inherent diversity is a fact in any real-world data         context. Thus, we have not met a form of structured data that we didn&#8217;t         like, especially if it is accompanied with metadata that puts the data         into coherent context. It is a major reason why we developed the         <a href="http://openstructs.org/iron">irON</a> (<span style="font-style: italic;">instance record</span> and <span style="font-style: italic;">object notation</span>) non-RDF vocabulary to         provide a bridge from such forms to RDF. irON clearly shows that         entities can be usefully described and consumed in either RDF or         non-RDF serialized forms.</p>
<p>Attitudes that dismiss non-linked data forms or arrogantly insist that         publishers adhere to linked data practices are anything but         pluralistic. They are parochial and short-sighted and are contributing,         in part, to keeping the semantic Web from going mainstream.</p>
<p>Adoption requires simplicity. The simplest way to encourage the greater         interoperability of data is to leverage existing assets in their native         form, with encouragement for minor enhancements to add descriptive         metadata for what the content is about. Embracing such an ecumenical         attitude makes all publishers potentially valuable contributors to a         better information future. It will also nearly instantaneously widen         the tools base available for the common objective of interoperability.</p>
<h3>Parochialism and Root Cause Analysis</h3>
<p>Linked data is a good thing, but not an ultimate thing. By making         linked data an objective in itself we unduly raise publishing         thresholds; we set our sights below the real problem to be solved; and         we risk diluting the understanding of RDF from its natural         role as a flexible and adaptive data model. Paradoxically, too much         parochial insistence on linked data may undercut its adoption and the         realization of the overall semantic objective.</p>
<p><a href="http://en.wikipedia.org/wiki/Root_cause_analysis">Root cause         analysis</a> for what it takes to achieve <span style="font-weight: bold; font-style: italic;">meaningful, interoperable         information</span> suggests that describing source content in terms of         what it <span style="font-style: italic;">is about</span> is the pivotal factor.         Moreover, those contexts should be shared to aid interoperability.         Whichever organizations do an excellent job of providing context and         coherent linkages will be the go-to ones for data consumers. As we have         seen to date, merely publishing linked data triples does not meet this         test.</p>
<p>I have heard <a href="http://chatlogs.planetrdf.com/swig/2010-08-10.html#T15-16-04">some         state</a> that first you celebrate linked data and its growing         quantity, and then hope that the quality improves. This sentiment holds         if indeed the community moves on to the questions of quality and         relevance. The time for that transition is now. And, oh, by the         way, as long as we are broadening our horizons, let&#8217;s also celebrate         properly characterized structured data no matter what its form. <a href="http://en.wikipedia.org/wiki/Religious_pluralism">Pluralism</a> is part of the <a style="font-style: italic;" href="http://en.wikipedia.org/wiki/Tao">tao</a> to the meaning of information.</p>
<hr style="margin: 15px 0px;" size="1" />
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meta1"></a> [1] See, for example, J.A. Hendler, 2008. &#8220;Web 3.0: Chicken Farms on the Semantic         Web,&#8221; <span style="font-style: italic;">Computer</span>, January         2008, pp. 106-108. See <a href="http://www.comp.leeds.ac.uk/webscience/talks/hendler_web_3.pdf">http://www.comp.leeds.ac.uk/webscience/talks/hendler_web_3.pdf</a>.         While I can buy Hendler&#8217;s arguments about commercial tool vendors holding off         major investments until the market is sizable, I think we can also see via listings like <a style="font-weight: bold;" href="../new-version-sweet-tools-sem-web/">Sweet Tools</a> that a lack of tools is not in itself limiting.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a href="file:///F:/5-WebSites/All%20In%20Progress/meta2"> </a><a name="meta2"></a>[2] An earlier treatment of this subject from a different perspective         is M.K. Bergman, 2010. &#8220;<a href="../880/the-bipolar-disorder-of-linked-data/">The         Bipolar Disorder of Linked Data</a>,&#8221; <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, April 28,         2010.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meta3"></a> [3] So far only prefixes for units up to 10^24 (&#8220;yotta&#8221;) have names;         for 10^27, a student campaign on Facebook is proposing &#8220;hellabyte&#8221;         (North California slang for &#8220;a whole lot of&#8221;) to get adopted by science         bodies. See <a href="http://scitech.blogs.cnn.com/2010/03/04/hella-proposal-facebook/">http://scitech.blogs.cnn.com/2010/03/04/hella-proposal-facebook/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meta4"></a> [4] One of more popular posts on this blog has been, M.K. Bergman,         2009. &#8220;<a href="../471/structs-naive-data-formats-and-the-abox/">‘Structs’:         Naïve Data Formats and the ABox</a>,&#8221; <span style="font-style: italic;">AI3:::Adaptive Information</span> blog, January         22, 2009.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meta5"></a> [5] See, for example, the recent history on the <a href="http://en.wikipedia.org/w/index.php?title=Linked_Data&amp;action=history"> linked data</a> entry on Wikipedia or the assertions by Kingsley Idehen         regarding entity attribute values (EAV) (see, for example, <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1611"> this blog post</a>.)</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meta6"></a> [6] See further the <a href="http://consuminglinkeddata.org/COLD2010">1st International Workshop on         Consuming Linked Data</a> (COLD 2010), at the <a rel="foaf:homepage" href="http://iswc2010.semanticweb.org/">9th International Semantic Web         Conference</a> (ISWC 2010), November 8, 2010, Shanghai, China.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meta7"></a> [7] For example, in the early years of <a href="http://www.ncbi.nlm.nih.gov/genbank/">GenBank</a>, some claimed that         annotations of gene sequences due to things like BLAST analyses may         have had as high as 30% to 70% error rates due to propagation of         initially mislabeled sequences. In part, the whole field of         bioinformatics was formed to deal with issues of data quality and         curation (in addition to analytics).</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meta8"></a> [8] See, for example: Harry Halpin, 2009. “A Query-Driven         Characterization of Linked Data,” paper presented at the <span style="font-style: italic;">Linked Data on         the Web (LDOW) 2009 Workshop</span>, April 20, 2009, Madrid, Spain, see         <a href="http://events.linkeddata.org/ldow2009/papers/ldow2009_paper16.pdf">http://events.linkeddata.org/ldow2009/papers/ldow2009_paper16.pdf</a>;         Prateek Jain, Pascal Hitzler, Peter Z. Yehy, Kunal Vermay and Amit P.         Shet, 2010. “Linked Data is Merely More Data,” in Dan Brickley, Vinay         K. Chaudhri, Harry Halpin, and Deborah McGuinness, <span style="font-style: italic;">Linked Data Meets Artificial Intelligence,         Technical Report SS-10-07</span>, AAAI Press, Menlo Park, California,         2010, pp. 82-86., see <a href="http://knoesis.wright.edu/library/publications/linkedai2010_submission_13.pdf"> http://knoesis.wright.edu/library/publications/linkedai2010_submission_13.pdf</a>;         among others.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meta9"></a> [9] Harry Halpin and Patrick J. Hayes, 2010. &#8220;When owl:sameAs isn’t the         Same: An Analysis of Identity Links on the Semantic Web,&#8221; presented at         <span style="font-style: italic;">LDOW 2010</span>, April 27th, 2010,         Raleigh, North Carolina. See <a href="http://events.linkeddata.org/ldow2010/papers/ldow2010_paper09.pdf">http://events.linkeddata.org/ldow2010/papers/ldow2010_paper09.pdf</a>.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mkbergman.com/902/i-have-yet-to-metadata-i-didnt-like/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

