<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:planet="http://planet.intertwingly.net/" xmlns:indexing="urn:atom-extension:indexing" indexing:index="no"><access:restriction xmlns:access="http://www.bloglines.com/about/specs/fac-1.0" relationship="deny"/>
  <title>Linked Data Blog Aggregator</title>
  <updated>2012-05-16T15:50:24Z</updated>
  <generator uri="http://intertwingly.net/code/venus/">Venus</generator>
  <author>
    <name>Tom Heath</name>
    <email>tom.heath@talis.com</email>
  </author>
  <id>http://planet.linkeddata.org/atom.xml</id>
  <link href="http://planet.linkeddata.org/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://planet.linkeddata.org/" rel="alternate"/>

  <entry xml:lang="en">
    <id>http://tomheath.com/blog/?p=192</id>
    <link href="http://tomheath.com/blog/2012/04/bebo-white-reviews-the-linked-data-book-for-journal-of-web-engineering/" rel="alternate" type="text/html"/>
    <title>Bebo White Reviews the Linked Data Book for Journal of Web Engineering</title>
    <summary>I recently had an email giving advance notice that a review of the Linked Data Book (aka “Linked Data: Evolving the Web into a Global Data Space“) would appear in Volume 11(2) of the Journal of Web Engineering, published by Rinton Press (ISSN: 1540-9589). As some people won’t have easy access to the journal, the [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I recently had an email giving advance notice that a review of the <a href="http://linkeddatabook.com/editions/1.0/" title="Linked Data Book">Linked Data Book</a> (aka “<a href="http://www.morganclaypool.com/doi/abs/10.2200/S00334ED1V01Y201102WBE001" title="Linked Data: Evolving the Web into a Global Data Space">Linked Data: Evolving the Web into a Global Data Space</a>“) would appear in Volume 11(2) of the <a href="http://www.rintonpress.com/journals/jwe/" title="Journal of Web Engineering">Journal of Web Engineering</a>, published by Rinton Press (ISSN: 1540-9589). As some people won’t have easy access to the journal, the review is republished here, with permission. It’s by <a href="http://www.bebowhite.com/" title="Bebo White">Bebo White</a> of Stanford University and beyond — thank you Bebo for the thoughtful review, and to Rinton Press for allowing it to be republished here.</p>
<blockquote><p>Web Engineering has been described as encompassing those “technologies, methodologies, tools, and techniques used to develop and maintain Web-based applications leading to better systems, [thus to] enabling and improving the dissemination and use of content and services though the Web.” (Source: International Conference on Web Engineering)</p>
<p>An especially interesting aspect of this description is “dissemination and use of content.” Semantic Web technologies and particularly the Linked Data paradigm have evolved as powerful enablers for the transition of the current document-oriented Web into a Web of interlinked data/content and, ultimately, into the Semantic Web.</p>
<p>To facilitate this transition many aspects of distributed data and information management need to be adapted, advanced and integrated. Of particular importance are approaches for (1) extracting semantics from unstructured, semi-structured and existing structured sources, (2) management of large volumes of RDF data, (3) techniques for efficient automatic and semi-automatic data linking, (4) algorithms, tools, and inference techniques for repairing and enriching Linked Data with conceptual knowledge, (5) the collaborative authoring and creation of data on the Web, (6) the establishment of trust by preserving provenance and tracing lineage, (7) user-friendly means for browsing, exploration and search of large, federated Linked Data spaces. Particularly promising might be the synergistic combination of approaches and techniques touching upon several of these aspects at once.</p>
<p>For Web Engineering practitioners interested in being a part of this Web transition, Linked Data – Evolving the Web into a Global Data Space by Heath and Bizer will provide a valuable resource. The authors have done an excellent job of addressing the subject in a logical sequence of well-written chapters reflecting technical fundamentals, coverage of existing applications and tools, and the challenges for future development and research. The seven important approaches mentioned earlier are described in a consistent way and illustrated by means of a hypothetical scenario that evolves over the course of the book. The size of this book (122 pages) is deceiving in that it does not reflect the quality and density of its content. The authors have succeeded in presenting a complex topic both succinctly and clearly. It is not a “quick read,” but rather a volume to be used for references, definitions, and meaningful and instructive code examples.</p>
<p>This book is <a href="http://www.morganclaypool.com/doi/abs/10.2200/S00334ED1V01Y201102WBE001" title="Digital Version of Linked Data Book">available in digital format</a> (PDF). It is the first in a planned <a href="http://www.morganclaypool.com/toc/wbe.1/1/1#lecturesUnderDevelopment" title="Synthesis Lectures on the Semantic Web: Theory and Technology">series of books/lectures</a>. The quality of this book should make the reader/practitioner look forward to the upcoming series volumes that promise to further explain the exciting future of this topic.</p></blockquote></div>
    </content>
    <updated>2012-04-30T12:10:05Z</updated>
    <category term="Linked Data"/>
    <category term="Semantic Web"/>
    <category term="Writing"/>
    <category term="bebo white"/>
    <category term="book"/>
    <category term="journal of web engineering"/>
    <category term="review"/>
    <category term="rinton press"/>
    <author>
      <name>Tom Heath</name>
    </author>
    <source>
      <id>http://tomheath.com/blog</id>
      <link href="http://tomheath.com/blog/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://tomheath.com/blog" rel="alternate" type="text/html"/>
      <title>Tom Heath's Displacement Activities</title>
      <updated>2012-05-16T14:50:13Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=1006</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/BHkrzZLz5-I/" rel="alternate" type="text/html"/>
    <title>Pragmatic Approaches to the Semantic Web</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=Pragmatic Approaches to the Semantic Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-04-30&amp;rft.identifier=http://www.mkbergman.com/1006/pragmatic-approaches-to-the-semantic-web/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Linked Data&amp;rft.subject=Semantic Web"/>
Linked Data is Sometimes a Useful Technique, but is an Inadequate Focus While in Australia on other business, I had the great fortune to be invited by Adam Bell of the Australian War Memorial to be the featured speaker at the Canberra Semantic Web Meetup on April 23. The talk was held within the impressive [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=Pragmatic Approaches to the Semantic Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-04-30&amp;rft.identifier=http://www.mkbergman.com/1006/pragmatic-approaches-to-the-semantic-web/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Linked Data&amp;rft.subject=Semantic Web"/>
<h2><a><img align="left" alt="Canberra, Australia" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120428_australia_map.png" style="border: 0px solid; width: 220px; height: 205px; float: left; margin-right: 10px;" title="Canberra, Australia"/></a> Linked Data is Sometimes a Useful Technique, but is an Inadequate Focus</h2>
<p>While in Australia on other business, I had the great fortune to be invited by <a href="http://au.linkedin.com/in/adamjohnbell">Adam Bell</a> of the <a href="http://www.awm.gov.au/">Australian War Memorial</a> to be the featured speaker at the <a href="http://www.meetup.com/Canberra-Semantic-Web-Meetup-Group/events/59032632/?a=ed1_l6"> Canberra Semantic Web Meetup</a> on April 23. The talk was held within the impressive <a href="http://maps.google.com/maps?q=Australian+War+Memorial%2C+Canberra">BAE Systems Theatre</a> of the Memorial and was very well attended. My talk was preceded by an excellent introduction to the semantic Web by <a href="http://www.ict.csiro.au/staff/david.ratcliffe/">David Ratcliffe</a> and <a href="http://www.ict.csiro.au/staff/armin.haller/">Armin Haller</a> of <a href="http://research.ict.csiro.au/">CSIRO</a>.  They have kindly provided their useful <a href="http://www.slideshare.net/RatcliffeDavid/semantic-web-101">slides online</a>.</p>
<p>Many of the attendees came from the perspective of libraries, archives or museums. They naturally had an interest in the <a href="http://en.wikipedia.org/wiki/Linked_data">linked data</a> activities in this area, a growing initiative that is now known under the acronym of <a href="http://lod-lam.net/">LOD-LAM</a>. Though I have been an advocate of linked data going back to 2006, one of my main theses was that linked data was an inadequate focus to achieve interoperability. The key emphases of my talk were that the pragmatic contributions of semantic technologies reside more in mindsets, information models and architectures than in ‘linked data’ as currently practiced.</p>
<h3>Disappointments and Successes</h3>
<p>The semantic Web and its most recent branding of linked data has antecedents going back to 1945 via <a href="http://en.wikipedia.org/wiki/Vannevar_Bush">Vannevar Bush’s</a> <a href="http://en.wikipedia.org/wiki/Memex">memex</a> and <a href="http://en.wikipedia.org/wiki/Ted_Nelson">Ted Nelson’s</a> <a href="http://en.wikipedia.org/wiki/Hypertext">hypertext</a> of the early 1960s. The most powerful portrayal of the potential of the semantic Web comes in <a href="http://en.wikipedia.org/wiki/Douglas_Adams">Douglas Adams’</a> 1990 <a href="http://en.wikipedia.org/wiki/Hyperland">Hyperland</a> special for the BBC, a full decade before <a href="http://en.wikipedia.org/wiki/Tim_Berners-Lee">Tim Berners-Lee</a> and colleagues first coined the term ‘semantic web’ <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#prag1">[1]</a>. The <a href="http://video.google.com/videoplay?docid=7190175107515525470">Hyperland vision</a> of obsequious intelligent agents doing our very bidding has, of course, not been fully realized. The lack of visible uptake of this full vision has caused some proponents to back away from the idea of the semantic Web. Linked data, in fact, was a term coined by Berners-Lee himself, arguably in part to re-brand the idea and to focus on a more immediate, achievable vision. In its first formulation linked data emphasized the <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a> (Resource Description Framework) data model, though others, notably <a href="http://en.wikipedia.org/wiki/Kingsley_Idehen">Kingsley Idehen</a>, have attempted to put forward a revisionist definition of linked data that includes any form of structured data involving entity attribute values (<a href="http://en.wikipedia.org/wiki/Entity-attribute-value_model">EAV</a>).</p>
<p>No matter how expressed, the idea behind all of these various terms has in essence been to make meaningful connections, to provide the frameworks for interoperability. Interoperability means getting disparate sources of data to relate to each other, as a means of moving from data to information. Interoperability requires that source and receiver share a vocabulary about what things mean, as well as shared understandings about the associations or degree of relationship between the items being linked.</p>
<p>The current concept of linked data attempts to place these burdens mostly on the way data is published. While apparently “simpler” than earlier versions of the semantic Web (since linked data de-emphasizes shared vocabularies and nuanced associations), linked data places onerous burdens on how publishers express their data. Though many in the advocacy community point to the “billions” of RDF triples expressed as a success, actual consumers of linked data are rare. I know of no meaningful application or example where the consumption of linked data is an essential component.</p>
<p>However, there are a few areas of success in linked data. <a href="http://en.wikipedia.org/wiki/Dbpedia">DBpedia</a>, <a href="http://en.wikipedia.org/wiki/Freebase">Freebase</a> (now owned by <a href="http://en.wikipedia.org/wiki/Google">Google</a>), and <a href="http://en.wikipedia.org/wiki/GeoNames">GeoNames</a> have been notable in providing identifiers (URIs) for common concepts, things, entities and places. There has also been success in the biomedical community with linked data.</p>
<p>Meanwhile, other aspects of the semantic Web have also shown success, but been quite hidden. <a href="http://en.wikipedia.org/wiki/Apple_Inc.">Apple’s</a> spoken <a href="http://en.wikipedia.org/wiki/Siri_%28software%29">Siri</a> service is driven by an ontological back-end; <a href="http://en.wikipedia.org/wiki/Schema.org">schema.org</a> is beginning to provide shared ways for tagging key entities and concepts, as promoted by the leading search engines of Google, <a href="http://en.wikipedia.org/wiki/Bing">Bing</a>, <a href="http://en.wikipedia.org/wiki/Yahoo%21">Yahoo!</a> and <a href="http://en.wikipedia.org/wiki/Yandex">Yandex</a>; Bing itself has been improved as a search service by the incorporation of the semantic search technologies of its earlier <a href="http://en.wikipedia.org/wiki/Powerset_%28company%29">Powerset</a> acquisition; and Google is further showing how <a href="http://en.wikipedia.org/wiki/Natural_language_processing">NLP</a> (natural language processing) techniques can be used to extract meaningful structure for characterizing entities in search results and in search completion and machine language translation. These services are here today and widely used. All operate in the background.</p>
<h3>What Lessons Can We Derive?</h3>
<p>These failures and successes help provide some pragmatic lessons going forward.</p>
<p>While I disagree with Kingsley’s revisionist approach to re-defining linked data, I very much agree with his underlying premise:  effective data exchange does not require RDF. Most instance records are already expressed as simple entity-value pairs, and any data transfer serialization — from key-value pairs to JSON to CSV spreadsheets — can be readily transformed to RDF.</p>
<div class="boxGreenDotted" style="margin: 10px 0pt 10px 10px; float: right; width: 280px; font-size: 1.2em; text-align: center; font-style: italic;">Semantic technologies are fundamentally about knowledge representation, not data transfer.</div>
<p>This understanding is important because the fundamental contribution of RDF is not as a data exchange format, but as a foundational <a href="http://en.wikipedia.org/wiki/Data_model">data model</a>. The simple triple model of RDF can easily express the information assertions in any form of content, from completely unstructured text (after information extraction or metadata characterization) to the most structured data sources. Triples can themselves be built up into complete languages (such as <a href="http://en.wikipedia.org/wiki/Web_Ontology_Language">OWL</a>) that also capture the expressiveness necessary to represent any extant data or information schema <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#prag2">[2]</a>.</p>
<p>The ability of RDF to capture any form of data or any existing schema makes it a “universal solvent” for information. This means that the real role of RDF is as a canonical data model at the core of the entire information architecture. Linked data, with its emphasis on data publishing and exchange, gets this focus exactly wrong. Linked data emphasizes RDF at the wrong end of the telescope.</p>
<p>The idea of common schema and representations is at the core of the semantic Web successes that do exist. In fact, when we look at Siri, emerging search, or some of the other successes noted above, we see that their semantic technology components are quite hidden. Successful semantics tend to work in the background, not in the foreground in terms of how data is either published or consumed. Semantic technologies are fundamentally about knowledge representation, not data transfer.</p>
<p>Where linked data is being consumed, it is within communities such as the life sciences where much work has gone into deriving shared vocabularies and semantics for linking and mapping data. These bases for community sharing express themselves as ontologies, which are really just formalized understandings of these shared languages in the applicable domain (life sciences, in this case). In these cases, curation and community processes for deriving shared languages are much more important to emphasize than how data gets exposed and published.</p>
<p>Linked data as presently advocated has the wrong focus. The techniques of publishing data and de-referencing URIs are given prominence over data quality, meaningful linkages (witness the appalling misuse of <code>owl:sameAs</code> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#prag3">[3]</a>), and shared vocabularies. These are the reasons we see little meaningful consumption of linked data. It is also the reason that the much touted <a href="http://www.w3.org/wiki/FollowYourNose">FYN</a> (“follow your nose”) plays no meaningful information role today other than a somewhat amusing diversion.</p>
<h3>Shifting the Focus</h3>
<p>In our own applications <a href="http://structureddynamics.com/">Structured Dynamics</a> promotes seven pillars to pragmatic semantic technologies <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#prag4">[4]</a>. Linked data is one of those pillars, because where the other foundations are in place, including shared understandings, linked data is the most efficient data transfer format. But, as noted, linked data alone is insufficient.</p>
<p>Linked data is thus the wrong starting focus for new communities and users wishing to gain the advantages of interoperability. The benefits of interoperability must first obtain from a core (or canonical) data model — RDF — that is able to capture any extant data or schema. As these external representations get boiled down to a canonical form, there must be shared understandings and vocabularies to capture the meaning in this information. This puts community involvement and processes at the forefront of the semantic enterprise. Only after the community has derived these shared understandings should linked data be considered as the most efficient way to interchange data amongst the community members.</p>
<p>Identifying and solving the “wrong” problems is a recipe for disappointment. The challenges of the semantic Web are not in branding or messaging. The challenges of the semantic enterprise and Web reside more in mindsets, approaches and architecture. Linked data is merely a technique that contributes little — perhaps worse by providing the wrong focus — to solving the fundamental issue of information interoperability.</p>
<p>Once this focus shifts, a number of new insights emerge. Structure is good in any form; arguments over serializations or data formats are silly and divert focus. The role of semantic technologies is likely to be a more hidden one, to reside in the background as current successes are now showing us. Building communities with trusted provenance and shared vocabularies (ontologies) are the essential starting points. Embracing and learning about NLP will be important to include the 80% of content currently in unstructured text and disambiguating reference conflicts. Ultimate users, subject matter experts and librarians are much more important contributors to this process than developers or computer scientists. We largely now have the necessary specifications and technologies in place; it is time for content and semantic reconciliation to guide the process.</p>
<p>It is great that the abiding interest in interoperability is leading to the creation of more and more communities, such as LOD-LAM, forming around the idea of linked data. What is important moving forward is to use these interests as springboards, and not boxes, for exploring the breadth of available semantic technologies.</p>
<h3>For More on the Talk</h3>
<p>Below is a link to my slides used in Canberra:</p>
<div class="center_ok" id="__ss_12731796" style="width: 425px;">
<div style="text-align: center;"><strong style="margin: 12px 0pt 4px; display: block;"><a href="http://www.slideshare.net/mkbergman/au-canberra-meetuptalk" target="_blank" title="Pragmatic Approaches to the Semantic Web">Pragmatic Approaches to the Semantic Web</a></strong> </div>
</div>
<div style="padding: 5px 0pt 12px; text-align: center;"><small>View more presentations from <a href="http://www.slideshare.net/mkbergman" target="_blank">Mike Bergman.</a></small></div>
<p>Also, as mentioned, the intro slides are <a href="http://www.slideshare.net/RatcliffeDavid/semantic-web-101">online</a>, a video recording of the presentations is also available, and some other blog postings occasioned by the talks are also <a href="http://www.sembl.net/2012/04/a-dialogic-order-of-knowledge/">online</a>.</p>
<hr align="left" size="1" style="margin: 15px 0px;" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="prag1"/>[1] Tim Berners-Lee, James Hendler and Ora Lassila, 2001. <a href="http://www.sciam.com/article.cfm?id=the-semantic-web&amp;print=true" rel="nofollow">“The Semantic Web”</a>. <em>Scientific American Magazine</em>; see <a href="http://www.scientificamerican.com/article.cfm?id=the-semantic-web">http://www.scientificamerican.com/article.cfm?id=the-semantic-web</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="prag2"/>[2] See further, M.K. Bergman, 2009. “Advantages and Myths of RDF,” <em><a href="http://www.mkbergman.com/">AI3:::Adaptive Innovation</a></em> blog, April 8, 2009. See <a href="http://www.mkbergman.com/483/advantages-and-myths-of-rdf/">http://www.mkbergman.com/483/advantages-and-myths-of-rdf/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="prag3"/>[3] See, among many, M.K. Bergman, 2010. “Practical P-P-P-Problems with Linked Data,” <em><a href="http://www.mkbergman.com/">AI3:::Adaptive Innovation</a></em> blog, October 4, 2010. See <a href="http://www.mkbergman.com/917/practical-p-p-p-problems-with-linked-data/"> http://www.mkbergman.com/917/practical-p-p-p-problems-with-linked-data/.</a></div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="prag4"/>[4] M.K. Bergman, 2010. “Seven Pillars of the Open Semantic Enterprise,” <em><a href="http://www.mkbergman.com/">AI3:::Adaptive Innovation</a></em> blog, January 12, 2010. See <a href="http://www.mkbergman.com/859/seven-pillars-of-the-open-semantic-enterprise/">http://www.mkbergman.com/859/seven-pillars-of-the-open-semantic-enterprise/</a>.</div>
 <img height="1" src="http://www.mkbergman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1006" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/BHkrzZLz5-I" width="1"/></div>
    </content>
    <updated>2012-04-30T08:46:07Z</updated>
    <category term="Linked Data"/>
    <category term="Semantic Web"/>
    <category term="#linkeddata"/>
    <category term="#lodlam"/>
    <category term="#semanticweb"/>
    <category term="information interoperability"/>
    <category term="rdf"/>
    <category term="semantic technologies"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/1006/pragmatic-approaches-to-the-semantic-web/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2012-05-03T07:50:04Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:www.wikier.org,2012-04-21:c871469d6ae4aa2fe296223309e7d833/fbb799b0954f7ce36c66cbb48a290ab0</id>
    <link href="http://www.wikier.org/blog/salzburg" rel="alternate" type="text/html"/>
    <title>Salzburg</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Definitively yesterday was <a href="http://youtu.be/ZUa60812SB4">my last day</a> working at <a href="http://fundacionctic.org"><span class="caps">CTIC</span></a>. In fact, we’ve <a href="http://lists.w3.org/Archives/Public/public-lod/2012Apr/0134.html">worked until the last minute</a>. It has been an honor to have the chance to share this time with people so well technically skilled, but even better people; some of them friends for life. But after more than six years there, I think now it’s my time for a change.</p>

	<p>Thus next week I’ll move to <a href="http://dbpedia.org/resource/Salzburg">Salzburg</a>, where in May I’ll join <a href="http://www.salzburgresearch.at/en/">Salzburg Research</a> to work with <a href="http://www.salzburgresearch.at/en/person/sschaffert/">Dr. Sebastian Schaffert</a> at the <a href="http://www.salzburgresearch.at/en/bereiche/kmt_en/">Knowledge and Media Technologies department</a>. I’ll join a very innovate team where I could apply my research on Linked Data to a more platform-oriented approach, initially on projects such as <a href="http://lmf.googlecode.com">Linked Media Framework</a> or <a href="http://incubator.apache.org/stanbol/">Apache Stanbol</a>. </p>

	<p>Finally, an important change in my life. I leave in Asturias almost everything that I know, and by sure I’ll miss a lot my family and my friends here. But I feel I need this change, which I’m sure would be an enriching experience in many aspects.</p>

	<p>See you then In Salzrburg!</p></div>
    </content>
    <updated>2012-04-21T08:07:03Z</updated>
    <author>
      <name>Sergio Fernández</name>
    </author>
    <source>
      <id>http://www.wikier.org/</id>
      <link href="http://www.wikier.org/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/wikier-semantics" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Sergio Fernández</subtitle>
      <title>Wikier.org - blog - Semantics</title>
      <updated>2012-05-10T12:23:08Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=1004</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/d93ygwhdGfc/" rel="alternate" type="text/html"/>
    <title>The Trouble with Memes</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=The Trouble with Memes&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-04-04&amp;rft.identifier=http://www.mkbergman.com/1004/the-trouble-with-memes/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Web"/>
Adaptive Information is a Hammer, but Genes are Not a Nail Since Richard Dawkins first put forward the idea of the “meme” in his book The Selfish Gene some 35 years ago [1], the premise has struck in my craw. I, like Dawkins, was trained as an evolutionary biologist. I understand the idea of the [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=The Trouble with Memes&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-04-04&amp;rft.identifier=http://www.mkbergman.com/1004/the-trouble-with-memes/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Web"/>
<h2><a><img align="left" alt="Tractricious Sculpture at Fermilab; picture by Mike Kappel" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120404_fermi_sculpture.jpg" style="border: 0px solid; width: 225px; height: 336px; float: left; margin-right: 10px;" title="Tractricious Sculpture at Fermilab; picture by Mike Kappel"/></a>Adaptive Information is a Hammer, but Genes are Not a Nail</h2>
<p>Since <a href="http://en.wikipedia.org/wiki/Richard_Dawkins">Richard Dawkins</a> first put forward the idea of the “<a href="http://en.wikipedia.org/wiki/Meme">meme</a>” in his book <em>The Selfish Gene</em> some 35 years ago <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme1">[1]</a>, the premise has struck in my craw. I, like Dawkins, was trained as an evolutionary biologist. I understand the idea of the gene and its essential role as a vehicle for organic evolution. And, all of us clearly understand that “ideas” themselves have a certain competitive and adaptive nature. Some go viral; some run like wildfire and take prominence; and some go nowhere or fall on deaf ears. Culture and human communications and ideas play complementary — perhaps even dominant — roles in comparison to the biological information contained within DNA (genes).</p>
<p>I think there are two bases for why the “meme” idea sticks in my craw. The first harkens back to Dawkins. In formulating the concept of the “meme”, Dawkins falls into the trap of many professionals, what the French call <em><a href="http://en.wikipedia.org/wiki/D%C3%A9formation_professionnelle" title="D&#xE9;formation professionnelle">déformation professionnelle</a></em>. This is the idea of professionals framing problems from the confines of their own points of view. This is also known as the <a href="http://en.wikipedia.org/wiki/Law_of_the_instrument">Law of the Instrument</a>, or (<a href="http://en.wikipedia.org/wiki/Abraham_Maslow">Abraham) Maslow</a>‘s hammer, or what all of us know colloquially as “<em><a href="http://en.wiktionary.org/wiki/if_all_you_have_is_a_hammer,_everything_looks_like_a_nail">if all you have is a hammer, everything looks like a nail</a></em>“<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme2"> [2]</a>. Human or cultural information is not genetics.</p>
<p>The second — and more fundamental — basis for why this idea sticks in my craw is its mis-characterization of what is <em>adaptive information</em>, the title and theme of this blog. Sure, adaptive information can be found in the types of information structures at the basis of organic life and organic evolution. But, adaptive information is much, much more. Adaptive information is any structure that provides arrangements of energy and matter that maximizes entropy production. In inanimate terms, such structures include chemical chirality and proteins. It includes the bases for organic life, inheritance and organic evolution. For some life forms, it might include communications such as pheromones or bird or whale songs or the primitive use of tools or communicated behaviors such as nest building. For humans with their unique abilities to manipulate and communicate symbols, adaptive information embraces such structures as languages, books and technology artifacts. These structures don’t look or act like genes and are not replicators in any fashion of the term. To hammer them as “memes” significantly distorts their fundamental nature as information structures and glosses over what factors might — or might not — make them adaptive.</p>
<p>I have been thinking of these concepts much over the past few decades. Recently, though, there has been a spate of the “meme” term, particularly on the semantic Web mailing lists to which I subscribe. This spewing has caused me to outline some basic ideas about what I find so problematic in the use of the “meme” concept.</p>
<h3>A Brief Disquisition on Memes</h3>
<p>As defined by Dawkins and expanded upon by others, a “meme” is an idea, behavior or style that spreads from person to person within a culture. It is proposed as being able to be transmitted through writing, speech, gestures or rituals. Dawkins specifically called melodies, catch-phrases, fashion and the technology of building arches as examples of memes. A meme is postulated as a cultural analogue to genes in that they are assumed to be able to self-replicate, mutate or respond to selective pressures. Thus, as proposed, memes may evolve by natural selection in a manner analogous to that of biological evolution.</p>
<p>However, unlike a gene, a structure corresponding to a “meme” has never been discovered or observed. There is no evidence for it as a unit of replication, or indeed as any kind of coherent unit at all. In its sloppy use, it is hard to see how “meme” differs in its scope from concepts, ideas or any form of cultural information or transmission, yet it is imbued with properties analogous to animate evolution for which there is not a shred of empirical evidence.</p>
<p>One might say, so what, the idea of a “meme” is merely a metaphor, what is the harm? Well, the harm comes about when it is taken seriously as a means of explaining human behavior and cultural changes, a field of study called <a href="http://en.wikipedia.org/wiki/Memetics">memetics</a>. It becomes a pseudo-scientific term that sets a boundary condition for understanding the nature of information and what makes it adaptive or not <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme3">[3]</a>. Mechanisms and structures appropriate to animate life are not universal information structures, they are simply the structures that have evolved in the organic realm. In the human realm of signs and symbols and digital information and media, information is the universal, not the genetic structure of organic evolution.</p>
<p>The noted evolutionary geneticist, R.C. Lewontin, one of my key influences as a student, has also been harshly critical of the idea of memetics<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme4"> [4]</a>:</p>
<div class="boxGrayDotted"> ”The selectionist paradigm requires the reduction of society and culture to inheritance systems that consist of randomly varying, individual units, some of which are selected, and some not; and with society and culture thus reduced to inheritance systems, history can be reduced to ‘evolution.’ . . . we conclude that while historical phenomena can always be modeled selectionistically, selectionist explanations do not work, nor do they contribute anything new except a misleading vocabulary that anesthetizes history.”</div>
<p>Consistent with my recent writings about Charles S. Peirce <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme5">[5]</a>, many logicians and semiotic theorists are also critical of the idea of “memes”, but on different grounds. The criticism here is that “memes” distort Peirce’s ideas about signs and the reification of signs and symbols via a triadic nature. Notable in this camp is <a href="http://en.wikipedia.org/wiki/Terrence_Deacon" title="Terrence Deacon">Terrence Deacon</a> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme6">[6]</a>.</p>
<h3>Information is a First Principle</h3>
<p>It is not surprising that the concept of “memes” arose in the first place. It is understandable to seek universal principles consistent with natural laws and observations. The mechanism of natural evolution works on the information embodied in DNA, so why not look to genes as some form of universal model?</p>
<p>The problem here, I think, was to confuse mechanisms with first principles. Genes are a mechanism — a “structure” if you will — that along with other forms of natural selection such as the entire organism and even <a href="http://en.wikipedia.org/wiki/Kin_selection">kin selection</a><a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme7"> [7]</a>, have evolved as means of adaptation in the animate world. But the fundamental thing to be looked for here is the idea of information, not the mechanism of genes and how they replicate. The idea of information holds the key for drilling down to universal principles that may find commonality between information for humans in a cultural sense and information conveyed through natural evolution for life forms. It is the search for this commonality that has driven my professional interests for decades, spanning from population genetics and evolution to computers, information theory and semantics <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme8">[8]</a>.</p>
<p>But before we can tackle these connections head on, it is important to address a couple of important misconceptions (as I see them).</p>
<h4>Seque #1: Information is (Not!) Entropy</h4>
<p>In looking to information as a first principle, <a href="http://en.wikipedia.org/wiki/Claude_Shannon">Claude Shannon</a>‘s seminal work in 1948 on information theory must be taken as the essential point of departure <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme9">[9]</a>. The motivation of Shannon’s paper and work by others preceding him was to understand information losses in communication systems or networks. Much of the impetus for this came about because of issues in wartime communications and early ciphers and cryptography. (As a result, the Shannon paper is also intimately related to data patterns and data compression, not further discussed here.)</p>
<p>In a strict sense, Shannon’s paper was really talking about the amount of information that could be theoretically and <em>predictably</em> communicated between a sender and a receiver. No context or semantics were implied in this communication, only the amount of information (for which Shannon introduced the term “bits” <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme10">[10]</a>) and what might be subject to losses (or uncertainty in the accurate communication of the message). In this regard, what Shannon called “information” is what we would best term “data” in today’s parlance.</p>
<p>The form that the uncertainty (unpredictability) calculation that Shannon derived:</p>
<p style="padding-left: 30px;"><img alt=" \displaystyle H(X) = - \sum_{i=1}^np(x_i)\log_b p(x_i)" src="http://upload.wikimedia.org/wikipedia/en/math/8/7/e/87efdf0d38947240683250d3a24466e0.png"/></p>
<p>very much resembled the mathematical form for <a href="http://en.wikipedia.org/wiki/Ludwig_Boltzmann">Boltzmann</a>‘s original definition of entropy (as elaborated upon by <a href="http://en.wikipedia.org/wiki/J._Willard_Gibbs">Gibbs</a>, denoted as <em>S</em>, for <a href="http://en.wikipedia.org/wiki/Entropy_%28statistical_thermodynamics%29#Gibbs_Entropy_Formula"> Gibb’s entropy</a>):</p>
<dl>
<dd><img alt="S = - k_B \sum p_i \ln p_i \," src="http://upload.wikimedia.org/wikipedia/en/math/b/b/f/bbfbc6b205f58a1ba0315564799ef5d2.png"/></dd>
</dl>
<p>and thus Shannon also labelled his measure of unpredictability, <em>H</em>, as <em>entropy</em> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme10">[10]</a>.</p>
<p>After Shannon, and nearly a century after Boltzmann, work by individuals such as <a href="http://en.wikipedia.org/wiki/Edwin_Thompson_Jaynes">Jaynes</a> in the field of <a href="http://en.wikipedia.org/wiki/Statistical_mechanics">statistical mechanics</a> came to show that thermodynamic entropy can indeed be seen as an <em>application</em> of Shannon’s information theory, so there are close parallels <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme11">[11]</a>. This parallel of mathematical form and terminology has led many to assert that <em>information is entropy</em>.</p>
<p>I believe this assertion is a misconception on two grounds.</p>
<p>First, as noted, what is actually being measured here is data (or bits), not information embodying any semantic meaning or context. Thus, the formula and terminology is not accurate for discussing “information” in a conventional sense.</p>
<p>Second, the Shannon methods are based on the communication (transmittal) between a sender and a receiver. Thus the Shannon entropy measure is actually a measure of the uncertainty for either one of these states. The actual information that gets transmitted and predictably received was formulated by Shannon as <em>R</em> (which he called rate), and he expressed basically as:</p>
<p style="padding-left: 30px;"><big/><big/><em><span style="font-size: medium; font-family: times new roman,times;"><big> R = H<small/><small><sub>before</sub></small> – H<small/><small><sub>after</sub></small></big></span></em></p>
<p><em>R</em>, then, becomes a proxy for the amount of information accurately communicated. <em>R</em> can never be zero (because all communication systems have losses). <em>H<sub>before</sub></em> and <em>H<sub>after</sub></em> are both state functions for the message, so this also makes <em>R</em> a function of state. So while there is Shannon entropy (unpredictability) for any given sending or receiving state, the actual amount of information (that is, data) that is transmitted is a change in state as measured by a change in uncertainty between sender (<em>H</em><sub><em>before</em>)</sub> and receiver (<em>H<sub>after</sub></em>). In the words of Thomas Schneider, who provides a very clear discussion of this distinction<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme12"> [12]</a>:</p>
<p style="padding-left: 30px;"><strong>Information is always a measure of the decrease of uncertainty at a receiver.</strong></p>
<p>These points do not directly bear on the basis of information as discussed below, but help remove misunderstandings that might undercut those points. Further, these clarifications make consistent theoretical foundations of information (data) with natural evolution while being logically consistent with the <a href="http://en.wikipedia.org/wiki/Second_law_of_thermodynamics">2nd law of thermodynamics</a> (see next).</p>
<h4>Seque #2: Entropy is (Not!) Disorder</h4>
<p>The 2nd law of thermodynamics expresses the tendency that, over time, differences in temperature, pressure, or chemical potential equilibrate in an isolated physical system. <a href="http://en.wikipedia.org/wiki/Entropy">Entropy</a> is a measure of this equilibration: for a given physical system, the highest entropy state is one at equilibrium. Fluxes or gradients arise when there are differences in state potentials in these systems. (In physical systems, these are known as<em> sources</em> and <em>sinks</em>; in information theory, they are <em>sender</em> and <em>receiver</em>.) Fluxes go from low to high entropy, and are non-reversible — the “<a href="http://en.wikipedia.org/wiki/Arrow_of_time">arrow of time</a>” — without the addition of external energy. Heat, for example, is a by product of fluxes in thermal energy. Because these fluxes are directional in isolation, a perpetual motion machine is shown as impossible.</p>
<p>In a closed system (namely, the entire cosmos), one can see this gradient as spanning from order to disorder, with the equilibrium state being the random distribution of all things. This perspective, and much schooling regarding these concepts, tends to present the idea of entropy as a “disordered” state. Life is seen as the “ordered” state in this mindset. Hewing to this perspective, some prominent philosophers, scientists and others have sometimes tried to present the “force” representing life and “order” as an opposite one to entropy. One common term for this opposite “force” is “<a href="http://en.wikipedia.org/wiki/Negentropy">negentropy</a>” <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme13">[13]</a>.</p>
<p>But, in the real conditions common to our lives, our environment is distinctly open, not closed. We experience massive influxes of energy via sunlight, and have learned as well how to harness stored energy from eons past in further sources of fossil and nuclear energy. Our open world is indeed a high energy one, and one that increases that high-energy state as our knowledge leads us to exploit still further resources of higher and higher quality. As Buckminster Fuller once famously noted, electricity consumption (one of the highest quality energy resources found to date) has become a telling metric about the well-being and wealth of human societies<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme14"> [14]</a>.</p>
<p>The high-energy environments fostering life on earth and more recently human evolution establish a local (in a cosmic sense) gradient that promotes fluxes to more ordered states, not lesser unordered ones. These fluxes remain faithful to basic physical laws and are non-deterministic <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme15">[15]</a>. Indeed, such local gradients can themselves be seen as consistent with the conditions initially leading to life, favoring the random event in the early primordial soup that led to chemical structures such as chirality, auto-catalytic reactions, enzymes, and then proteins, which became the eventual building blocks for animate life <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme16">[16]</a>.</p>
<p>These events did not have preordained outcomes (that is, they were non-deterministic), but were the result of time and variation in the face of external energy inputs to favor the marginal combinatorial improvement. The favoring of the new marginal improvement also arises consistent with entropy principles, by giving a competitive edge to those structures that produce faster movements across the existing energy gradient. According to Annila and Annila <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme16">[16]</a>:</p>
<div class="boxGrayDotted">“According to the thermodynamics of open systems, every entity, simple or sophisticated, is considered as a catalyst to increase entropy,<em> i.e</em>., to diminish free energy. Catalysis calls for structures. Therefore, the spontaneous rise of structural diversity is inevitably biased toward functional complexity to attain and maintain high-entropy states.”</div>
<p>Via this analysis we see that life is not at odds with entropy, but is consistent with it. Further, we see that incremental improvements in structure that are consistent with the <a href="http://en.wikipedia.org/wiki/Law_of_maximum_entropy_production">maximum entropy production principle</a> will be favored <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme17">[17]</a>. Of course, absent the external inputs of energy, these gradients would reverse. Under those conditions, the 2nd law would promote a breakdown to a less ordered system, what most of us have been taught in schools.</p>
<p>With these understandings we can now see the dichotomy as life representing order with entropy disorder as being false. Further, we can see a guiding set of principles that is consistent across the broad span of evolution from primordial chemicals and enzymes to basic life and on to human knowledge and artifacts. This insight provides the fundamental “unit” we need to be looking toward, and not the gene nor the “meme”.</p>
<h3>Information is Structure</h3>
<p>Of course, the fundamental “unit” we are talking about here is information, and not limited as is Shannon’s concept to data. The quality that changes data to information is structure, and structure of a particular sort. Like all structure, there is order or patterns, often of a hierarchical or fractal or graph nature. But the real aspect of the structure that is important is the marginal ability of that structure to lead to improvements in entropy production. That is, processes are most adaptive (and therefore selected) that maximize entropy production. Any structure that emerges that is able to reduce the energy gradient faster will be favored.</p>
<p>However, remember, these are probabilistic, statistical processes. Uncertainties in state may favor one structure at one time versus another at a different time. The types of chemical compounds favored in the primordial soup were likely greatly influenced by thermal and light cycles and drying and wet conditions. In biological ecosystems, there are huge differences in seed or offspring production or in overall species diversity and ecological complexity based on the stability (say, tropics) or instability (say, disturbance) of local environments. As noted, these processes are inherently non-deterministic.</p>
<p>As we climb up the chain from the primordial ooze to life and then to humans and our many information mechanisms and technology artifacts (which are themselves embodiments of information), we see increasing complexity and structure. But we do not see uniformity of mechanisms or vehicles.</p>
<p>The general mechanisms of information transfer in living organisms occur (generally) via DNA in genes, mediated by sex in higher organisms, subject to random mutations, and then kept or lost entirely as their host organisms survive to procreate or not. Those are harsh conditions: the information survives or not (on a population basis) with high concentrations of information in DNA and with a priority placed on remixing for new combinations via sex. Information exchange (generally) only occurs at each generational event.</p>
<p>Human cultural information, however, is of an entirely different nature. Information can be made persistent, can be recorded and shared across individuals or generations, extended with new innovations like written language or digital computers, or combined in ways that defy the limits of sex. Occasionally, of course, loss of living languages due to certain cultures or populations dying out or horrendous catastrophes like the Spanish burning (nearly all of) the Mayan’s existing books can also occur <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme18">[18]</a>. The environment will also be uncertain.</p>
<p>So, while we can define DNA in genes or the ideas of a “meme” all as information, in fact we now see how very unlike the dynamics and structures of these two forms really are. We can be awestruck with the elegance and sublimity of organic evolution. We can also be inspired by song or poem or moved to action through ideals such as truth and justice. But organic evolution does not transpire like reading a book or hearing a sermon, just like human ideas and innovations don’t act like genes. The “meme” is a totally false analogy. The only constant is information.</p>
<h3>Some Tentative Implications</h3>
<p>The closer we come to finding true universals, the better we will be able to create maximum entropy producing structures. This, in turn, has some pretty profound implications. The insight that keys these implications begins with an understanding of the fundamental nature — and importance — of information. According to Karnani <em>et al</em><a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme19"> [19]</a>:</p>
<div class="boxGrayDotted">“. . . the common contemporary consent, the second law of thermodynamics, is perceived to drive disorder. Therefore, it may appear, at first sight, inconceivable that this universal law could possibly account for the existence and orderly characteristics of information, as well as for its meaningful content. However, the second law, or equivalently the principle of increasing entropy, merely states that difference among energy densities tends to vanish. When the surrounding energy density is high, the system will evolve toward a stationary state by increasing its energy content, <em>e.g</em>, by devising orderly machinery for energy transduction to acquire energy. . . . Syntax of information, when described by thermodynamics, is associated with the entropy of the physical representation, and significance of information is associated with the entropy increase in the receiver system when it executes the encoded information.”</div>
<p>All would agree that the evolution of life over the past few billion years is truly wondrous. But, what is equally wondrous is that the human species has come to learn and master symbols. That mastery, in turn, has broken the bounds of organic evolution and has put into our hands the very means and structure of information itself. Via this entirely new — and incredibly accelerated — path to information structures, we are only now beginning to see some of its implications:</p>
<ul>
<li>Unlike all other organisms, we dominate our environment and have experienced increasing wealth and freedom. Wealth increases and their universal applicability continue to increase at an exponential rate <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#meme20">[20]</a></li>
<li>We no longer depend on the random variant to maximize our entropy producing structures. We can now do so purposefully and with symbologies and bit streams of our own devising</li>
<li>Potentially all information variants can be recorded and shared across all human individuals and generations, a complete decoupling from organic boundaries</li>
<li>Key ideas and abstractions, such as truth, justice and equality, can operate on a species-wide basis and become adopted without massive die-offs of individuals</li>
<li>We are actively moving ourselves into higher-level energy states, further increasing the potential for wealth and new structures</li>
<li>We are actively impacting our local environment, potentially creating the conditions for our species’ demise</li>
<li>We are increasingly engaging all individuals of the human species in these endeavors through literacy, education and access to global information sources. This provides a still further multiplier effect on humanity’s ability to devise and manipulate information structures into more adaptive and highly-ordered states.</li>
</ul>
<p>The idea of a “meme” actually cheapens our understanding of these potentials.</p>
<p>Ideas matter and terminology matters. These are the symbols by which we define and communicate potentials. If we choose the wrong analogies or symbols — as “meme” is in this case — we are picking the option with the lower entropy potential. Whether I assert it to be so or not, the “meme” concept is an information structure doomed for extinction.</p>
<hr align="left" size="1" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme1"/>[1] Richard Dawkins, 1976. <em>The Selfish Gene</em>, Oxford University Press, New York City, ISBN 0-19-286092-5.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme2"/>[2] This phrase was perhaps first made famous by Mark Twain or Bernard Baruch, but in any case is clearly understood now by all.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme3"/>[3] According to Wikipedia, Benitez-Bribiesca calls memetics “a dangerous idea that poses a threat to the serious study of consciousness and cultural evolution”. He points to the lack of a coding structure analogous to the DNA of genes, and to instability of any mutation mechanisms for “memes” sufficient for standard evolution processes. See Luis Benitez Bribiesca, 2001. “Memetics: A Dangerous Idea”, <em>Interciencia: Revista de Ciencia y Technologia de América</em> (Venezuela: Asociación Interciencia) <strong>26</strong> (1): 29–31, January 2001. See <a href="http://redalyc.uaemex.mx/redalyc/pdf/339/33905206.pdf">http://redalyc.uaemex.mx/redalyc/pdf/339/33905206.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme4"/>[4] Joseph Fracchia and R.C. Lewontin, 2005. “The Price of Metaphor”, <em>History and Theory</em> (Wesleyan University) <strong>44</strong> (44): 14–29, February 2005.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme5"/>[5] See further M. K. Bergman, 2012. “Give Me a Sign: What Do Things Mean on the Semantic Web?,” posting on<em> AI3:::Adaptive Information</em> blog, January 24, 2012. See <a href="http://feeds.feedburner.com/../994/give-me-a-sign-what-do-things-mean-on-the-semantic-web/"> http://www.mkbergman.com/994/give-me-a-sign-what-do-things-mean-on-the-semantic-web/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme6"/>[6] Terrence Deacon, 1999. “The Trouble with Memes (and what to do about it)”. <em>The Semiotic Review of Books</em> 10(3). See <a href="http://projects.chass.utoronto.ca/semiotics/srb/10-3edit.html">http://projects.chass.utoronto.ca/semiotics/srb/10-3edit.html</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme7"/>[7] Kin selection refers to changes in gene frequency across generations that are driven at least in part by interactions between related individuals. Some mathematical models show how evolution may favor the reproductive success of an organism’s relatives, even at a cost to an individual organism. Under this mode, selection can occur at the level of populations and not the individual or the gene. Kin selection is often posed as the mechanism for the evolution of altruism or social insects. Among others, kin selection and inclusive fitness was popularized by <a href="http://en.wikipedia.org/wiki/W._D._Hamilton" title="W. D. Hamilton">W. D. Hamilton</a> and <a href="http://en.wikipedia.org/wiki/Robert_Trivers" title="Robert Trivers">Robert Trivers</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme8"/>[8] You may want to see my statement of purpose under the <a href="http://feeds.feedburner.com/../?page_id=3/" title="The Blogasb&#xF6;rd">Blogasbörd</a> topic, first written seven years ago when I started this blog.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme9"/>[9] Claude E. Shannon, 1948. “A Mathematical Theory of Communication”, <em>Bell System Technical Journal</em>, <strong>27</strong>: 379–423, 623-656, July, October, 1948. See <a href="http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf">http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme10"/>[10] As Shannon acknowledges in his paper, the “bit” term was actually suggested by J. W. Tukey. Shannon can be more accurately said to have popularized the term via his paper.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme11"/>[11] See further <a href="http://en.wikipedia.org/wiki/Information_entropy#Relationship_to_thermodynamic_entropy"> http://en.wikipedia.org/wiki/Information_entropy#Relationship_to_thermodynamic_entropy</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme12"/>[12] See Thomas D. Schneider, 2012. “Information Is Not Entropy, Information Is Not Uncertainty!,” Web page retrieved April 4, 2012; see <a href="http://www.lecb.ncifcrf.gov/%7Etoms/information.is.not.uncertainty.html"> http://www.lecb.ncifcrf.gov/~toms/information.is.not.uncertainty.html</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme13"/>[13] The “negative entropy” (also called negentropy or syntropy) of a living system is the entropy that it exports to keep its own entropy low, and according to proponents lies at the intersection of entropy and life. The concept and phrase “negative entropy” were introduced by Erwin Schrödinger in his 1944 popular-science book <em>What is Life?</em>. See Erwin Schrödinger, 1944. <em>What is Life – the Physical Aspect of the Living Cel</em>l, Cambridge University Press, 1944. A copy may be downloaded at <a href="http://old.biovip.com/UpLoadFiles/Aaron/Files/2005051204.pdf">http://old.biovip.com/UpLoadFiles/Aaron/Files/2005051204.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme14"/>[14] R. Buckminster Fuller, 1981. <em>Critical Path</em>, St. Martin’s Press, New York City, 471 pp. See especially p. 103 ff.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme15"/>[15] The seminal paper first presenting this argument is Vivek Sharma and Arto Annila, 2007. “Natural Process – Natural Selection”, <em>Biophysical Chemistry</em> <strong>127</strong>: 123-128. See <a href="http://www.helsinki.fi/%7Eaannila/arto/natprocess.pdf">http://www.helsinki.fi/~aannila/arto/natprocess.pdf</a>. This basic theme has been much expanded upon by Annila and his various co-authors. See, for example, [16] and [19], among <a href="http://www.helsinki.fi/%7Eaannila/arto/">many others</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme16"/>[16] Arto Annila and Erkki Annila, 2008. “Why Did Life Emerge?,” <em>International Journal of Astrobiology</em> <strong>7</strong>(3 and 4): 293-300. See <a href="http://www.helsinki.fi/%7Eaannila/arto/whylife.pdf">http://www.helsinki.fi/~aannila/arto/whylife.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme17"/>[17] According to <a href="http://en.wikipedia.org/wiki/Law_of_maximum_entropy_production">Wikipedia</a>, the principle (or “law”) of maximum entropy production is an aspect of non-equilibrium thermodynamics, a branch of thermodynamics that deals with systems that are not in thermodynamic equilibrium. Most systems found in nature are not in thermodynamic equilibrium and are subject to fluxes of matter and energy to and from other systems and to chemical reactions. One fundamental difference between equilibrium thermodynamics and non-equilibrium thermodynamics lies in the behavior of inhomogeneous systems, which require for their study knowledge of rates of reaction which are not considered in equilibrium thermodynamics of homogeneous systems. Another fundamental difference is the difficulty in defining entropy in macroscopic terms for systems not in thermodynamic equilibrium.</div>
<div style="margin: 10px 0pt; font-size: 90%;">The principle of <a href="http://en.wikipedia.org/wiki/Principle_of_maximum_entropy">maximum entropy production</a> states that the in comparing two or more alternate paths for crossing an energy gradient that the one that creates the maximum entropy change will be favored. The maximum entropy (sometimes abbreviated MaxEnt or MaxEp) concept is related to this notion. It is also known as the maximum entropy production principle, or MEPP.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme18"/>[18] The actual number of Mayan books burned by the Spanish conquistadors is unknown, but is somewhere between tens and thousands; see <a href="http://en.wikipedia.org/wiki/List_of_book_burning_incidents#Maya_sacred_books_.28by_Spanish_Bishop_of_Yucatan.29"> here</a>. Only three or four codexes are known to survive today. Also, Wikipedia contains a <a href="http://en.wikipedia.org/wiki/List_of_book_burning_incidents">listing of notable book burnings</a> throughout history.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme19"/>[19] Mahesh Karnani, Kimmo Pääkkönen and Arto Annila, 2009. “The Physical Character of Information,” <em>Proceedings of the Royal Society A</em>, April 27, 2009. See <a href="http://www.helsinki.fi/%7Eaannila/arto/natinfo.pdf">http://www.helsinki.fi/~aannila/arto/natinfo.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="meme20"/>[20] I discuss and chart the exponential growth of human wealth based on Angus Maddison data in M. K. Bergman, 2006. “The Biggest Disruption in History: Massively Accelerated Growth Since the Industrial Revolution,” post in <em>AI3:::Adaptive Information</em> blog, July 27, 2006. See <a href="http://feeds.feedburner.com/../250/the-biggest-disruption-in-history-massively-accelerated-growth-since-the-industrial-revolution/"> http://www.mkbergman.com/250/the-biggest-disruption-in-history-massively-accelerated-growth-since-the-industrial-revolution/</a>.</div>
 <img height="1" src="http://www.mkbergman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1004" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/d93ygwhdGfc" width="1"/></div>
    </content>
    <updated>2012-04-04T17:50:52Z</updated>
    <category term="Adaptive Information"/>
    <category term="Semantic Web"/>
    <category term="Structured Web"/>
    <category term="#semweb"/>
    <category term="adaptive information"/>
    <category term="meme"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/1004/the-trouble-with-memes/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2012-05-03T07:50:04Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>https://sourceforge.net/apps/wordpress/squin/?p=206</id>
    <link href="http://sourceforge.net/apps/wordpress/squin/2012/04/01/report-from-edbticdt-2012-with-a-focus-on-rdf-and-sparql/" rel="alternate" type="text/html"/>
    <title>Report from EDBT/ICDT 2012 (with a focus on RDF and SPARQL)</title>
    <summary>This week I attended the EDBT/ICDT 2012 Joint Conference which took place at the main building of our university in the city center of Berlin. I was very pleased to see that people are slowing beginning to recognize (distributed) RDF data and SPARQL as interesting database research topics, beyond the attitude of assuming that 40 [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>This week I attended the <a href="http://edbticdt2012.dima.tu-berlin.de/">EDBT/ICDT 2012 Joint Conference</a> which took place at the main building of our <a href="http://www.hu-berlin.de">university</a> in the city center of Berlin. I was very pleased to see that people are slowing beginning to recognize (distributed) RDF data and SPARQL as interesting database research topics, beyond the attitude of assuming that 40 years of work on relational data management can trivially be adapted for all Semantic Web data management problems. Four papers were particularly interesting in the context of answering SPARQL queries over multiple (and potentially distributed) RDF datasets. In what follows, I briefly summarize these works.</p>
<p>The most interesting paper was Fabian Prasser et al.’s <a href="http://www.edbt.org/Proceedings/2012-Berlin/papers/edbt/a40-prasser.pdf">“Efficient Distributed Query Processing for Autonomous RDF Databases”</a>. The authors adapt the idea of data summaries for Linked Data (as introduced by <a href="http://portal.acm.org/citation.cfm?id=1772733">Andreas Harth et al.</a>) to a federated setting. Hence, while Andreas and his colleagues focused on queries over RDF data accessible via a Linked Data interface (i.e. URI lookups), Fabian’s work may be used for distributed query processing over a federation of SPARQL endpoints (similar to <a href="http://www.fluidops.com/download/FedX">FedX</a>, <a href="http://ceur-ws.org/Vol-782/GoerlitzAndStaab_COLD2011.pdf">SPLENDID</a>, and <a href="http://iswc2011.semanticweb.org/fileadmin/iswc/Papers/Research_Paper/03/70310017.pdf">ANAPSID</a>). In a nutshell, the idea is that a query mediator system holds a global index that <em>summarizes</em> the data from all federation members. For any incoming query the mediator uses this index to i) identify members that might contribute results to any particular part of the query, ii) to decide on which of these partial results are guaranteed to be irrelevant for the overall query result (and, thus, can be ignored for query planning), and iii) to select a suitable join order for the distributed (sub)query execution. Fabian’s paper introduces some clever techniques for pruning irrelevant subqueries during query planning and for reducing the number of irrelevant join candidates during query execution. As a result, less data must be transferred for query execution and, thus, overall query execution times decrease. A main downside of Fabian’s approach is the need to access all data of all federation members for constructing the global data summary; this requirement is hardly satisfiable for truly autonomous data sources on the Web. Furthermore, the approach is unsuitable if the data changes. At least the latter issue is mentioned as future work in the paper. Furthermore, it would be interesting to see how the approach compares to the approaches implemented in other SPARQL federation systems (such as those that I mentioned before).</p>
<p>The other relevant EDBT paper was Petros Tsialiamanis et al.’s <a href="http://www.edbt.org/Proceedings/2012-Berlin/papers/edbt/a22-tsialiamanis.pdf">“Heuristic based Query Optimisation for SPARQL”</a>. This paper focuses on generating efficient query execution plans for SPARQL queries over a single RDF dataset. However, instead of proposing another cost-based strategy the authors introduce a heuristics-based approach that does not need any information (such as statistics) about the queried data. As a result, the approach is well-suited for the use case of querying a frequently updated collection of Linked Data copied from the Web (for which generating statistics and keeping them up-to-date may easily become infeasible).</p>
<p>At the EDBT demo session I discovered the <a href="http://www.dblab.ntua.gr/~bikakis/SPARQL-RW.html">SPARQL-RW Framework</a> (see <a href="http://www.edbt.org/Proceedings/2012-Berlin/papers/edbt/a59-makris.pdf">“SPARQL-RW: Transparent Query Access over Mapped RDF Data Sources”</a> by Konstantinos Makris et al.). This system was able to transparently answer SPARQL queries over two RDF datasets, each of which used a different vocabulary. This functionality was achieved by rewriting the queries using a set of (schema level) mapping rules. The system only supported a global as view rewriting strategy.</p>
<p>Finally, the last day of the conference was reserved for workshops, which included the <a href="http://pamir.dia.uniroma3.it:8080/LWDM2012/">2nd Int. Workshop on Linked Web Data Management (LWDM 2012)</a> and the <a href="http://danac.dima.tu-berlin.de/">Workshop on Data Analytics in the Cloud (DanaC)</a>. In the latter I attended Zoi Kaoudi’s talk on <a href="http://www.edbt.org/Proceedings/2012-Berlin/papers/workshops/danac2012/a4-bugiotti.pdf">“RDF Data Management in the Amazon Cloud”</a>. Zoi and her colleagues studied several approaches for indexing multiple RDF datasets in Amazon’s SimpleDB in order to use such an index for deciding which of the datasets may be relevant for a given SPARQL query.</p>
<p>In addition to these four RDF and SPARQL related papers there was a lot of other interesting work presented at the conference. I recommend checking out the <a href="http://www.edbt.org/Proceedings/2012-Berlin/">conference proceedings</a>; there’s also <a href="http://edbticdt2012.dima.tu-berlin.de/program/video/">videos of the keynotes</a> which you may want to watch.</p>
<p style="text-align: right;">Olaf</p></div>
    </content>
    <updated>2012-04-01T07:18:50Z</updated>
    <category term="Conference/Event Reports"/>
    <category term="conference"/>
    <category term="EDBT"/>
    <category term="index"/>
    <category term="optimization"/>
    <category term="query distribution"/>
    <category term="query federation"/>
    <category term="RDF"/>
    <category term="report"/>
    <category term="SPARQL"/>
    <author>
      <name>Olaf Hartig</name>
    </author>
    <source>
      <id>http://sourceforge.net/apps/wordpress/squin</id>
      <link href="http://sourceforge.net/apps/wordpress/squin/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://sourceforge.net/apps/wordpress/squin" rel="alternate" type="text/html"/>
      <subtitle>Posts about the SQUIN Query Interface for the Web of Data</subtitle>
      <title>SourceForge.net: Project squin</title>
      <updated>2012-05-07T15:50:08Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=1002</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/bmXehHYc0UM/" rel="alternate" type="text/html"/>
    <title>Tortured Terminology and Problematic Prescriptions</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=Tortured Terminology and Problematic Prescriptions&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-03-27&amp;rft.identifier=http://www.mkbergman.com/1002/tortured-terminology-and-problematic-prescriptions/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Linked Data&amp;rft.subject=Semantic Web"/>
Casting My Vote on Revising httpRange-14 The httpRange-14 issue and its predecessor “identity crisis” debate have been active for more than a decade on the Web [1]. It has been around so long that most acknowledge “fatigue” and it has acquired that rarified status as a permathread. Many want to throw up their hands when [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=Tortured Terminology and Problematic Prescriptions&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-03-27&amp;rft.identifier=http://www.mkbergman.com/1002/tortured-terminology-and-problematic-prescriptions/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Linked Data&amp;rft.subject=Semantic Web"/>
<h2><img align="left" alt="W3C Logo from http://www.w3.org/Icons/w3c_home" height="48" hspace="10" src="http://www.w3.org/Icons/w3c_home" title="World Wide Web Consortium Logo - Fair Use" width="72"/>Casting My Vote on Revising httpRange-14</h2>
<p>The <a href="http://en.wikipedia.org/wiki/HttpRange-14">httpRange-14</a> issue and its predecessor “identity crisis” debate have been active for more than a decade on the Web <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#http1">[1]</a>. It has been around so long that most acknowledge “fatigue” and it has acquired that rarified status as a <a href="http://en.wiktionary.org/wiki/permathread">permathread</a>. Many want to throw up their hands when they hear of it again and some feel — because of its duration and lack of resolution — that there never will be closure on the question. Yet everyone continues to argue and then everyone wonders why actual consumption of linked data remains so problematic.</p>
<p>Jonathan Rees is to be thanked for refusing to let this sleeping dog lie. This issue is not going to go away so long as its basis and existing prescriptions are, in essence, incoherent. As a member of the W3C’s TAG (<a href="http://www.w3.org/2001/tag/">Technical Architecture Group</a>), Rees has worked diligently to re-surface and re-frame the discussion. While I don’t agree with some of the specifics and especially with the constrained approach proposed for resolving this question <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#http2">[2]</a>, the sleeping dog has indeed been poked and is awake. For that we can thank Jonathan. Maybe now we can get it right and move on.</p>
<p>I don’t agree with how this issue has been re-framed and I don’t agree that responses to it must be constrained to the prescriptive approach specified in the TAG’s <a href="http://lists.w3.org/Archives/Public/semantic-web/2012Feb/0190.html">call for comments</a>. Yet, that being said, as someone who has been vocal for years about the poor semantics of the semantic Web community, I feel I have an obligation to comment on this official call.</p>
<p>Thus, I am casting my vote behind David Booth’s alternative proposal <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#http3">[3]</a>, with one major caveat. I first explain the caveat and then my reasons for supporting Booth’s proposal. I have chosen not to submit a separate alternative in order to not add further to the noise, as Bernard Vatant (and, I’m sure, many, many others) has chosen<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#http4"> [4]</a>.</p>
<h3>Bury the Notion of ‘Information Resource’ Once and for All</h3>
<p>I first commented on the absurdity of the ‘information resource’ terminology about five years ago <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#http5">[5]</a>. Going back to Claude Shannon <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#http6">[6]</a> we have come to understand information as entropy (or, more precisely, as differences in energy state). One need not get that theoretical to see that this terminology is confusing. “Information resource” is a term that defies understanding (meaning) or precision. It is also a distinction that leads to a natural counter-distinction, the “non-information resource”, which is also an imprecise absurdity.</p>
<p>What the confusing term is meant to encompass is <em>web-accessible content</em> (“documents”), as opposed to <em>descriptions</em> of (or statements about) things. This distinction then triggers a different understanding of a URI (locator <em>v</em> identifier alone) and different treatments of how to process and interpret that URI. But the term is so vague and easily misinterpreted that all of the guidance behind the machinery to be followed gets muddied, too. Even in the current chapter of the debate, key interlocutors confuse and disagree as to whether a book is an “information resource” or not. If we can’t basically separate the black balls from the white balls, how are we to know what to do with them?</p>
<p>If there must be a distinction, it should be based on the idea of the actual <em>content</em> of a thing — or perhaps more precisely <em>web-accessible content</em> or <em>web-retrievable content</em> — as opposed to the <em>description</em> of a thing. If there is a need to name this class of content things (a position that David Booth prefers, <em>pers. comm.</em>), then let’s use one of these more relevant terms and drop “information resource” (and its associated IR and NIR acronyms) entirely.</p>
<p>The motivation behind the “information resource” terminology also appears to be a desire that somehow a URI alone can convey the name of what a thing is or what it means. I recently tried to blow this notion to smithereens by using Peirce’s discussion of signs <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#http1">[1]</a>. We should understand that naming and meaning may only be provided by the owner of a URI through additional explication, and then through what is understood by the recipient; the string of the URI itself conveys very little (or no) meaning in any semantic sense.</p>
<p>We should ban the notion of “information resource” forever. If the first exposure a potential new publisher or consumer of linked data encounters is “information resource”, we have immediately lost the game. Unresolvable abstractions lead to incomprehension and confusion.</p>
<p>The approach taken by the TAG in requesting new comments on httpRange-14 only compounds this problem. First, the guidance is to not allow any questioning of the “information resource” terminology within the prescribed comment framework <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#http7">[7]</a>. Then, in the suggested framework for response, still further terminology such as “probe URIs”, “URI documentation carrier” or “nominal URI documentation carrier for a URI” is introduced. Aaaaarggghh! This only furthers the labored and artificial terminology common to this particular standards effort.</p>
<p>While Booth’s proposal does not call for an outright rejection of the “information resource” terminology (my one major qualification in supporting it), I like it because it purposefully sidesteps the question of the need to define “information resource” (see his Section 2.7). Booth’s proposal is also explicit in its rejection of implied meaning in URIs and through embrace of the idea of a protocol. Remember, all that is being put forward in any of these proposals is a mechanism for distinguishing between retrievable content obtainable at a given URL and a description of something found at a URI. By racheting down the implied intent, Booth’s proposal is more consistent with the purpose of the guidance and is not guilty of overreach.</p>
<h3>Keep It Simple</h3>
<p>One of the real strengths of Booth’s proposal is its rejection of the prescriptive method proposed by the TAG for suggesting an alternative to httpRange-14<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#http7"> [7]</a>. The parsimonious objective should be to be simple, be clear, and be somewhat relaxed in terms of mechanisms and prescriptions. I believe use patterns — negotiated via adoption between publishers and consumers — will tell us over time what the “right” solutions may be.</p>
<p>Amongst the proposals put forward so far, David Booth’s is the most “neutral” with respect to imposed meanings or mechanisms, and is the simplest. Though I quibble in some respects, I offer qualified support for his alternative because it:</p>
<ul>
<li>Sidesteps the “information resource” definition (though weaker than I would want; see above)</li>
<li>Addresses only the specific HTTP and HTTPS cases</li>
<li>Avoids the constrained response format suggested by the TAG</li>
<li>Explicitly rejects assigning innate meanings to URIs</li>
<li>Poses the solution as a <em>protocol </em> (an understanding between publisher and consumer) rather than defining or establishing a <em>meaning</em> via naming</li>
<li>Provides multiple “cow paths” by which resource definitions can be conveyed, which gives publishers and consumers choice and offers the best chance for more well-trodden paths to emerge</li>
<li>Does not call for an outright repeal of the httpRange-14 rule, but retains it as one of multiple options for URI owners to describe resources</li>
<li>Permits the use of an HTTP 200 response with RDF content as a means of conveying a URI definition</li>
<li>Retains the use of the hash URI as an option</li>
<li>Provides alternatives to those who can not easily (or at all) use the 303 see also redirect mechanism, and</li>
<li>Simplifies the language and the presentation.</li>
</ul>
<p>I would wholeheartedly support this approach were two things to be added: 1) the complete abandonment of all “information resource” terminology; and 2) an official demotion of the httpRange-14 rule (replacing it with a slash 303 option on equal footing to other options), including a disavowal of the “information resource” terminology. I suspect if the TAG adopts this option, that subsequent scrutiny and input might address these issues and improve its clarity even further.</p>
<p>There are other alternatives submitted, prominently the one by Jeni Tennison with many co-signatories<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#http8"> [8]</a>. This one, too, embraces multiple options and cow paths. However, it has the disadvantage of embedding itself into the same flawed terminology and structure as offered by httpRange-14.</p>
<hr align="left" size="1" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="http1"/>[1] For my recent discussion about the history of these issues, see M.K. Bergman, 2012. “Give Me a Sign: What Do Things Mean on the Semantic Web?,” in <em>AI3:::Adaptive Information</em> blog, January 24, 2012; see <a href="http://feeds.feedburner.com/../994/give-me-a-sign-what-do-things-mean-on-the-semantic-web/"> http://www.mkbergman.com/994/give-me-a-sign-what-do-things-mean-on-the-semantic-web/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="http2"/>[2] In all fairness, this call was the result of <a href="http://www.w3.org/2001/tag/group/track/issues/57">ISSUE-57</a>, which had its own constraints. Not knowing all of the background that led to the httpRange-14 Pandora’s Box being opened again, the benefit of the doubt would be that the form and approach prescribed by the TAG dictated the current approach. In any event, now that the Box is open, all pertinent issues should be addressed and the form of the final resolution should also not be constrained from what makes best sense and is most pragmatic.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="http3"/>[3] <a href="http://dbooth.org/">David Booth</a>‘s alternative proposal is for the “<a href="http://www.w3.org/wiki/UriDefinitionDiscoveryProtocol">URI Definition and Discovery Protocol</a>” (uddp). The actual submission according to form is found<a href="http://www.w3.org/wiki/Change_Proposal_UriDefinitionDiscoveryProtocol"> here</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="http4"/>[4] See Bernard Vatant, 2012. “<a href="http://blog.hubjects.com/2012/03/beyond-httprange-14-addiction.html">Beyond httpRange-14 Addiction</a>,”<em> the wheel and the hub</em> blog, March 27, 2012. See <a href="http://blog.hubjects.com/2012/03/beyond-httprange-14-addiction.html">http://blog.hubjects.com/2012/03/beyond-httprange-14-addiction.html</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="http5"/>[5] M.K. Bergman, 2007. “More Structure, More Terminology and (hopefully) More Clarity,” in <em>AI3:::Adaptive Information</em> blog, July 27, 2007; see <a href="http://feeds.feedburner.com/../391/more-structure-more-terminology-and-hopefully-more-clarity/"> http://www.mkbergman.com/391/more-structure-more-terminology-and-hopefully-more-clarity/</a>. Subsequent to that piece, I have written further on semantic Web semantics in “<a href="http://feeds.feedburner.com/../413/the-semantic-web-and-industry-standards/" title="Permanent Link to The Semantic Web and Industry Standards">The Semantic Web and Industry Standards</a>” (January 26, 2008), ” “<a href="http://feeds.feedburner.com/../437/semantic-web-semantics-arcane-but-important/" title="Permanent Link to Semantic Web Semantics: Arcane, but Important">The Shaky Semantics of the Semantic Web” (March 12, 2008), “Semantic Web Semantics: Arcane, but Important</a>,” (April 8, 2008), “<a title="Permanent Link to The Semantics of &lt;em&gt;Context&#x201D; href=&#x201D;../440/the-semantics-of-context/&#x201D;&gt;The Semantics of &lt;em&gt;Context&lt;/em&gt;&lt;/a&gt;,&#x201D; (May 6, 2008), &#x201C;&lt;a title="><em>Context” href=”../440/the-semantics-of-context/”&gt;The Semantics of <em>Context</em></em></a><em>,” (May 6, 2008), “<a href="http://feeds.feedburner.com/../846/when-linked-data-rules-fail/" title="Permanent Link to When Linked Data Rules Fail">When Linked Data Rules Fail</a>” (November 16, 2009), “<a href="http://feeds.feedburner.com/../923/the-semantic-gap/" title="Permanent Link to The Semantic &#x2018;Gap&#x2019;">The Semantic ‘Gap’</a>” (October 24, 2010) and <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#http1">[1]</a>.</em></div><em>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="http6"/>[6] Claude E. Shannon, 1948. “A Mathematical Theory of Communication,” <em>Bell System Technical Journal</em>, Vol. 27, pp. 379–423, 623–656, 1948.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="http7"/>[7] In the “<a href="http://www.w3.org/2001/tag/doc/uddp/change-proposal-call.html">Call for proposals to amend the “httpRange-14 resolution</a>” (February 29, 2012), Jonathan Rees (presumably on behalf of the TAG), stated this as one of the rules of engagement: “9. Kindly avoid arguing in the change proposals over the terminology that is used in the baseline document. Please use the terminology that it uses. If necessary discuss terminology questions on the list as document issues independent of the 303 question.” The specific <a href="http://www.w3.org/wiki/HTML/ChangeProposalTemplate">template form</a>for alternative proposals was also prescribed. In response to interactions on this question on the mailing list, Jonathan stated:<p/>
<div class="boxGrayDotted">
<div>If it were up to me I’d purge “information resource” from the document, since I don’t want to argue about what it means, and strengthen the (a) clause to be about content or instantiation or something. But the document had to reflect the status quo, not things as I would have liked them to be.</div>
<div style="margin-top: 10px;">I have not submitted this as a change proposal because it doesn’t address ISSUE-57, but it is impossible to address ISSUE-57 with a 200-related change unless this issue is addressed, as you say, head on. This is what I’ve written in my TAG F2F preparation materials.</div>
</div>
</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="http8"/>[8] Jeni Tennison, 2012. “httpRange-14 Change Proposal,” submitted March 25, 2012. See the <a href="http://lists.w3.org/Archives/Public/public-lod/2012Mar/0182.html">mailing list notice</a> and <a href="https://docs.google.com/document/d/1ognNNOIcghga9ltQdoi-CvbNS8q-dOzJjhMutJ7_vZo/edit"> actual proposal</a>.</div>
 <img height="1" src="http://www.mkbergman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1002" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/bmXehHYc0UM" width="1"/></em></div>
    </content>
    <updated>2012-03-27T23:45:27Z</updated>
    <category term="Linked Data"/>
    <category term="Semantic Web"/>
    <category term="#linkeddata"/>
    <category term="#semweb"/>
    <category term="httpRange-14"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/1002/tortured-terminology-and-problematic-prescriptions/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2012-05-03T07:50:04Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.dbpedia.org/2012/03/22/dbpedia-spotlight-has-been-selected-for-google-summer-of-code-please-apply-now/</id>
    <link href="http://blog.dbpedia.org/2012/03/22/dbpedia-spotlight-has-been-selected-for-google-summer-of-code-please-apply-now/" rel="alternate" type="text/html"/>
    <title>DBpedia Spotlight has been selected for Google Summer of Code. Please apply now!</title>
    <summary>The Google Summer of Code (GSoC) is a global program that offers student developers (BSc,MSc,PhD) stipends to write code for open source software projects. It has had thousands of participants since the first edition in 2005, connecting prospective students with mentors from open source communities such as Debian, KDE, Gnome, Apache Software Foundation, Mozilla, etc.
For [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The <a href="http://code.google.com/soc/">Google Summer of Code</a> (GSoC) is a global program that offers student developers (BSc,MSc,PhD) stipends to write code for open source software projects. It has had thousands of participants since the first edition in 2005, connecting prospective students with mentors from open source communities such as Debian, KDE, Gnome, Apache Software Foundation, Mozilla, etc.</p>
<p>For the students, it is a great chance to get real-world software development experience. For the open source communities, it is a chance to expand their development community. For everybody else, more source code is created and released for the benefit of all!</p>
<p>We are thrilled to announce that our open source project <a href="http://spotlight.dbpedia.org/">DBpedia Spotlight</a> has been selected for the <a href="http://www.google-melange.com/gsoc/org/google/gsoc2012/dbpediaspotlight">Google Summer of Code 2012</a>.</p>
<p>We are now seeking students interested in working with us to enhance operational aspects of DBpedia Spotlight, as well as to engage in research activities in collaboration with our team. If you are an energetic developer, passionate for open source and interested in areas related to DBpedia Spotlight, please get in touch with us!</p>
<p>We have shared <a href="http://wiki.dbpedia.org/spotlight/gsoc2012/ideas">a number of project ideas</a> to get you started.</p>
<p>To apply, visit: <a href="http://www.google-melange.com/gsoc/org/google/gsoc2012/dbpediaspotlight">http://www.google-melange.com/gsoc/org/google/gsoc2012/dbpediaspotlight</a></p>
<p>If you would like to see DBpedia Spotlight in action, helping you to explore available projects within GSoC 2012, please visit our demonstration page at: <a href="http://spotlight.dbpedia.org/gsoc/">http://spotlight.dbpedia.org/gsoc/</a></p>
<p><br class="clear"/></p></div>
    </content>
    <updated>2012-03-22T12:18:41Z</updated>
    <category term="NLP"/>
    <category term="Open Positions"/>
    <category term="Events"/>
    <author>
      <name>ChrisBizer</name>
    </author>
    <source>
      <id>http://blog.dbpedia.org</id>
      <link href="http://blog.dbpedia.org" rel="alternate" type="text/html"/>
      <link href="http://blog.dbpedia.org/feed/rss2" rel="self" type="application/rss+xml"/>
      <subtitle>Querying Wikipedia like a Database.</subtitle>
      <title>DBpedia</title>
      <updated>2012-03-22T12:18:41Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=1000</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/QYRUQByliDA/" rel="alternate" type="text/html"/>
    <title>TechWiki Gets 400th Document</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=TechWiki Gets 400th Document&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-03-14&amp;rft.identifier=http://www.mkbergman.com/1000/techwiki-gets-400th-document/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Structured Dynamics"/>
Phenomenal Growth in Less than Two Years Today, for the first time, we passed 400 articles published on the open semantic framework (OSF) TechWiki. The TechWiki content is a baseline “starter kit” of documentation related to these OSF  projects and their contexts: conStruct – connecting modules to enable structWSF and sComponents to be hosted/embedded in [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=TechWiki Gets 400th Document&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-03-14&amp;rft.identifier=http://www.mkbergman.com/1000/techwiki-gets-400th-document/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Structured Dynamics"/>
<h2><a href="http://openstructs.org/"><img align="left" alt="Open Semantic Framework" height="90" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/2010Posts/triple_90.png" style="margin-right: 10px;" title="Open Semantic Framework" width="90"/></a>Phenomenal Growth in Less than Two Years</h2>
<p>Today, for the first time, we passed 400 articles published on the <a href="http://openstructs.org/">open semantic framework</a> (OSF) TechWiki. The <a href="http://techwiki.openstructs.org/index.php/About_TechWiki">TechWiki</a> content is a baseline “starter kit” of documentation related to these OSF  projects and their contexts:</p>
<ul>
<li><a href="http://openstructs.org/construct" rel="nofollow">conStruct</a> – connecting modules to enable structWSF and sComponents to be hosted/embedded in Drupal</li>
<li><a href="http://openstructs.org/structwsf" rel="nofollow">structWSF</a> – platform-independent suite of more than 20 RESTful Web services, organized for managing structured data datasets</li>
<li><a href="http://openstructs.org/semantic-components" rel="nofollow">Semantic Components</a> – JavaScript or Flex semantic components (widgets) for visualizing and manipulating structured data</li>
<li><a href="http://openstructs.org/iron" rel="nofollow">irON</a> – instance record Object Notation for conveying XML, JSON or spreadsheets (CSV) in RDF-ready form, and</li>
<li>Various parsers and standard data exchange formats and schema to facilitate information flow amongst these options.</li>
</ul>
<p>The TechWiki covers all aspects of this open source OSF software stack. Besides the specific components developed and maintained by <a href="http://structureddynamics.com">Structured Dynamics</a> as listed above, the OSF stack combines many leading third-party software packages — such as <a href="http://drupal.org/">Drupal</a> for content management, <a href="http://www.openlinksw.com/virtuoso/">Virtuoso</a> for (RDF) triple storage, <a href="http://lucene.apache.org/solr/">Solr</a> for full-text indexing, <a href="http://en.wikipedia.org/wiki/General_Architecture_for_Text_Engineering">GATE</a> for natural language processing, the <a href="http://owlapi.sourceforge.net/" title="OWL API">OWL API</a> for ontology management, and others.</p>
<p>The TechWiki is the one-stop resource for how to install, configure, use and maintain these components. The <a href="http://techwiki.openstructs.org/index.php/A_Basic_Guide_to_Content">best entry point</a> to the OSF content on the TechWiki is represented by this <a href="http://techwiki.openstructs.org/index.php/A_Basic_Guide_to_Content">entry page</a> covering overall workflows in use of the system:</p>
<p><a href="http://techwiki.openstructs.org/images/f/f7/OSF_workflow.png"><img alt="OSF Work Flows" class="center_ok" height="254" src="http://techwiki.openstructs.org/images/thumb/f/f7/OSF_workflow.png/400px-OSF_workflow.png" title="OSF Work Flows" width="400"/></a>Since our first release of the TechWiki in July 2010, we have been publishing and releasing content steadily. We post a new article about every 1.5 calendar days, or about one per working day. This content is well-organized into (at present) 72 categories and is supported by nearly 500 figures and diagrams. Users are free to<a href="http://techwiki.openstructs.org/index.php/Exporting_and_Using_Wiki_Content" title="Exporting and Using Wiki Content"> download and use this content</a> at will, solely by providing <a href="http://techwiki.openstructs.org/index.php/TechWiki:Copyrights" title="TechWiki:Copyrights">attribution</a>. The content has proven to be a goldmine for local use and modification by our clients, and for training and curriculum development.</p>
<p>The TechWiki represents a part of our commitment that we are successful when our customers no longer need us. As one of our most popular Web sites with fantastic and growing user stats, we invite you to visit and see what it means to provide open source semantic technologies as a<em><a href="http://www.mkbergman.com/882/listening-to-the-enterprise-total-open-solutions-part-1/" title="Total Open Solution"> total open solution</a></em>.</p>
 <img height="1" src="http://www.mkbergman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1000" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/QYRUQByliDA" width="1"/></div>
    </content>
    <updated>2012-03-15T00:05:58Z</updated>
    <category term="Open Semantic Framework"/>
    <category term="Structured Dynamics"/>
    <category term="#semanticweb"/>
    <category term="osf"/>
    <category term="structWSF"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/1000/techwiki-gets-400th-document/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2012-05-03T07:50:04Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2012/02/27/new-mapping-semantic-component-in-javascript/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/3WXEylXfRVw/" rel="alternate" type="text/html"/>
    <title>New Mapping Semantic Component In JavaScript</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=New Mapping Semantic Component In JavaScript&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Citizen DAN&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Components&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2012-02-27&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2012/02/27/new-mapping-semantic-component-in-javascript/&amp;rft.language=English"/>
  I am please to announce the release of the new sWebMap Semantic Component in JavaScript. This new mapping component is a standalone JavaScript application that can be integrated on any new or existing web sites and that interact with an Open Semantic Framework (OSF) instance to search, browse, filter and display with geographically-located information [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=New Mapping Semantic Component In JavaScript&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Citizen DAN&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Components&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2012-02-27&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2012/02/27/new-mapping-semantic-component-in-javascript/&amp;rft.language=English"/>
<p> </p>
<table>
<tbody>
<tr>
<td>I am please to announce the release of the new <a title="">sWebMap </a>Semantic Component in JavaScript. This new mapping component is a standalone JavaScript application that can be integrated on any new or existing web sites and that interact with an <a title="">Open Semantic Framework</a> (OSF) instance to search, browse, filter and display with geographically-located information on an interactive map.</td>
<td><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzAyL29sZC13b3JsZC1tYXAuanBn"><img alt="" class="aligncenter  wp-image-1921" height="188" src="http://fgiasson.com/blog/wp-content/uploads/2012/02/old-world-map.jpg" title="old-world-map with markers" width="245"/></a></td>
</tr>
</tbody>
</table>
<h3>Features</h3>
<p>The sWebMap is a rich mapping tool that can easily be integrated on any webpage, and that can be extensively customized. The sWebMap does support these features:</p>
<ul>
<li>Full text search for searching and displaying results on a map</li>
<li>Extensive filtering capabilities</li>
<ul>
<li>Filtering by dataset source</li>
<li>Filtering by type</li>
<li>Filtering by attribute/value</li>
<li>Filtering of records that belongs to a specific geographic region</li>
</ul>
<li>Display of record on the map using:</li>
<ul>
<li>Different markers depending on the type of record to display (determined by the ontologies)</li>
<li>Polygon shapes for records that refers to a geographic region</li>
<li>Polyline shapes for records that refers to a geographically-located path</li>
</ul>
<li>Templating of records in a resultset depending on their type</li>
<li>Templating of records’ preview, displayed in an overlay window, depending on their type</li>
<li>Persist records on the map accros searches and filtering operations</li>
<li>Supports map sessions</li>
<ul>
<li>Save map sessions</li>
<li>Load saved map sessions</li>
<li>Delete saved map sessions</li>
<li>Share saved map sessions</li>
</ul>
<li>Supports a multiple-maps mode</li>
<ul>
<li>Three focus maps are available under the main map</li>
<li>Each map focus on a particular region of the main map</li>
<li>User can switch between focus map to see different records in different region</li>
</ul>
</ul>
<p> </p>
<h3>Normal Mode</h3>
<p>Here is what the default sWebMap, in normal mode, using a few datasets related to the city of Iowa looks like. <a title="">You can also interact with this sWebMap instance directly on the Citizen DAN demo website here</a>.</p>
<p style="text-align: center;"><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzAyL3N3ZWJtYXAuanBn"/></p><div class="aligncenter" style="margin: 10px; overflow: hidden; display: table; line-height: 0; text-align: center; width: 450px;"><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzAyL3N3ZWJtYXAuanBn"><img alt="" class=" size-full wp-image-1922 shadow_curl" height="406" src="http://fgiasson.com/blog/wp-content/uploads/2012/02/swebmap.jpg" style="padding: 0 !important; margin: 0 !important;" title="sWebMap - Normal Mode" width="450"/><br/><img class="shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></a></div><p/>
<h3>Multiple Windows Mode</h3>
<p>Here is what the default sWebMap, in multiple windows mode, using a few datasets related to the city of Iowa looks like. <a title="">You can also interact with this sWebMap instance directly on the Citizen DAN demo website here</a>.</p>
<p> </p>
<p style="text-align: center;"><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzAyL3N3ZWJtYXAtbXVsdGkuanBn"/></p><div class="aligncenter" style="margin: 10px; overflow: hidden; display: table; line-height: 0; text-align: center; width: 450px;"><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzAyL3N3ZWJtYXAtbXVsdGkuanBn"><img alt="" class=" size-full wp-image-1923 shadow_curl" height="557" src="http://fgiasson.com/blog/wp-content/uploads/2012/02/swebmap-multi.jpg" style="padding: 0 !important; margin: 0 !important;" title="sWebMap Multiple Maps Mode" width="450"/><br/><img class="shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></a></div><p/>
<p> </p>
<h3>Under the Hood: The Open Semantic Framework</h3>
<p>Each sWebMap component communicates with an OSF (Open Semantic Framework) instance. More specifically, a sWebMap component will send Search/Filtering queries to a <a title="">geo-enabled structWSF Search web service endpoint</a>.</p>
<p>Depending on the options you had specified when you created the sWebMap control, each time you move (option), zoom (option) or change the filtering criterias, this will send a query to the Search endpoint. The sWebMap control then requests JSON formatted resultset and display the results to the user.</p>
<p>This means that to implement the sWebMap component on your website, you will need to have:</p>
<ul>
<li>a running structWSF instance</li>
<li>some datasets that have geo-localized information</li>
<li><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RlY2h3aWtpLm9wZW5zdHJ1Y3RzLm9yZy9pbmRleC5waHAvU1dlYk1hcCNTY2hlbWFz">properly defined records and ontologies classes</a></li>
</ul>
<h3>Download</h3>
<p>You can immediately download the entire code source from this GitHub reposiroty:</p>
<p style="text-align: center;"><a title=""><img alt="" class="aligncenter  wp-image-1893" height="186" src="http://fgiasson.com/blog/wp-content/uploads/2012/01/download.png" title="download" width="307"/></a></p>
<h3>Installation</h3>
<p>Installing the sWebMap component is really easy. In fact, you only have to load a few JavaScript and CSS files, to defined a <code>&lt;div&gt;&lt;/div&gt;</code> container for the map, and to create a sWebMap component object, which is a single line of code.</p>
<p>Additionally, you can initialize the sWebMap component with one of the multiple <a title="">options available</a>.</p>
<p>Refer you to the <a title="">Usage section of the sWebMap component</a> to know exactly how to install and setup a sWebMap component instance.</p>
<h3>Resources</h3>
<p>Here are some additional resources related to the sWebMap component:</p>
<ul>
<li><a title="">sWebMap complete documentation</a></li>
<li><a title="">sWebMap user manual</a></li>
<li><a title="">OSF Installer</a> (install the Open Semantic Framework to feed your sWebMap component)</li>
<li><a title="">sWebMap Demo (normal mode)</a></li>
<li><a title="">sWebMap Demo (multiple windows mode)</a></li>
</ul>
<p> </p>
 <img height="1" src="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1920" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/3WXEylXfRVw" width="1"/></div>
    </content>
    <updated>2012-02-27T18:16:18Z</updated>
    <category term="Citizen DAN"/>
    <category term="Open Semantic Framework"/>
    <category term="Semantic Components"/>
    <category term="Semantic Web"/>
    <category term="Structured Dynamics"/>
    <category term="structWSF"/>
    <category term="#map"/>
    <category term="#osf"/>
    <category term="#semantic components"/>
    <category term="#semantic web"/>
    <category term="#structwsf"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2012/02/27/new-mapping-semantic-component-in-javascript/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-03-30T00:56:29Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=997</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/Pu8wLoTeYzc/" rel="alternate" type="text/html"/>
    <title>OSF Gains Powerful, New Mapping Component</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=OSF Gains Powerful, New Mapping Component&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-02-27&amp;rft.identifier=http://www.mkbergman.com/997/osf-gains-powerful-new-mapping-component/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Open Source&amp;rft.subject=Semantic Web Tools"/>
Ontology-driven Application Meshes Structured Data with Public APIs Locational information — points of interest/POIs, paths/routes/polylines, or polygons/regions — is common to many physical things in our real world. Because of its pervasiveness, it is important to have flexible and powerful display widgets that can respond to geo-locational data. We have been working for some time [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=OSF Gains Powerful, New Mapping Component&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-02-27&amp;rft.identifier=http://www.mkbergman.com/997/osf-gains-powerful-new-mapping-component/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Open Source&amp;rft.subject=Semantic Web Tools"/>
<h2><a href="http://openstructs.org"><img align="left" alt="Open Semantic Framework" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2010Posts/triple_90.png" style="border: 0px solid; width: 90px; height: 90px; float: left; margin-right: 10px;" title="Open Semantic Framework"/></a>Ontology-driven Application Meshes Structured Data with Public APIs</h2>
<p>Locational information — points of interest/POIs, paths/routes/polylines, or polygons/regions — is common to many physical things in our real world. Because of its pervasiveness, it is important to have flexible and powerful display widgets that can respond to geo-locational data. We have been working for some time to extend our family of <a href="http://techwiki.openstructs.org/index.php/Category:Semantic_Component"> semantic components</a> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#webmap_1">[1]</a> within the <a href="http://openstructs.org/open-semantic-framework">open semantic framework</a> (OSF) <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#webmap_2">[2]</a> to encompass just such capabilities. <a href="http://structureddynamics.com/">Structured Dynamics</a> is thus pleased to announce that we have now added the sWebMap component, which marries the entire suite of <a href="http://code.google.com/apis/maps/documentation/javascript/">Google Map API</a> capabilities to the structured data management arising from the <a href="http://techwiki.openstructs.org/index.php/StructWSF">structWSF</a> Web services framework<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#webmap_3"> [3]</a> at the core of OSF.</p>
<p>The sWebMap component is fully in keeping with our design premise of <em>ontology-driven applications</em>, or ODapps<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#webmap_4"> [4]</a>. The sWebMap component can itself be embedded in flexible layouts — using Drupal in our examples below — and can be very flexibly themed and configured. sWebMap we believe will rapidly move to the head of the class as the newest member of Structured Dynamics’ open source semantic components.</p>
<p>The absolutely cool thing about sWebMap is it just works. All one needs to do is relate it to a geo-enabled Search structWSF endpoint, and then all of the structured data with geo-locational attributes and its facets and structure becomes automagically available to the mapping widget. From there you can flexible map, display, configure, filter, select and keep those selections persistent and share with others. As new structured data is added to your system, that data too becomes automatically available.</p>
<h3>Key Further Links</h3>
<p>Though screen shots in the operation of this component are provided below, here are some further links to learn more:</p>
<ul>
<li><a href="http://demo.citizen-dan.org/webmap">Live demo</a> of the sWebMap component on the Citizen Dan sandbox</li>
<li>An explanation of some of the <a href="http://techwiki.openstructs.org/index.php/SWebMap">technical details</a> behind the sWebMap component</li>
<li><a href="http://techwiki.openstructs.org/index.php/How_to_Use_the_WebMap">sWebMap</a> documentation on the TechWiki, including <a href="http://techwiki.openstructs.org/index.php/SWebMap">configuration</a> and <a href="http://techwiki.openstructs.org/index.php/Styling_Semantic_Components"> styling</a> options</li>
<li>General background information on <a href="http://techwiki.openstructs.org/index.php/Ontology-driven_Applications"> ODApps</a>, ontology-driven applications.</li>
</ul>
<h3>sWebMap Overview</h3>
<p>There is considerable functionality in the sWebMap widget, not all immediately obvious when you first view it.</p>
<div class="boxYellowDotted"><strong>NOTE:</strong> a wide variety of configuration options — icons and colors — matched with the specific data and base tiling maps appropriate to a given installation may produce maps of significantly different aspect from the screenshots presented below. Click on any screenshot to get a full-size view.</div>
<p>Here is an example for sWebMap when it first comes up, using an example for the “Beaumont neighborhood”:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_start.jpg"> <img alt="Starting WebMap Screen" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_start.jpg" style="border: 0px solid; width: 600px; height: 742px;" title="Starting WebMap Screen"/>views</a></div>
<p>It is possible to set pre-selected items for any map display. That was done in this case, which shows the pre-selected items and region highlighted on the map and in the records listing (lower left below map).</p>
<p>The basic layout of the map has its main search options at the top, followed by the map itself and then two panels underneath:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_panels.jpg"> <img alt="Main Display Panels" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_panels.jpg" style="border: 0px solid; width: 600px; height: 742px;" title="Main Display Panels"/></a></div>
<p>The left-hand panel underneath the map presents the results listing. The right-hand panel presents the various filter options by which these results are generated. The filter options consist of:</p>
<ul>
<li>Sources – the datasets available to the instance</li>
<li>Kinds – the kinds or types of data (owl:Classes or rdf:types) contained within those datasets, and</li>
<li>Attributes – the specific attributes and their values for those kinds or sources.</li>
</ul>
<p>As selections are made in sources or kinds, the subsequent choices narrow.</p>
<p>The layout below shows the key controls available on the sWebMap:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_main.jpg"> <img alt="Main Map Controls" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_main.jpg" style="border: 0px solid; width: 600px; height: 742px;" title="Main Map Controls"/></a></div>
<p>You can go directly to an affiliated page by clicking the upper right icon. This area often shows a help button or other guide. The search box below that enables you to search for any available data in the system. If there is information that can be mapped AND which occurs within the viewport of the current map size, those results will appear as one of three geographic feature types on the map:</p>
<ul>
<li>Markers, which can be configured with differing icons for specific types or kinds of data</li>
<li>Polylines, such as highways or bus routes, or</li>
<li>Polygons, which enclose specific regions on the map through a series of drawn points in a closed area.</li>
</ul>
<p>At the map’s right is the standard map control that allows you to scroll the map area or zoom. Like regular Google maps, you can zoom (+ or – keys, or middle wheel on mouse) or navigate (arrow direction keys, or left mouse down and move) the map.</p>
<p>Current records are shown below the map. Specific records may be selected with its checkbox; this keeps them persistent on the map and in the record listing no matter what the active filter conditions may be. (You may also see a little drawing icon [<img alt="Update record" src="http://openstructs.org/sites/openstructs.org/modules/conStruct/modules/structUpdate/imgs/overlays.png" title="Update record"/>], which presents an attribute report — similar to a Wikipedia ‘<a href="http://en.wikipedia.org/wiki/Help:Infobox">infobox</a>‘ — for the current record). You can see in this case that the selected record also corresponds to a region (polygon) shape on the map.</p>
<h3>sWebMap Views, Layers and Layouts</h3>
<p>In the map area itself, it is possible to also get different map views by selecting one of the upper right choices. In this case, we can see a satellite view (or “layer”):</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_satellite.jpg"> <img alt="Satellite Map Layer" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_satellite.jpg" style="border: 0px solid; width: 600px; height: 409px;" title="Satellite Map Layer"/></a></div>
<p>Or, we can choose to see a terrain layer:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_terrain.jpg"> <img alt="Terrain Map Layer" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_terrain.jpg" style="border: 0px solid; width: 600px; height: 413px;" title="Terrain Map Layer"/></a></div>
<p>Or there may optionally be other layers or views available in this same section.</p>
<p>Another option that appears on the map is the ability to get a street view of the map. That is done by grabbing the person icon at the map left and dragging it to where you are interested within the map viewport. That also causes the street portion to be highlighted, with street view photos displayed (if they exist for that location):</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_street_view.jpg"> <img alt="Street View Control" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_street_view.jpg" style="border: 0px solid; width: 600px; height: 367px;" title="Street View Control"/></a></div>
<p>By clicking the person icon again, you then shift into walking view:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_walk_view.jpg"> <img alt="Walking View of the Street View Control" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_walk_view.jpg" style="border: 0px solid; width: 600px; height: 361px;" title="Walking View of the Street View Control"/></a></div>
<p>Via the mouse, you can now navigate up and down these streets and change perspective to get a visual feel for the area.</p>
<h4>Multi-map View</h4>
<p>Another option you may invoke is the multi-map view of the sWebMap. In this case, the map viewing area expands to include three sub-maps under the main map area. Each sub-map is color-coded and shown as a rectangle on the main map. (This particular example is displaying assessment parcels for the sample instance.) These rectangles can be moved on the main map, in which case their sub-map displays also move:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_multi_layout.jpg"> <img alt="Multi-map Layout" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_multi_layout.jpg" style="border: 0px solid; width: 600px; height: 986px;" title="Multi-map Layout"/></a></div>
<p>You must re-size using the sub-map (which then causes the rectangle size to change on the main map). You may also pan the sub-maps (which then causes the rectangle to move on the main map). The results list at the lower left is determined by which of the three sub-maps is selected (as indicated by the heavier bottom border). </p>
<h3>Searching and Filter Selections</h3>
<p>There are two ways to get filter selection details for your current map: <strong>Show All Records</strong> or <strong>Search</strong>.</p>
<div class="boxGreenDotted"><strong>NOTE:</strong> for all data and attributes as described below, only what is visible on the current map view is shown under counts or records. Counts and records change as you move the map around.</div>
<p>In the first case, we pick the <strong>Show All Records</strong> option at the bottom of the map view, which then brings up the detailed filter selections in the lower-right panel:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_showallrecordswithregion.jpg"> <img alt="Filter Selections with Show All Records" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_showallrecordswithregion.jpg" style="border: 0px solid; width: 600px; height: 437px;" title="Filter Selections with Show All Records"/></a></div>
<p>Here are some tips for using the left-hand records listing:</p>
<ul>
<li>If there are more than 10 records, pagination appears at the bottom of the listing</li>
<li>Each record is denoted by an icon for the kind of thing it is (bus stops <em>v</em> schools <em>v</em> golf courses, for example)</li>
<li>If we mouse over a given record in the listing, its marker icon on the map bounces to show where it resides</li>
<li>To the right of each record listing, the checkbox indicates whether you want the record to be maintained persistently. If you check it, the icon on the map changes color, the record is promoted to the top of the list where it becomes sticky and is given an alphabetic sequence. Unchecking this box undoes all of these changes</li>
<li>To the right of each record listing is also the view record [<img alt="View raw attributes for the record" src="http://openstructs.org/sites/openstructs.org/modules/conStruct/modules/structUpdate/imgs/overlays.png" title="View raw attributes for the record"/>] icon; clicking it shows the raw attribute data for that record.</li>
</ul>
<p>The records that actually appear on this listing are based on the records scope or Search (see below) conditions, as altered by the filter settings on the right-hand listing under the sWebMap. For example, if we now remove the neighborhood record as being persistent and <strong>Show included records</strong> we now get items across the entire map viewport:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_showincludedrecordsnoregion.jpg"> <img alt="Filter Selections with Show All Records" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_showincludedrecordsnoregion.jpg" style="border: 0px solid; width: 600px; height: 417px;" title="Filter Selections with Show All Records"/></a></div>
<p><strong>Search</strong> works in a similar fashion, in that it invokes the filter display with the same left- and right-hand listings appear under the sWebMap, only now only for those records that met the search conditions. (The allowable <a href="http://lucene.apache.org/core/old_versioned_docs/versions/3_5_0/queryparsersyntax.html">search syntax</a> is that for Lucene.) Here is the result of a search, in this case for “school”:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_attribute_selection.jpg"> <img alt="Working with the Filter Selections" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_attribute_selection.jpg" style="border: 0px solid; width: 600px; height: 324px;" title="Working with the Filter Selections"/></a></div>
<p>As shown above, the right-hand panel is split into three sections: <em>Sources</em> (or datasets), <em>Kinds</em> (that is, similar types of things, such as bus stops <em>v</em> schools <em>v</em> golf courses), and <em>Attributes</em> (that is, characteristics for these various types of things). All selection possibilities are supported by auto-select.</p>
<p><em>Sources</em> and <em>Kinds</em> are selected via checkbox. (The default state when none are checked is to show all.) As more of these items are selected, the records listing in the left-hand panel gets smaller. Also, the counts of available items [as shown by the (<em>XX</em>) number at the end of each item] are also changed as filters are added or subtracted by adding or removing checkboxes.</p>
<p>Applying filters to <em>Attributes</em> works a little differently. <em>Attributes</em> filters are selected by selecting the magnifier plus [<img alt="Filter by attribute" src="http://techwiki.openstructs.org/images/4/48/Magnifier_zoom_in.png" title="Filter by attribute"/>] icon, which then brings up a filter selection at the top of the listing underneath the <em>Attributes</em> header.</p>
<p>The specific values and their counts (for the current selection population) is then shown; you may pick one or more items. Once done, you may pick another attribute to add to the filter list, and continue the filtering process.</p>
<h3>Saving and Sharing Your Filters</h3>
<p>sWebMaps have a useful way to save and share their active filter selections. At any point as you work with a sWebMap, you can save all of its current settings and configurations — viewport area, filter selections, and persistent records — via some simple steps.</p>
<p>You initiate this functionality by choosing the <strong>save</strong> button at the upper right of the map panel:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_session.jpg"> <img alt="Saving a Map Session" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_session.jpg" style="border: 0px solid; width: 600px; height: 223px;" title="Saving a Map Session"/></a></div>
<p>When that option is invoked, it brings up a dialog where you are able to name the current session, and provide whatever explanatory notes you think might be helpful.</p>
<div class="boxGreenDotted"><strong>NOTE:</strong> the naming and access to these saved sessions is local to your own use only, unless you choose to <strong>share</strong> the session with others; see below.</div>
<p>Once you have a saved session, you will then see a new control at the upper right of your map panel. This control is how you load any of your previously saved sessions:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_load.jpg"> <img alt="Loading a Map Session" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_load.jpg" style="border: 0px solid; width: 600px; height: 154px;" title="Loading a Map Session"/></a></div>
<p>Further, once you load a session, still further options are presented to you that enables you to either <strong>delete</strong> or <strong>share</strong> that session:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_share.jpg"> <img alt="Additional Options with Loaded Sessions" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_share.jpg" style="border: 0px solid; width: 600px; height: 201px;" title="Additional Options with Loaded Sessions"/></a></div>
<p>If you choose to <strong>share</strong> a session, a shortened URI is generated automatically for you:</p>
<div style="margin: auto auto 15px; width: 600px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_share_link.jpg"> <img alt="Sharing a Map Session" class="center" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120227_webmap_share_link.jpg" style="border: 0px solid; width: 600px; height: 216px;" title="Sharing a Map Session"/></a></div>
<p>If you then provide that URI link to another user, that user can then click on that link and see the map in the exact same state — viewport area, filter selections, and persistent records — as you initially saved. If the recipient then <strong>saves</strong> this session, it will now also be available persistently for his or her local use and changes.</p>
<div class="boxGreenDotted"><strong>NOTE:</strong> two users may interactively work together by sharing, saving and then modifying maps that they share again with their collaborator.</div>
<hr align="left" size="1" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="webmap_1"/>[1] A <a href="http://openstructs.org/semantic-components">semantic components</a> is a JavaScript or Flex component or widget that takes record descriptions and <a href="http://techwiki.openstructs.org/index.php/Instance_Record_and_Object_Notation_%28irON%29_Specification#SUB-PART_1:_irXML_PROFILE" title="Instance Record and Object Notation (irON) Specification">irXML</a> schema as input, and then outputs interactive visualizations of those records. Depending on the logic described in the input schema and the input record descriptions, the semantic component may behave differently or provide presentation options to users. Each semantic component delivers a very focused set of functionality or visualization. Multiple components may be combined on the same canvas for more complicated displays and controls. At present, there are 12 individual semantic widgets in the available open source suite; see further the <a href="http://techwiki.openstructs.org/index.php/Category:Semantic_Component"> sComponent category</a> on the TechWiki. By convention, all of the individual widgets in the semantic component suite are named with an ‘s’ prefix; hence, <em>sWebMap</em>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="webmap_2"/>[2] The <a href="http://techwiki.openstructs.org/index.php/Open_Semantic_Framework">open semantic framework</a>, or OSF, is a combination of a layered architecture and an open-source, modular software stack. The stack combines many leading third-party software packages — such as <a href="http://drupal.org/" rel="nofollow">Drupal</a> for content management, <a href="http://www.openlinksw.com/virtuoso/" rel="nofollow">Virtuoso</a> for (RDF) triple storage, <a href="http://lucene.apache.org/solr/" rel="nofollow">Solr</a> for full-text indexing, <a href="http://en.wikipedia.org/wiki/General_Architecture_for_Text_Engineering" rel="nofollow">GATE</a> for tagging and natural language processing, the <a href="http://owlapi.sourceforge.net/" rel="nofollow">OWL2 API</a> for ontology management and support, and others. These third-party tools are extended with open source developments from Structured Dynamics including <a href="http://openstructs.org/structwsf" rel="nofollow">structWSF</a> (a RESTful Web services layer of about a dozen modules for interacting with the underlying data and data engines), <a href="http://openstructs.org/construct" rel="nofollow">conStruct</a> (a series of Drupal modules that tie Drupal to the structWSF Web services layer), <a href="http://openstructs.org/scomponent" rel="nofollow">semantic components</a> (data display and manipulation widgets, mostly based either in Flash or JavaScript, for working with the semantic data), various parsers and standard data exchange formats and schema to facilitate information flow amongst these options, and a ontologies layer, that consists of both domain ontologies that capture the coherent concepts and relationships of the current problem space and of administrative ontologies that govern how the other software layers interact with this structure.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="webmap_3"/>[3] <a href="http://techwiki.openstructs.org/index.php/StructWSF">structWSF</a> is a platform-independent Web services framework for accessing and exposing structured RDF (Resource Description Framework) data. Its central organizing perspective is that of the dataset. These datasets contain instance records, with the structural relationships amongst the data and their attributes and concepts defined via ontologies (schema with accompanying vocabularies). The structWSF middleware framework is generally RESTful in design and is based on HTTP and Web protocols and open standards. The current structWSF framework has a baseline set of more than 20 Web services in CRUD, browse, search, tagging, ontology management, and export and import.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="webmap_4"/>[4] For the most comprehensive discussion of ODapps, see M. K. Bergman, 2011. ” <a href="http://feeds.feedburner.com/../948/ontology-driven-apps-using-generic-applications/" rel="bookmark" title="Permanent Link to Ontology-Driven Apps Using Generic Applications">Ontology-Driven Apps Using Generic Applications</a>,” posted on the<em> AI3:::Adaptive Information</em> blog, March 7, 2011. You may also search on that blog for ‘<a href="http://feeds.feedburner.com/../?s=%22ontology-driven%22">ODapps</a>‘ to see related content.</div>
 <img height="1" src="http://www.mkbergman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=997" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/Pu8wLoTeYzc" width="1"/></div>
    </content>
    <updated>2012-02-27T16:26:56Z</updated>
    <category term="Open Semantic Framework"/>
    <category term="Open Source"/>
    <category term="Semantic Web Tools"/>
    <category term="#longread"/>
    <category term="#semweb"/>
    <category term="mapping"/>
    <category term="ODapps"/>
    <category term="ontology-driven applications"/>
    <category term="osf"/>
    <category term="structured data"/>
    <category term="visualization"/>
    <category term="web service"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/997/osf-gains-powerful-new-mapping-component/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2012-04-05T15:50:03Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=996</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/yl9sZIaG6pI/" rel="alternate" type="text/html"/>
    <title>The Conditional Costs of Free</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=The Conditional Costs of Free&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-02-13&amp;rft.identifier=http://www.mkbergman.com/996/the-conditional-costs-of-free/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Blogs and Blogging&amp;rft.subject=Site-related"/>
Shun the Frumious Bandersnatch? The Web and open source have opened up a whole new world of opportunities and services. We can search the global information storehouse, connect with our friends and make new ones, form new communities, map where stuff is, and organize and display aspects of our lives and interests as never before. [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=The Conditional Costs of Free&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-02-13&amp;rft.identifier=http://www.mkbergman.com/996/the-conditional-costs-of-free/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Blogs and Blogging&amp;rft.subject=Site-related"/>
<h2><a><img align="left" alt="Bandersnatch image from Final Fantasy VII, Japanese version" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120213_bandersnatch.png" style="border: 0px solid; width: 180px; height: 143px; float: left; margin-right: 10px;" title="Bandersnatch image from Final Fantasy VII, Japanese version"/></a> Shun the Frumious Bandersnatch?</h2>
<p>The Web and open source have opened up a whole new world of opportunities and services. We can search the global information storehouse, connect with our friends and make new ones, form new communities, map where stuff is, and organize and display aspects of our lives and interests as never before. These advantages compound into still newer benefits via emergent properties such as social discovery or bookmarking, adding richness to our lives that heretofore had not existed.</p>
<p>And all of these benefits have come for free.</p>
<p>Of course, as our use and sophistication of the Web and open source have grown we have come to understand that the free provision of these services is rarely (ever?) unconditional. For search, our compact is to accept ads in return for results. For social networks, our compact is give up some privacy and control of our own identities. For open source, our compact is the acceptance of (generally) little or no support and often poor documentation.</p>
<p>We have come to understand this <em>quid pro quo</em> nature of free. Where the providers of these services tend to run into problems is when they change the terms of the compact. Google, for example, might change how its search results are determined or presented or how it displays its ads. Facebook might change its privacy or data capture policies. Or, OpenOffice or MySQL might be acquired by a new provider, Oracle, that changes existing distribution, support or community involvement procedures.</p>
<p>Sometimes changes may fit within the acceptable parameters of the compact. But, if such changes fundamentally alter the understood compact with the user community, users may howl or vote with their feet. Depending, the service provider may relent, the users may come to accept the new changes, or the user may indeed drop the service.</p>
<h3>The Hidden Costs of Dependence</h3>
<p>But there is another aspect of the use of free services, the implications of which have been largely unremarked. What happens if a service we have come to depend upon is no longer available?</p>
<p>Abandonment or changes in service may arise from bankruptcy or a firm being acquired by another. My favorite search service of a decade ago, <a href="http://en.wikipedia.org/wiki/AltaVista">AltaVista</a>, and <a href="http://en.wikipedia.org/wiki/Delicious_%28website%29">Delicious</a> are two prominent examples here. Existing services may be dropped by a provider or APIs removed or deprecated. For Google alone, examples include <a href="http://googleblog.blogspot.com/2011/11/more-spring-cleaning-out-of-season.html"> Wave and Gears</a>, <a href="http://googleblog.blogspot.com/2011/07/more-wood-behind-fewer-arrows.html"> Google Labs</a>, and <a href="http://googlecode.blogspot.com/2011/05/spring-cleaning-for-some-of-our-apis.html"> many</a>, <a href="http://googleblog.blogspot.com/2012/01/renewing-old-resolutions-for-new-year.html"> many</a> <a href="http://googleblog.blogspot.com/2011/10/fall-sweep.html">APIs</a>. (The howls around Google Translate actually caused it to be <a href="http://googlecode.blogspot.com/2011/05/spring-cleaning-for-some-of-our-apis.html"> restored</a>.) And existing services may be altered, such as moving from free to fee or having capabilities significantly modified. <a href="http://en.wikipedia.org/wiki/Ning_%28website%29">Ning</a> and <a href="http://en.wikipedia.org/wiki/Babbel">Babbel</a> are two examples here. There are literally thousands of examples of Web-based free services that have gone through such changes. Most have not seen widespread use, but have affected their users nonetheless.</p>
<p>There is nothing unique about free services in these regards. Ford was able to cease production of its Edsel and change the form factor of the Thunderbird despite some loyal fans. Sugar Pops morphed into a variety of breakfast cereal brands. Sony Betamax was beat out by VHS, which then lost out to CDs and now DVDs. My beloved Saabs are heading for the dustbin, or Chinese ownership.</p>
<p>In all of these cases, as consumers we have no guarantees about the permanence of the service or the infrastructure surrounding it. The provider is solely able to make these determinations. It is no different when the service or offering is free. It is the reality of the marketplace that causes such changes.</p>
<p>But, somehow, with free Web services, it is easy to overlook these realities. I offer a couple of personal case studies.</p>
<h3>Case Study #1: Site Search</h3>
<p>I have earlier described the <a href="http://feeds.feedburner.com/../966/five-iterations-of-site-search/">five different versions of site search</a> that I have gone through for this blog. The thing is, my current option, <a href="http://wordpress.org/extend/plugins/relevanssi/">Relevanssi</a>, is also a free plug-in. What is notable about this example, though, is the multiple attempts and (unanticipated) significant effort to discover, evaluate and then implement alternatives. Unfortunately, I rather suspect my current option may itself — because of the nature of free on the Web — need to be replaced at some time down the road.</p>
<h3>Case Study #2: FeedBurner</h3>
<p>Part of what caused me to abandon <a href="http://www.google.com/cse/">Google Custom Search</a> as one of the above search options was the requirement I serve ads on my blog to use it. So, when I <a href="http://feeds.feedburner.com/../877/unreluctantly-cutting-the-tether/">decided to eliminate ads</a> entirely in 2010 I not only gave up this search option, but I also lost some of the better tracking and analytics options also provided for free by Google. Fortunately, I had also adopted <a href="https://accounts.google.com/ServiceLogin?service=feedburner">FeedBurner</a> early in the life of this blog. It was also becoming increasingly clear that feed subscribers — in addition to direct site visitors — were becoming an essential metric for gauging traffic.</p>
<p>I thus had a replacement means for measuring traffic trends. Google (strange how it keeps showing up!) had purchased FeedBurner in 2007, and had made some nice site and feature improvements, including turning some <a href="http://en.wikipedia.org/wiki/FeedBurner">paid services into free</a>. The service was performing quite well, despite FeedBurner’s infamous knack to lose certain feed counts periodically. However, this performance broke last Summer when my site statistics indicated a massive drop in subscribers.</p>
<p>The figure below, courtesy of <a href="http://www.feedcompare.com/">Feed Compare</a>, shows the daily subscriber statistics for my <span style="color: #993300;"><strong>AI3</strong></span> blog for the past two years. The spikiness of the curve affirms the infamous statistics gaps of the service. The first part of the curve also shows nice, steady growth of readers, growing to more than 4000 by last Summer. Then, on August 16, there was a massive drop of 85% in my subscriber counts. I monitored this for a couple of days, thinking it was another temporary infamous event, then realized something more serious was afoot:</p>
<div style="margin: 10px 0px;"><img alt="Drop in Reported Feedburner Subscribers" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120213_feed_compare.png" style="border: 0px solid; width: 705px; height: 329px;" title="Drop in Reported Feedburner Subscribers"/></div>
<p>It was at this point I became active on the Google group for FeedBurner. Many others had noted the same service drop. (The major surmise is that FeedBurner now is having difficulty including Feedfetcher feeds, which is interesting because it is the feed of Google’s own Reader service, and the largest feed aggregation source on the Web.)</p>
<p>Over the ensuing months until last week I posted periodic notices to the official group seeking clarification as to the source of these errors and a fix to the service. In that period, no Google representative ever answered me, nor any of the numerous requests by others. I don’t believe there has been a single entry on any matter by Google staff for nearly the past year.</p>
<p>I made requests and inquiries no fewer than eight times over these months. True, Google had announced it was <a href="http://code.google.com/apis/feedburner/">deprecating the FeedBurner API</a> in May 2011, but, in that announcement, there was no indication that bug fixes or support to their own official group would cease. While it is completely within Google’s purview to do as it pleases, this behavior hardly lends itself to warm feelings by those using the service.</p>
<p>Finally, last week I dropped the FeedBurner stats and installed a replacement WordPress plugin service <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#free1">[1]</a>. It was clear no fixes were forthcoming and I needed to regain an understanding of my actual subscriber base. The counts you now see on this site use this new service; they show the continuation of this site’s historical growth trend.</p>
<h3>Is Google Becoming More Frumious?</h3>
<p>It is not surprising that in the prior discussions Google figures prominently. It is the largest provider of APIs and free services on the Web. But, even with its continuing services, I am seeing trends that disturb me in terms of what I thought the “compact” was with the company.</p>
<p>I’m not liking recent changes to Google’s bread and butter, search. While they are doing much to incorporate <a href="http://feeds.feedburner.com/../481/massive-muscle-on-the-abox-at-google/">more structure in their results</a>, which I applaud, they are also making ranking, formatting and presentation changes I do not. I am now spending at least us much of my search time on <a href="http://duckduckgo.com/">DuckDuckGo</a>, and have been mightily impressed with its cleanliness, quality and lack of ads in results.</p>
<p>I also do not like how all of my current service uses of Google are now being funneled into Google Plus. I am seeing an arrogance that Google knows what is best and wants to direct me to workflows and uses, reminiscent of the arrogance Microsoft came to assume at the height of its market share. How does that variant of Lord Acton’s dictum go? “<a href="http://en.wikipedia.org/wiki/John_Dalberg-Acton,_1st_Baron_Acton">Market share tends to corrupt, and absolute market share corrupts absolutely</a>.”</p>
<p>We are seeing Google’s shift to monetize extremely popular APIs such as Maps and Translate. My company, <a href="http://structureddynamics.com/">Structured Dynamics</a>, has utilized these services heavily for client work in the past. We now must find alternatives or cost the payment for these services into the ongoing economics of our customer installations. Of course, charging for these services is Google’s right, but it does change the equation and causes us to evaluate alternatives.</p>
<p>I fear that Google may be turning into a <a href="http://en.wikipedia.org/wiki/Jabberwocky">frumious Bandersnatch</a>. I’m not sure we will shun it, but we certainly are changing our views of the basis by which we engage or not with the company and its services. Once we shift from a basis of free, our expectations as to permanence and support change as well.</p>
<h3>Big Boys Don’t Cry</h3>
<p>This is not a diatribe against Google nor a woe is us. Us big kids have come to know that <a href="http://en.wikipedia.org/wiki/TANSTAAFL">there is no such thing as a free lunch</a>. But that message is getting reaffirmed now more strongly in the Web context.</p>
<p>There can be benefits from seeking, installing or adapting to new alternatives with different service profiles when dependent services are abandoned or deprecated. Learning always takes place. Accepting one’s own responsibility for desired services also leads to control and tailoring for specific needs. Early use of free services also educates about what is desired or not, which can lead to better implementation choices if and when direct responsibility is assumed.</p>
<p>But, in some areas, we are seeing services or uses of the Web that we should adopt only with care or even shun. Business opportunities that depend on third-party services or APIs are very risky. Strong reliance on single-provider service ecosystems adds fragility to dependence. Own systems should be designed to not depend too strongly on specific API providers and their unique features or parameters.</p>
<p>Free is not forever, and it is conditional. Substitutability is a good design practice to embrace.</p>
<hr align="left" size="1" style="margin: 15px 0px;" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="free1"/>[1] I may detail at a later time how this replacement service was set up.</div>
 <img height="1" src="http://www.mkbergman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=996" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/yl9sZIaG6pI" width="1"/></div>
    </content>
    <updated>2012-02-14T01:02:17Z</updated>
    <category term="Blogs and Blogging"/>
    <category term="Site-related"/>
    <category term="apis"/>
    <category term="Facebook"/>
    <category term="free services"/>
    <category term="Google"/>
    <category term="Open Source"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/996/the-conditional-costs-of-free/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2012-04-04T17:50:02Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=994</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/fUiaMTAZ81g/" rel="alternate" type="text/html"/>
    <title>Give Me a Sign: What Do Things Mean on the Semantic Web?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=Give Me a Sign: What Do Things Mean on the Semantic Web?&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-01-24&amp;rft.identifier=http://www.mkbergman.com/994/give-me-a-sign-what-do-things-mean-on-the-semantic-web/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Linked Data&amp;rft.subject=Semantic Web"/>
Coca-Cola, Toucans and Charles Sanders Peirce The crowning achievement of the semantc Web is the simple use of URIs to identify data. Further, if the URI identifier can resolve to a representation of that data, it now becomes an integral part of the HTTP access protocol of the Web while providing a unique identifier for [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=Give Me a Sign: What Do Things Mean on the Semantic Web?&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2012-01-24&amp;rft.identifier=http://www.mkbergman.com/994/give-me-a-sign-what-do-things-mean-on-the-semantic-web/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Linked Data&amp;rft.subject=Semantic Web"/>
<h2><a><img align="left" alt="The Triadic of Signs" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120116_triple-spiral-rdf.png" style="border: 0px solid; width: 260px; height: 240px; float: left; margin-right: 10px;" title="The Triadic of Signs"/></a>Coca-Cola, Toucans and Charles Sanders Peirce</h2>
<p>The crowning achievement of the <a href="http://en.wikipedia.org/wiki/Semantic_Web">semantc Web</a> is the simple use of <a href="http://en.wikipedia.org/wiki/Uniform_resource_identifier">URIs</a> to identify data. Further, if the URI identifier can resolve to a representation of that data, it now becomes an integral part of the <a href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol">HTTP</a> access protocol of the Web while providing a unique identifier for the data. These innovations provide the basis for distributed data at global scale, all accessible via Web devices such as browsers and smartphones that are now a ubiquitous part of our daily lives.</p>
<p>Yet, despite these profound and simple innovations, the semantic Web’s designers and early practitioners and advocates have been mired in a muddled, metaphysical argument of at least a decade over what these URIs mean, what they reference, and what their actual true identity is. These muddles about naming and identity, it might be argued, are due to computer scientists and programmers trying to grapple with issues more properly the domain of philosophers and linguists. But that would be unfair. For philosophers and linguists themselves have for centuries also grappled with these same conundrums <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad1">[1]</a>.</p>
<p>As I argue in this piece, part of the muddle results from attempting to do too much with URIs while another part results from not doing enough. I am also not trying to directly enter the fray of current standards deliberations. (Despite a decade of controversy, I optimistically believe that the messy process of argument and consensus building will work itself out <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad2">[2]</a>.) What I am trying to do in this piece, however, is to look to one of America’s pre-eminent philosophers and logicians, <a href="http://en.wikipedia.org/wiki/Charles_Sanders_Peirce">Charles Sanders Peirce</a> (pronounced “purse”), to inform how these controversies of naming, identity and meaning may be dissected and resolved.</p>
<h3>‘Identity Crisis’, httpRange-14, and Issue 57</h3>
<p>The Web began as a way to hyperlink between documents, generally Web pages expressed in the HTML markup language. These initial links were called <a href="http://en.wikipedia.org/wiki/Uniform_resource_locator">URLs</a> (uniform resource locators), and each pointed to various kinds of electronic resources (documents) that could be accessed and retrieved on the Web. These resources could be documents written in HTML or other encodings (PDFs, other electronic formats), images, streaming media like audio or videos, and the like <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad3">[3]</a>.</p>
<p>All was well and good until the idea of the semantic Web, which postulated that information about the real world — concepts, people and things — could also be referenced and made available for reasoning and discussion on the Web. With this idea, the scope of the Web was massively expanded from electronic resources that could be downloaded and accessed via the Web to now include virtually any topic of human discourse. The rub, of course, was that ideas such as abstract concepts or people or things could not be “dereferenced” nor downloaded from the Web.</p>
<p>One of the first things that needed to change was to define a broader concept of a URI “identifier” above the more limited concept of a URL “locator”, since many of these new things that could be referenced on the Web went beyond electronic resources that could be accessed and viewed <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad3">[3]</a>. But, since what the <em>referent</em> of the URI now actually might be became uncertain — was it a concept or a Web page that could be viewed or something else? — a number of commentators began to note this uncertainty as the “identity crisis” of the Web<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad4"> [4]</a>. The topic took on much fervor and metaphysical argument, such that by 2003, Sandro Hawke, a staffer of the standards-setting W3C (<a href="http://en.wikipedia.org/wiki/World_Wide_Web_Consortium">World Wide Web Consortium</a>), was able to say, “This is an old issue, and people are tired of it” <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad5">[5]</a>.</p>
<p>Yet, for many of the reasons described more fully below, the issue refused to go away. The Technical Architecture Group (<a href="http://www.w3.org/2001/tag/">TAG</a>) of the W3C took up the issue, under a rubric that came to be known as <em><a href="http://en.wikipedia.org/wiki/HttpRange-14">httpRange-14</a></em> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad6">[6]</a>. The issue was first raised in March 2002 by <a href="http://en.wikipedia.org/wiki/Tim_Berners-Lee">Tim Berners-Lee</a>, accepted for TAG deliberations in February 2003, with then a resolution offered in June 2005<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad7"> [7]</a>. (Refer to the original resolution and other information <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad6">[6]</a> to understand the nuances of this resolution, since particular commentary on that approach is not the focus of this article.) Suffice it to say here, however, that this resolution posited an entirely new distinction of Web content into “information resources” and “non-information resources”, and also recommended the use of the HTTP 303 redirect code for when agents requesting a URI should be directed to concepts versus viewable documents.</p>
<p>This “resolution” has been anything but. Not only can no one clearly distinguish these <em>de novo</em> classes of “information resources” <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad19">[19]</a>, but the whole approach felt arbitrary and kludgy.</p>
<p>Meanwhile, the confusions caused by the “identity crisis” and httpRange-14 continued to perpetuate themselves. In 2006, a major workshop on “Identity, Reference and the Web” (IRW 2006) was held in conjunction with the Web’s major WWW2006 conference in Edinburgh, Scotland, on May 23, 2006 <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad8">[8]</a>. The various presentations and its summary (by Harry Halpin) are very useful to understand these issues. What was starting to jell at this time was the understanding that the basis of identity and meaning on the Web posed new questions, and ones that philosophers, logicians and linguists needed to be consulted to help inform.</p>
<p>The fiat of the TAG’s 2005 resolution has failed to take hold. Over the ensuing years, various eruptions have occurred on mailing lists and within the TAG itself (now expressed as <a href="http://www.w3.org/2001/tag/group/track/issues/57">Issue 57</a>) to revisit these questions and bring the steps moving forward into some coherent new understanding. Though <a href="http://en.wikipedia.org/wiki/Linked_data">linked data</a> has been premised on best-practice implementation of these resolutions<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad9"> [9]</a>, and has been a qualified success, many (myself included) would claim that the extra steps and inefficiencies required from the TAG’s httpRange-14 guidance have been hindrances, not facilitators, of the uptake of linked data (or the semantic Web).</p>
<p>Today, despite the efforts of some to claim the issue closed, it is not. Issue 57 and the periodic bursts from notable semantic Web advocates such as Ian Davis <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad10">[10]</a>, Pat Hayes and Harry Halpin <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad11">[11]</a>, Ed Summers <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad12">[12]</a>, Xiaoshu Wang <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad13">[13]</a>, David Booth <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad14">[14]</a> and TAG members themselves, such as Larry Masinter <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad15">[15]</a> and Jonathan Rees <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad16">[16]</a>, point to continued irresolution and discontent within the advocate community. Issue 57 currently remains open. Meanwhile, I think, all of us interested in such matters can express concern that linked data, the semantic Web and interoperable structured data have seen less uptake than any of us had hoped or wanted over the past decade. As I have stated elsewhere, <a href="http://feeds.feedburner.com/../?p=426">unclear semantics</a> and <a href="http://feeds.feedburner.com/../923/the-semantic-gap/">muddled guidelines</a> help to undercut potential use.</p>
<p>As each of the eruptions over these identity issues has occurred, the competing camps have often been characterized as “talking past one another”; that is, not communicating in such a way as to help resolve to consensus. While it is hardly my position to do so, I try to encapsulate below the various positions and prejudices as I see them in this decades-long debate. I also try to share my own learning that may help inform some common ground. Forgive me if I overly simplify these vexing issues by returning to what I see as some first principles . . . .</p>
<h3>What’s in a Name?</h3>
<p><img align="left" alt="Original Coca-Cola bottle" src="http://upload.wikimedia.org/wikipedia/en/thumb/d/d0/Coca_cola_Bottle.png/75px-Coca_cola_Bottle.png" style="width: 75px; height: 232px; margin-right: 10px;"/></p>
<p>One legacy of the initial document Web is the perception that Web addresses have meaning. We have all heard of the multi-million dollar purchasing of domains <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad17">[17]</a> and the adjudication that may occur when domains are hijacked from their known brands or trademark owners. This legacy has tended to imbue URIs with a perceived value. It is not by accident, I believe, that many within the semantic Web and linked data communities still refer to “minting” URIs. Some believe that ownership and control over URIs may be equivalent to grabbing up valuable real estate. It is also the case that many believe the “name” given to a URI acts to <em><a href="http://en.wikipedia.org/wiki/Name">name</a></em> the referent to which it refers.</p>
<p>This perception is partially true, partially false, but moreover incomplete in all cases. We can illustrate these points with the global icon, “Coca-Cola”.</p>
<p>As for the naming aspects, let’s dissect what we mean when we use the label “Coca-Cola” (in a URI or otherwise). Perhaps the first thing that comes to mind is “<a href="http://www.coca-cola.com/en/index.html">Coca-Cola,</a>” the <a href="http://en.wikipedia.org/wiki/Coca-Cola">beverage</a> (which has a <a href="http://en.wikipedia.org/wiki/Coca-Cola">description</a> on Wikipedia, among other references). Because of its ubiquity, we may also recognize the image of the Coca-Cola bottle to the left as a symbol for this same beverage. (Though, in the hilarious movie, <em><a href="http://en.wikipedia.org/wiki/The_Gods_Must_Be_Crazy">The Gods, They Must be Crazy</a></em>, Kalahari Bushmen, who had no prior experience of Coca-Cola, took the bottle to be magical with evil powers <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad18">[18]</a>.) Yet even as reference to the beverage, the naming aspects are a bit cloudy since we could also use the fully qualified synonyms of “Coke”, “Coca-cola” (small C), “Classic Coke” and the hundreds of language variants worldwide.</p>
<p>On the other hand, the label “Coca-Cola” could just as easily conjure The Coca-Cola Company itself. Indeed, the <a href="http://www.thecoca-colacompany.com/">company web site</a> is the location pointed to by the URI of <a href="http://www.thecoca-colacompany.com/">http://www.thecoca-colacompany.com/</a>. But, even that URI, which points to the home Web page of the company, does not do justice to conveying an understanding or description of the company. For that, additional URIs may need to be invoked, such as the description at <a href="http://en.wikipedia.org/wiki/The_Coca-Cola_Company">Wikipedia</a>, the company’s own <a href="http://www.thecoca-colacompany.com/ourcompany/index.html">company description page</a>, plus perhaps the company’s similar <a href="http://www.thecoca-colacompany.com/heritage/ourheritage.html">heritage page</a>.</p>
<p>Of course, even these links and references only begin to scratch the surface of what the company Coca-Cola actually is: headquarters, manufacturing facilities, 140,000 employees, shareholders, management, legal entities, patents and Coke recipe, and the like. Whether in human languages or URIs, in any attempt to signify something via symbols or words (themselves another form of symbol), we risk ambiguity and incompleteness.</p>
<p>URI shorteners also undercut the idea that a URI necessarily “names” something. Using the service <a href="https://bitly.com/">bitly</a>, we can shorten the link to the Wikipedia description of the Coke beverage to <a href="http://bit.ly/xnbA6">http://bit.ly/xnbA6</a> and we can shorten the link to The Coca-Cola Company Web site to <a href="http://bit.ly/9ojUpL">http://bit.ly/9ojUpL</a>. I think we can fairly say that neither of these shortened links “name” their referents. The most we can say about a URI is that it <em>points to</em> something. With the vagaries of meaning in human languages, we might also say that URIs<em> refer to</em> something, <em>denote</em> something or <em>identify</em> (but not in the sense of completely define) something.</p>
<p>From this discussion, we can assert with respect to the use of URIs as “names” that:</p>
<ol>
<li>In all cases, URIs are pointers to a particular <em><a href="http://en.wikipedia.org/wiki/Referent">referent</a></em></li>
<li>In some cases, URIs do act to “name” some things</li>
<li>Yet, even when used as “names,” there can be ambiguity as to what exactly the referent is that is denoted by the name</li>
<li>Resolving what such “names” mean is a matter of context and reference to further information or links, and</li>
<li>Because URIs may act as “names”, it is appropriate to consider social conventions and contracts (e.g., trademarks, brands, legal status) in adjudicating who can own the URI.</li>
</ol>
<p>In summary, I think we can say that URIs may act as names, but not in all or most cases, and when used as such are often ambiguous. Absolutely associating URIs as names is way too heavy a burden, and incorrect in most cases.</p>
<h3>What is a Resource?</h3>
<p>The “name” discussion above masks that in some cases we are talking about a readable Web document or image (such as the Wikipedia description of the <a href="http://en.wikipedia.org/wiki/Coca-Cola">Coke beverage</a> or its <a href="http://upload.wikimedia.org/wikipedia/en/thumb/d/d0/Coca_cola_Bottle.png/75px-Coca_cola_Bottle.png"> image</a>) versus the “actual” thing in the real world (the Coke beverage itself or even the company). This distinction is what led to the so-called “identity crisis”, for which Ian Davis has used a toucan as his illustrative thing <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad10">[10]</a>.<img align="right" alt="Keel-billed Toucan" src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Ramphastos_sulfuratus_-Spain_-Zoo_-upper_body-8a.jpg/220px-Ramphastos_sulfuratus_-Spain_-Zoo_-upper_body-8a.jpg" style="width: 220px; height: 140px; margin-left: 10px;"/></p>
<p>As I note in the conclusion, I like Davis’ approach to the identity conundrum insofar as Web architecture and linked data guidance are concerned. But here my purpose is more subtle: I want to tease apart still further the apparent distinction between an electronic description of something on the Web and the “actual” something. Like Davis, let’s use the toucan.</p>
<p>In our strawman case, we too use a <a href="http://en.wikipedia.org/wiki/Toucan">description of the toucan</a> (on Wikipedia) to represent our “information resource” (the accessible, downloadable electronic document). We contrast to that a URI that we mean to convey the actual physical bird (a “non-information resource” in the jumbled jargon of httpRange-14), which we will designate via the URI of <a href="http://example.com/toucan">http://example.com/toucan</a>.</p>
<p>Despite the tortured (and newly conjured) distinction between “information resource” and “non-information resource”, the first blush reaction is that, sure, there is a difference between an electronic representation that can be accessed and viewed on the Web and its true, “actual” thing. Of course people can not actually be rendered and downloaded on the Web, but their bios and descriptions and portrait images may. While in the abstract such distinctions appear true and obvious, in the specifics that get presented to experts, there is surprising disagreement as to what is actually an “information resource” <em>v.</em> a “non-information resource” <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad19">[19]</a>. Moreover, as we inspect the real toucan further, even that distinction is quite ambiguous.</p>
<p>When we inspect what might be a <a href="http://en.wikipedia.org/wiki/Toucan">definitive description of “toucan”</a> on Wikipedia, we see that the term more broadly represents the family of <em>Ramphastidae</em>, which contains five genera and forty different species. The picture we are showing to the right is but of one of those forty species, that of the <a href="http://en.wikipedia.org/wiki/Keel-billed_Toucan" title="Keel-billed Toucan">keel-billed toucan</a> (<em>Ramphastos sulfuratus</em>). Viewing the images of the <a href="http://www.mangoverde.com/birdsound/fam/fam102.html">full list of toucan species</a> shows just how divergent these various “physical birds” are from one another. Across all species, average sizes vary by more than a factor of three with great variation in bill sizes, coloration and range. Further, if I assert that the picture to the right is actually that of my pet keel-billed toucan, <em>Pretty Bird</em>, then we can also understand that this representation is for a specific individual bird, and not the physical keel-billed toucan species as a whole.</p>
<p>The point of this diversion is not a lecture on toucans, but an affirmation that distinctions between “resources” occur at multiple levels and dimensions. Just as there is no self-evident criteria as to what constitutes an “information resource”, there is also not a self-evident and fully defining set of criteria as to what is the physical “toucan” bird. The meaning of what we call a “toucan” bird is not embodied in its label or even its name, but in the context and accompanying referential information that place the given referent into a context that can be communicated and understood. A URI <em>points to</em> (“refers to”) something that causes us to conjure up an understanding of that thing, be it a general description of a toucan, a picture of a toucan, an understanding of a species of toucan, or a specific toucan bird. Our understanding or interpretation results from the context and surrounding information accompanying the reference.</p>
<p>In other words, a “resource” may be anything, which is just the way the W3C has defined it. There is not a single dimension which, magically, like “information” and “non-information,” can cleanly and definitely place a referent into some state of absolute understanding. To assert that such magic distinctions exist is a flaw of Cartesian logic, which can only be reconciled by looking to more defensible bases in logic <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad20">[20]</a>.</p>
<h3>Peirce and the Logic of Signs</h3>
<p>The logic behind these distinctions and nuances leads us to <a href="http://en.wikipedia.org/wiki/Charles_Sanders_Peirce"><img align="left" alt="Charles Sanders Peirce" src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Charles_Sanders_Peirce.jpg/200px-Charles_Sanders_Peirce.jpg" style="border: 0px solid; width: 200px; height: 243px; margin-right: 10px;"/></a><a href="http://en.wikipedia.org/wiki/Charles_Sanders_Peirce">Charles Sanders Peirce</a><em> (1839 – 1914)</em>. Peirce (pronounced “purse”) was an American logician, philosopher and polymath of the first rank. Along with <a href="http://en.wikipedia.org/wiki/Frege">Frege</a>, he is acknowledged as the father of <a href="http://en.wikipedia.org/wiki/First-order_logic">predicate calculus</a> and the notation system that formed the basis of first-order logic. His symbology and approach arguably provide the logical basis for <a href="http://en.wikipedia.org/wiki/Description_logic">description logics</a> and other aspects underlying the semantic Web building blocks of the <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a> data model and, eventually, the <a href="http://en.wikipedia.org/wiki/Web_Ontology_Language">OWL</a> language. Peirce is the acknowledged founder of <a href="http://en.wikipedia.org/wiki/Pragmatism">pragmatism</a>, the philosophy of linking practice and theory in a process akin to the scientific method. He was also the first formulator of <a href="http://en.wikipedia.org/wiki/Existential_graph">existential graphs</a>, an essential basis to the whole field now known as <a href="http://en.wikipedia.org/wiki/Model_theory">model theory</a>. Though often overlooked in the 20th century, Peirce has lately been enjoying a renaissance with his voluminous writings still being deciphered and published.</p>
<p>The core of Peirce’s world view is based in <a href="http://en.wikipedia.org/wiki/Semiotics">semiotics</a>, the study and logic of signs. In his seminal writing on this, “What is in a Sign?” <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad21">[21]</a>, he wrote that “every intellectual operation involves a triad of symbols” and “all reasoning is an interpretation of signs of some kind”. Peirce had a predilection for expressing his ideas in “threes” throughout his writings.</p>
<p>Semiotics is often split into three branches: 1) <a href="http://en.wikipedia.org/wiki/Syntax" title="Syntax">syntactics</a> – relations among signs in formal structures; 2) <a href="http://en.wikipedia.org/wiki/Semantics" title="Semantics">semantics</a> – relations between signs and the things to which they refer; and 3) <a href="http://en.wikipedia.org/wiki/Pragmatics" title="Pragmatics">pragmatics</a> – relations between signs and the effects they have on the people or agents who use them.</p>
<p>Peirce’s logic of signs in fact is a taxonomy of sign relations, in which signs get reified and expanded via still further signs, ultimately leading to communication, understanding and an approximation of “canonical” truth. Peirce saw the scientific method as itself an example of this process.</p>
<p>A given sign is a representation amongst the triad of the <em>sign</em> itself (which Peirce called a <em>representamen</em>, the actual signifying item that stands in a well-defined kind of relation to the two other things), its <em>object</em> and its <em>interpretant</em>. The <em>object</em> is the actual thing itself. The<em> interpretant</em> is how the agent or the perceiver of the sign understands and interprets the sign. Depending on the context and use, a <em>sign</em> (or <em>representamen</em>) may be either an<em> icon</em> (a likeness), an indicator or<em> index</em> (a pointer or physical linkage to the object) or a <em>symbol</em> (understood convention that represents the object, such as a word or other meaningful signifier).</p>
<p>An <em>interpretant</em> in its barest form is a sign’s meaning, implication, or ramification. For a <em>sign</em> to be effective, it must represent an object in such a way that it is understood and used again. This makes the assignment and use of signs a community process of understanding and acceptance<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad20"> [20]</a>, as well as a truth-verifying exercise of testing and confirming accepted associations.</p>
<p>John Sowa has done much to help make some of Peirce’s obscure language and terminology more accessible to lay readers <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad22">[22]</a>. He has expressed Peirce’s basic triad of sign relations as follows, based around the Yojo animist cat figure used by the character Queequeg in Herman Melville’s <em><a href="http://en.wikipedia.org/wiki/Moby-Dick">Moby-Dick</a></em>:</p>
<div style="margin: 10px 0px;"><img alt="The Triangle of Meaning" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120116_yojo.png" style="border: 0px solid; width: 360px; height: 291px;" title="The Triangle of Meaning"/></div>
<p>In this figure, <em>object</em> and <em>symbol</em> are the same as the Peirce triad; <em>concept</em> is the interpretant in this case. The use of the word ‘Yojo’ conjures the concept of cat.</p>
<p>This basic triad representation has been used in many contexts, with various replacements or terms at the nodes. Its basic form is known as the <a href="http://en.wikipedia.org/wiki/Meaning_triangle"> Meaning Triangle</a>, as was popularized by Ogden and Richards in 1923 <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad23">[23]</a>.</p>
<p>The key aspect of signs for Peirce, though, is the ongoing process of interpretation and reference to further signs, a process he called <em><a href="http://en.wikipedia.org/wiki/Semiosis">semiosis</a></em>. A sign of an object leads to interpretants, which, as signs, then lead to further interpretants. In the Sowa example below, we show how meaning triangles can be linked to one another, in this case by abstracting that the triangles themselves are concepts of representation; we can abstract the ideas of both <em>concept</em> and <em>symbol</em>:</p>
<div style="margin: 10px 0px;"><img alt="Representing an Object by a Concept" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120116_yojo2.png" style="border: 0px solid; width: 493px; height: 453px;" title="Representing an Object by a Concept"/></div>
<p>We can apply this same cascade of interpretation to the idea of the <em>sign</em> (or <em>representamen</em>), which in this case shows that a name can be related to a word symbol, which in itself is a combination of characters in a string called ‘Yojo’:</p>
<div style="margin: 10px 0px;"><img alt="Representing Signs of Signs of Signs" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2012Posts/120116_yojo3.png" style="border: 0px solid; width: 699px; height: 273px;" title="Representing Signs of Signs of Signs"/></div>
<p>According to Sowa <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad22">[22]</a>:</p>
<div class="boxGrayDotted">
<div style="font-style: italic; margin-bottom: 16px;">“What is revolutionary about Peirce’s logic is the explicit recognition of multiple universes of discourse, contexts for enclosing statements about them, and metalanguage for talking about the contexts, how they relate to one another, and how they relate to the world and all its events, states, and inhabitants.</div>
<div style="font-style: italic;">“The advantage of Peircean semiotics is that it firmly situates language and logic within the broader study of signs of all types. The highly disciplined patterns of mathematics and logic, important as they may be for science, lie on a continuum with the looser patterns of everyday speech and with the perceptual and motor patterns, which are organized on geometrical principles that are very different from the syntactic patterns of language or logic.”</div>
</div>
<p>Catherine Legg <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad20">[20]</a> notes that the semiotic process is really one of community involvement and consensus. Each understanding of a sign and each subsequent interpretation helps come to a consensus of what a sign means. It is a way of building a shared understanding that aids communication and effective interpretation. In Peirce’s own writings, the process of interpretation can lead to validation and an eventual “canonical” or normative interpretation. The scientific method itself is an extreme form of the semiotic process, leading ultimately to what might be called accepted “truths”.</p>
<h3>Peircean Semiotics of URIs</h3>
<p>So, how do Peircean semiotics help inform us about the role and use of URIs? Does this logic help provide guidance on the “identity crisis”?</p>
<p>The Peircean taxonomy of signs has three levels with three possible sign roles at each level, leading to a possible 27 combinations of sign representations. However, because not all sign roles are applicable at all levels, Peirce actually postulated only ten distinct sign representations.</p>
<p>Common to all roles, the URI “sign” is best seen as an <em>index</em>: the URI is a pointer to a representation of some form, be it electronic or otherwise. This representation bears a relation to the actual thing that this referent represents, as is true for all triadic sign relationships. However, in some contexts, again in keeping with additional signs interpreting signs in other roles, the URI “sign” may also play the role of a symbolic “name” or even as a signal that the resource can be downloaded or accessed in electronic form. In other words, by virtue of the conventions that we choose to assign to our signs, we can supply additional information that augments our understanding of what the URI is, what it means, and how it is accessed.</p>
<p>Of course, in these regards, a URI is no different than any other sign in the Peircean world view: it must reside in a triadic relationship to its actual object and an interpretation of that object, with further understanding only coming about by the addition of further signs and interpretations.</p>
<p>In shortened form, this means that a URI, acting alone, can at most play the role of a pointer between an object and its referent. A URI alone, without further signs (information), can not inform us well about names or even what type of resource may be at hand. For these interpretations to be reliable, more information must be layered on, either by accepted convention of the current signs or the addition of still further signs and their interpretations. Since the attempts to deal with the nature of a URI resource by fiat as stipulated by httpRange-14 neither meet the standards of consensus nor empirical validity, the attempt can not by definition become “canonical”. This does not mean that httpRange-14 and its recommended practices can not help in providing more information and aiding interpretation for what the nature of a resource may be. But it does mean that httpRange-14 acting alone is insufficient to resolve ambiguity.</p>
<p>Moreover, what we see in the general nature of Peirce’s logic of signs is the usefulness of adding more “triads” of representation as the process to increase understanding through further interpretation. Kind of sounds like adding on more RDF triples, does it not?</p>
<h3>Global is Neither Indiscriminate Nor Unambiguous</h3>
<p>Names, references, identity and meaning are not absolutes. They are not philosophically, and they are not in human language. To expect machine communications to hold to different standards and laws than human communications is naive. To effect machine communications our challenge is not to devise new rules, but to observe and apply the best rules and practices that human communications instruct.</p>
<p>There has been an unstated hope at the heart of the semantic Web enterprise that simply expressing statements in the right way (syntax) and in the right form (RDF) is sufficient to facilitate machine communications. But this hope, too, is naive and silly. Just as we do not accept all human utterances as truth, neither will we accept all machine transmissions as reliable. Some of the information will be posted in error; some will be wrong or ill-fitting to our world view; some will be malicious or intended to deceive. Spam and occasionally lousy search results on the Web tell us that Web documents are subject to these sources of unsuitability, why is not the same true of data?</p>
<p>Thus, global data access via the semantic Web is not — and can never be — indiscriminate nor unambiguous. We need to understand and come to trust sources and provenance; we need interpretation and context to decide appropriateness and validity; and we need testing and validation to ensure messages as received are indeed correct. Humans need to do these things in their normal courses of interaction and communication; our machine systems will need to do the same.</p>
<p>These confirmations and decisions as to whether the information we receive is actionable or not will come about via still more information. Some of this information may come about via shared conventions. But most will come about because we choose to provide more context and interpretation for the core messages we hope to communicate.</p>
<h3>A Go-Forward Approach</h3>
<p>Nearly five years ago Hayes and Halpin put forth a proposal to add <code>ex:refersTo</code> and <code>ex:describedBy</code> to the standard RDF vocabulary as a way for authors to provide context and explanation for what constituted a specific RDF resource <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad11">[11]</a>. In various ways, many of the other individuals cited in this article have come to similar conclusions. The simple redirect suggestions of both Ian Davis<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad10"> [10]</a> and Ed Summers <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad12">[12] </a>appear particularly helpful.</p>
<p>Over time, we will likely need further representations about resources regarding such things as source, provenance, context and other interpretations that would help remove ambiguities as to how the information provided by that resource should be consumed or used. These additional interpretations can mechanically be provided via referenced ontologies or embedded RDFa (or similar). These additional interpretations can also be aided by judicious, limited additions of new predicates to basic language specifications for RDF (such as the Hayes and Halpin suggestions).</p>
<p>In the end, of course, any frameworks that achieve consensus and become widely adopted will be simple to use, easy to understand, and straightforward to deploy. The beauty of best practices in predicates and annotations is that failures to provide are easy to test. Parties that wish to have their data consumed have incentive to provide sufficient information so as to enable interpretation.</p>
<p>There is absolutely no reason that these additions can not co-exist with the current httpRange-14 approach. By adding a few other options and making clear the<em> optional</em> use of httpRange-14, we would be very Peirce-like in our go-forward approach: We are being both pragmatic while we add more means to improve our interpretations for what a Web resource is and is meant to be.</p>
<hr align="left" size="1" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad1"/>[1] Throughout intellectual history, a number of prominent philosophers and logicians have attempted to describe naming, identity and reference of objects and entities. Here are a few that you may likely encounter in various discussions of these topics in reference to the semantic Web; many are noted philosophers of language:<p/>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Aristotle">Aristotle</a> <em>(384 BC – 322 BC)</em> – founder of formal logic; formulator and proponent of categorization; believed in the innate “universals” of various things in the natural world</li>
<li><a href="http://en.wikipedia.org/wiki/Carnap">Rudolf Carnap</a> <em>(1891 – 1970)</em> -  proposed a logical syntax that provided a system of concepts, a language, to enable logical analysis via exactly formula; a basis for natural language processing;rejected the idea and use of metaphysics</li>
<li><a href="http://en.wikipedia.org/wiki/Descartes">René Descartes</a><em> (1596 – 1650)</em> – posited a boundary between mind and the world; the meaning of a sign is the intension of its producer, and is private and incorrigible</li>
<li><a href="http://en.wikipedia.org/wiki/Frege">Friedrich Ludwig Gottlob Frege</a> <em>(1848 – 1925)</em> – one of the formulators of first-order logic, though syntax not adopted; advocated shared senses, which can be objective and sharable</li>
<li><a href="http://en.wikipedia.org/wiki/G%C3%B6del">Kurt Gödel</a> <em>(1906 – 1978)</em> – his two incompleteness theorems are some of the most important logic contributions of all time; they establish inherent limitations of all but the most trivial axiomatic systems capable of doing arithmetic, as well as for computer programs<a href="http://en.wikipedia.org/wiki/Arithmetic" title="Arithmetic"><br/></a></li>
<li><a href="http://en.wikipedia.org/wiki/David_Hume">David Hume</a><em> (1711 – 1776)</em> – embraced natural empiricism, but kept the Descartes concept of an “idea”</li>
<li><a href="http://en.wikipedia.org/wiki/Kant">Immanuel Kant</a> <em>(1724 – 1804)</em> – one of the major philosophers in history, argued that experience is purely subjective without first being processed by pure reason; a major influence on Peirce</li>
<li><a href="http://en.wikipedia.org/wiki/Saul_Kripke">Saul Kripke</a><em> (1940 – )</em> – proposed the causal theory of reference and what proper names mean via a “baptism” by the namer</li>
<li><a href="http://en.wikipedia.org/wiki/Leibniz">Gottfried Wilhelm Leibniz</a><em> (1646 – 1716)</em> – the classic definition of identity is Leibniz’s Law, which states that if two objects have all of their properties in common, they are identical and so only one object</li>
<li><a href="http://en.wikipedia.org/wiki/Richard_Montague">Richard Montague</a> <em>(1930 – 1971)</em> – wrote much on logic and set theory; student of Tarski; pioneered a logical approach to natural language semantics; associated with model theory, model-theoretic semantics</li>
<li><a href="http://en.wikipedia.org/wiki/Charles_Sanders_Peirce">Charles Sanders Peirce</a> <em>(1839 – 1914)</em> – see main text</li>
<li><a href="http://en.wikipedia.org/wiki/Willard_Van_Orman_Quine">Willard Van Orman Quine</a> <em>(1908 – 2000)</em> – noted analytical philosopher, advocated the “radical indeterminancy of translation” (can never really know)</li>
<li><a href="http://en.wikipedia.org/wiki/Bertrand_Russell">Bertrand Russell</a><em> (1872 – 1970)</em> – proposed the direct theory of reference and what it means to “ground in references”; adopted many Peirce arguments without attribution</li>
<li><a href="http://en.wikipedia.org/wiki/Ferdinand_de_Saussure" title="Ferdinand de Saussure">Ferdinand de Saussure</a> <em>(1857 – 1913)</em> – also proposed an alternative view to Peirce of semiotics, one grounded in sociology and linguistics</li>
<li><a href="http://en.wikipedia.org/wiki/John_Searle">John Rogers Searle</a><em> (1932 – )</em> – argues that consciousness is a real physical process in the brain and is subjective; has argued against strong AI (artificial intelligence)</li>
<li><a href="http://en.wikipedia.org/wiki/Alfred_Tarski">Alfred Tarski</a> <em>(1901 – 1983)</em> – analytic philosopher focused on definitions of models and truth; great admirer of Peirce; associated with model theory, model-theoretic semantics</li>
<li><a href="http://en.wikipedia.org/wiki/Wittgenstein">Ludwig Josef Johann Wittgenstein</a> <em>(1889 – 1951)</em> – he disavowed his earlier work, arguing that philosophy needed to be grounded in ordinary language, recognzing that the meaning of words is dependent on context, usage, and grammar.</li>
</ul>
<div>Also, <a href="http://en.wikipedia.org/wiki/Umberto_Eco">Umberto Eco</a> has been a noted proponent and popularizer of <a href="http://en.wikipedia.org/wiki/Semiotics">semiotics.</a></div>
</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad2"/>[2] As any practitioner ultimately notes, standards development is a messy, lengthy and trying process. Not all individuals can handle the messiness and polemics involved. Personally, I prefer to try to write cogent articles on specific issues of interest, and then leave it to others to slug it out in the back rooms of standards making. Where the process works well, standards get created that are accepted and adopted. Where the process does not work well, the standards are not embraced as exhibited by real-world use.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad3"/>[3] Tim Berners-Lee, 2007. <a href="http://www.w3.org/DesignIssues/HTTP-URI.html">What Do HTTP URIs Identify?</a></div>
<div style="margin: 10px 0pt; font-size: 90%;">This article does not discuss the other sub-category of URIs, <a href="http://en.wikipedia.org/wiki/Uniform_Resource_Name">URNs</a> (for names). URNs may refer to any standard naming scheme (such as ISBNs for books) and has no direct bearing on any network access protocol, as do URLs and URIs when they are referenceable. Further, URNs are little used in practice.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad4"/>[4] Kendall Clark was one of the first to question “resource” and other identity ambiguities, noting the tautology between URI and resource as “anything that has identity.” See Kendall Clark, 2002. “Identity Crisis,” in XML.com, Sept 11 2002; see <a href="http://www.xml.com/pub/a/2002/09/11/deviant.html">http://www.xml.com/pub/a/2002/09/11/deviant.html</a>. From the topic map community, one notable contribution was from Steve Pepper and Sylvia Schwab, 2003. “Curing the Web’s Identity Crisis,” found at : <a href="http://www.ontopia.net/topicmaps/materials/identitycrisis.html">http://www.ontopia.net/topicmaps/materials/identitycrisis.html</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad5"/>[5] Sandro Hawke, 2003. <a href="http://www.w3.org/2002/12/rdf-identifiers/"><cite>Disambiguating RDF Identifiers.</cite></a> W3C, January 2003. See <a href="http://www.w3.org/2002/12/rdf-identifiers/">http://www.w3.org/2002/12/rdf-identifiers/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad6"/>[6] The issue was framed as what is the proper “range” for HTTP referrals and was also the 14th major TAG issue recorded, hence the name. See further the <a href="http://www.w3.org/wiki/HttpRange14Webography" title="HttpRange14Webography">httpRange-14 Webography</a> .</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad7"/>[7] See W3C, “httpRange-14: What is the range of the HTTP dereference function?”; see <a href="http://www.w3.org/2001/tag/issues.html#httpRange-14">http://www.w3.org/2001/tag/issues.html#httpRange-14</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad8"/>[8] See <a href="http://www.ibiblio.org/hhalpin/irw2006/">http://www.ibiblio.org/hhalpin/irw2006/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad9"/>[9] Leo Sauermann and Richard Cyganiak, eds., 2008. <em>Cool URIs for the Semantic Web</em>, W3C Interest Group Note, December 3, 2008. See <a href="http://www.w3.org/TR/cooluris/">http://www.w3.org/TR/cooluris/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad10"/>[10] Ian Davis, 2010. <a href="http://blog.iandavis.com/2010/11/04/is-303-really-necessary/"><cite>Is 303</cite></a> R<a href="http://blog.iandavis.com/2010/11/04/is-303-really-necessary/"><cite>eally Necessary?</cite></a> Blog post, November 2010, accessed 20 January 2012. (See http://blog.iandavis.com/2010/11/04/is-303-really-necessary/.) A considerable thread resulted from this post; see <a href="http://markmail.org/thread/mkoc5kxll6bbjbxk">http://markmail.org/thread/mkoc5kxll6bbjbxk</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad11"/>[11] See first Harry Halpin, 2006. “Identity, Reference and Meaning on the Web,” presented at WWW 2006, May 23, 2006. See <a href="http://www.ibiblio.org/hhalpin/irw2006/hhalpin.pdf">http://www.ibiblio.org/hhalpin/irw2006/hhalpin.pdf</a>. This was then followed up with greater elaboration by Patrick J. Hayes and Harry Halpin, 2007. “In Defense of Amibiguity,” <a href="http://www.ibiblio.org/hhalpin/homepage/publications/indefenseofambiguity.html"> http://www.ibiblio.org/hhalpin/homepage/publications/indefenseofambiguity.html</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad12"/>[12] Ed Summers, 2010. Linking Things and Common Sense, blog post of July 7, 2010. See <a href="http://inkdroid.org/journal/2010/07/07/linking-things-and-common-sense/"> http://inkdroid.org/journal/2010/07/07/linking-things-and-common-sense/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad13"/>[13] Xiaoshu Wang, 2007. <a href="http://posterous.com/getfile/files.posterous.com/atri/xhPkMckbmuWGJIyJ3rWLikisMUGhdk6LHcvzeRDX5WtSeeualDWORrXda05U/Data_Format_Description_Framew.doc"> URI Identity and Web Architecture Revisited</a>, Word document posted on posterous.com, November 2007. (Former Web documents have been removed.)</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad14"/>[14] David Booth, 2006. “URIs and the Myth of Resource Identity,” see <a href="http://dbooth.org/2006/identity/">http://dbooth.org/2006/identity/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad15"/>[15] See Larry Masinter, 2012. “The ‘tdb’ and ‘duri’ URI Schemes, Based on Dated URIs,” 10th version, <em>IETF Network Working Group Internet-Draft</em>,January 12, 2012. See <a href="http://tools.ietf.org/html/draft-masinter-dated-uri-10">http://tools.ietf.org/html/draft-masinter-dated-uri-10</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad16"/>[16] Jonathan Rees has been the scribe and author for many of the background documents related to Issue 57. A recent mailing list entry provides pointers to four relevant documents in this entire discussion. See Jonathan A Rees, 2012. <a href="http://lists.w3.org/Archives/Public/www-tag/2012Jan/0122.html">Guide to ISSUE-57 (httpRange-14) document suite</a>January, 21, 2012.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad17"/>[17] At least twenty domain names, led by insure.com, have sold for more the $2 million each; see this <a href="http://en.wikipedia.org/wiki/Domain_name#Resale_of_domain_names">Wikipedia listing</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad18"/>[18] In the wonderful movie, <em><a href="http://en.wikipedia.org/wiki/The_Gods_Must_Be_Crazy">The Gods, They Must be Crazy</a></em>, Bushmen in the Kalahari Desert one day find an unbroken glass Coke bottle that had been thrown out of an airplane. Initially, this strange artifact seems to be another boon from the gods, and the Bushmen find many uses for it. But unlike anything that they have had before, there is only one bottle to go around. This creates jealousy, envy, anger, hatred, even violence. The protagonist, Xi, decides that the bottle is an evil thing and must be thrown off of the edge of the world. The hilarity of the movie comes from that premise and Xi’s encounters with the modern world as he pursues his quest with the magic bottle.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad19"/>[19] Wang<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#triad13"> [13]</a>rhetorically asked which of the following things would be categorized as an “information resource”:
<ol>
<li>A book</li>
<li>A clock</li>
<li>The clock on the wall of my bedroom</li>
<li>A gene</li>
<li>The sequence of a gene</li>
<li>A software</li>
<li>A service</li>
<li>A namespace</li>
<li>An ontology</li>
<li>A language</li>
<li>A number</li>
<li>A concept, such as Dublin Core’s creator.</li>
</ol>
<p>See the 2007 <a href="http://lists.w3.org/Archives/Public/www-tag/2007Dec/0075.html">thread</a> on this issue, mostly by Sean Palmer and Noah Mendelsohn, the latter aknowledging that various experts may only agree on 85% of the items.</p>
</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad20"/>[20] See further Catherine Legg, 2010. “Pragmaticsm on the Semantic Web,” in Bergman, M., Paavola, S., Pietarinen, A.-V., &amp; Rydenfelt, H. eds., <em>Ideas in Action: Proceedings of the Applying Peirce Conference</em>, pp. 173–188. Nordic Studies in Pragmatism 1. Helsinki: Nordic Pragmatism Network. See <a href="http://www.nordprag.org/nsp/1/Legg.pdf">http://www.nordprag.org/nsp/1/Legg.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad21"/>[21] Charles Sanders Peirce, 1894. “What is in a Sign?”, see <a href="http://www.iupui.edu/%7Epeirce/ep/ep2/ep2book/ch02/ep2ch2.htm">http://www.iupui.edu/~peirce/ep/ep2/ep2book/ch02/ep2ch2.htm</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad22"/>[22] The figures in particular are from John F. Sowa, 2000. “Ontology, Metadata, and Semiotics,” presented at ICCS 2000 in Darmstadt, Germany, on August 14, 2000; published in B. Ganter &amp; G. W. Mineau, eds., <em>Conceptual Structures: Logical, Linguistic, and Computational Issues, Lecture Notes in AI #186</em>7, Springer-Verlag, Berlin, 2000, pp. 55-81. May be found at <a href="http://www.jfsowa.com/ontology/ontometa.htm">http://www.jfsowa.com/ontology/ontometa.htm</a>. Also see John F. Sowa, 2006. “Peirce’s Contributions to the 21st Century,” presented at<em> International Conference on Conceptual Structures</em>, Aalborg, Denmark, July 17, 2006. See <a href="http://www.jfsowa.com/pubs/csp21st.pdf">http://www.jfsowa.com/pubs/csp21st.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="triad23"/>[23] C.K. Ogden and I. A. Richards, 1923. <em>The Meaning of Meaning</em>, Harcourt, Brace, and World, New York, 8th edition 1946.</div>
 <img height="1" src="http://www.mkbergman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=994" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/fUiaMTAZ81g" width="1"/></div>
    </content>
    <updated>2012-01-24T15:52:16Z</updated>
    <category term="Adaptive Information"/>
    <category term="Linked Data"/>
    <category term="Semantic Web"/>
    <category term="#linkeddata"/>
    <category term="#semweb"/>
    <category term="Charles Sanders Peirce"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/994/give-me-a-sign-what-do-things-mean-on-the-semantic-web/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2012-03-15T10:50:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2012/01/05/jquery-cookie-pluging-extended-with-html5-localstorage-and-chunked-cookies/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/30Mt2Osbg4g/" rel="alternate" type="text/html"/>
    <title>jQuery Cookie Pluging Extended With HTML5 localStorage And Chunked Cookies</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=jQuery Cookie Pluging Extended With HTML5 localStorage And Chunked Cookies&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Programming&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2012-01-05&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2012/01/05/jquery-cookie-pluging-extended-with-html5-localstorage-and-chunked-cookies/&amp;rft.language=English"/>
Is there a web developer that never used cookies to save some information in a user’s browser? There may be, but they should be legion. As you probably know, the problem with cookies is that their implementation in browsers is random: some will limit the size of the cookie to 4096 bytes, others will limit [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=jQuery Cookie Pluging Extended With HTML5 localStorage And Chunked Cookies&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Programming&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2012-01-05&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2012/01/05/jquery-cookie-pluging-extended-with-html5-localstorage-and-chunked-cookies/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>Is there a web developer that never used cookies to save some information in a user’s browser? There may be, but they should be legion. As you probably know, the problem with cookies is that their implementation in browsers is random: some will limit the size of the cookie to 4096 bytes, others will limit the number of cookies from a specific domain to 50, others will have no perceivable limits, etc.</td>
<td><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2pxdWVyeS5jb20="><img alt="" class="aligncenter size-thumbnail wp-image-1891" height="150" src="http://fgiasson.com/blog/wp-content/uploads/2012/01/jquery1-150x150.png" title="jQuery" width="150"/></a></td>
</tr>
</tbody>
</table>
<p><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzAxL2Rvd25sb2FkLnBuZw=="><br/>
</a>In any case, if one of these limits is reached, the cookie is simply not created the browser. This is fine, because web developer expects cookies to fail from time to time, and the system they develop has to cope with this unreliableness. However, this situation can sometimes become frustrating, and it is why I wanted to extend the default behavior of the <a title="">jQuery Cookie plugin</a> with a few more capabilities.</p>
<p>This <a title="">extension to the jQuery Cookie plugin</a> adds the capability to save content that is bigger than 4096 bytes long using two different mechanism: the usage of HTML5′s <code>localStorage</code>, or the usage of a series of cookies where the content is chunked and saved. This extension is backward compatible with the jQuery Cookie plugin and its usage should be transparent to the users. Even if existing cookies have been created with the normal Cookie plugin, they will still be usable by this new extension. The usage syntax is the same, but 3 new options have been created.</p>
<p>Now, let’s see how this plugin works, how developers should use it, what are its limitations, etc.</p>
<p>You can immediately download the jQuery Extended Cookie plugin from here:</p>
<p style="text-align: center;"><a title=""><img alt="" class=" wp-image-1893 aligncenter" height="109" src="http://fgiasson.com/blog/wp-content/uploads/2012/01/download-300x181.png" style="border-color: initial;" title="Download the jQuery Extended Cookie Plugin" width="180"/></a></p>
<div>
<h3>Limitations Of Cookies</h3>
<p>First, let’s see what the <a title="">RFC 2109</a> says about the limitations of cookies in web browsers. Browsers should normally have these implementation limits (see section 6.3):</p>
<blockquote>
<pre>   Practical user agent implementations have limits on the number and
   size of cookies that they can store.  In general, user agents' cookie
   support should have no fixed limits.  They should strive to store as
   many frequently-used cookies as possible.  Furthermore, general-use
   user agents should provide each of the following minimum capabilities
   individually, although not necessarily simultaneously:

      * at least 300 cookies
      * at least 4096 bytes per cookie (as measured by the size of the
        characters that comprise the cookie non-terminal in the syntax
        description of the Set-Cookie header)
      * at least 20 cookies per unique host or domain name

   User agents created for specific purposes or for limited-capacity
   devices should provide at least 20 cookies of 4096 bytes, to ensure
   that the user can interact with a session-based origin server.

   The information in a Set-Cookie response header must be retained in
   its entirety.  If for some reason there is inadequate space to store
   the cookie, it must be discarded, not truncated.

   Applications should use as few and as small cookies as possible, and
   they should cope gracefully with the loss of a cookie.</pre>
</blockquote>
<h3>New Options</h3>
<p>Before I explains how this extension works, let me introduce three new options that have been added to the <a title="">Cookie plugin</a>. These new options will be put into context, and properly defined later in this blog post.</p>
<ul>
<li><code>maxChunkSize </code>- This defines the maximum number of bytes that can be saved in a single cookie. <code>(default: 3000)</code></li>
<li><code>maxNumberOfCookies -</code> This is the maximum number of cookies that can be created for a single domain name.<code> (default: 20)</code></li>
<li><code>useLocalStorage </code>- This tells the extended Cookie plugin to use the HTML5′s<code> localStorage</code> capabilities of the browser instead of a cookie to save that value.<code> (default: true)</code></li>
</ul>
<h3>How Does This Extension Works?</h3>
<p>As I said in the introduction of this blog post, this extension to the jQuery Cookie plugin does two things:</p>
<ol>
<li>It uses the HTML5 <code>localStorage</code> capabilities of the browser if this feature is available instead of relying on the cookies. However, if cookies are needed by the developer, this feature can be turned off with the <code>useLocalStorage = false</code> option</li>
<li>If the <code>localStorage</code> option is disable, or simply not available on a browser, and if the content is bigger than the limit of the size of a cookie, then this extension will chunk the input content, and save it in multiple cookies</li>
</ol>
<p>If the <code>useLocalStorage</code> is <code>true</code>, then the plugin will try to see if the HTML5 <code>localStorage</code> mechanism is available on the browser. If it is, then it will use that local storage to save and retrieve content to the browser. If it is not, then the plugin will act like if <code>useLocalStorage</code> is <code>false </code>and the process will continue by using cookies to save and read that content from the browser.</p>
<p>If <code>useLocalStorage</code> is <code>false</code>, or if the HTML5 <code>localStorage</code> mechanism is not available on the browser, then the plugin will check if the content is bigger than the <code>maxChunkSize</code> option, than all the chunks will be saved in different cookies until it reaches the limit imposed by the <code>maxNumberOfCookies</code> option.</p>
<p>If cookies are used, then two use-cases can happen:</p>
<ol>
<li>The content is smaller than or equal to <code>maxChunkSize</code></li>
<li>The content is bigger than<code> maxChunkSize</code></li>
</ol>
<p>If the content is smaller than or equal to <code>maxChunkSize</code> than only one cookie will be created by the browser. The name of the cookie will be the value provided to the <code>key</code> parameter.</p>
<p>If the content is bigger tha<code>n maxChunkSize</code> than multiple cookies will be created, one per chunk. The convention is that the name of the first cookie is the value provided to the <code>key</code> parameter. The name of the other chunks is the value provided to the <code>key </code>parameter with the chunk indicator <code>---ChunkNum</code> append to it. For example, if we have a cookie with a content of 10000 bytes that has <code>maxChunkSize </code>defined to 4000 bytes, then these three cookies would be created:</p>
<ul>
<li><code>cookie-name</code></li>
<li><code>cookie-name---1</code></li>
<li><code>cookie-name---2</code></li>
</ul>
<h3>Usage</h3>
<p>Now, let’s see how this extended jQuery Cookie plugin should be used in your code. The usage of the extension is no different from the usage of the normal jQuery Cookie plugin. However, I am showing how to use the new options along with how to use the plugin in general.</p>
<h4>Create a Cookie</h4>
<p>Let’s create a cookie that expires in 365 days and where the path is the root:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container javascript railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><div class="javascript codecolorer">$.<span style="color: #660066;">cookie</span><span style="color: #009900;">(</span><span style="color: #3366CC;">'my-cookie'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">"the-content-of-my-cookie"</span><span style="color: #339933;">,</span> <span style="color: #009900;">{</span> expires<span style="color: #339933;">:</span> <span style="color: #CC0000;">365</span><span style="color: #339933;">,</span> path<span style="color: #339933;">:</span> <span style="color: #3366CC;">"/"</span> <span style="color: #009900;">}</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span></div></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>By default, this value will be persisted in the <code>localStorage</code> if the browser supports it, and not in a cookie. So, let’s see how to force the plugin to save the content in a cookie by using the <code>useLocalStorage</code> option:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container javascript railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><div class="javascript codecolorer">$.<span style="color: #660066;">cookie</span><span style="color: #009900;">(</span><span style="color: #3366CC;">'my-cookie'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">"the-content-of-my-cookie"</span><span style="color: #339933;">,</span> <span style="color: #009900;">{</span>useLocalStorage<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span> expires<span style="color: #339933;">:</span> <span style="color: #CC0000;">365</span><span style="color: #339933;">,</span> path<span style="color: #339933;">:</span> <span style="color: #3366CC;">"/"</span> <span style="color: #009900;">}</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span></div></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<h4>Delete a Cookie</h4>
<p>Let’s see how a cookie can be deleted. The method is simply to put <code>null</code> as the value of the cookie. This will instruct the plugin to remove the cookie.</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container javascript railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><div class="javascript codecolorer">$.<span style="color: #660066;">cookie</span><span style="color: #009900;">(</span><span style="color: #3366CC;">'my-cookie'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span></div></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>With that call, the plugin will try to remove <code>my-cookie</code> both in the <code>localStorage</code> and in the <code>cookies</code>.</p>
<h4>Read a Cookie</h4>
<p>Let’s see how we can read the content of a cookie:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container javascript railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><div class="javascript codecolorer"><span style="color: #003366; font-weight: bold;">var</span> value <span style="color: #339933;">=</span> $.<span style="color: #660066;">cookie</span><span style="color: #009900;">(</span><span style="color: #3366CC;">'my-cookie'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span></div></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>With this call, <code>value</code> will get the content that has been saved in the <code>localStorage</code>, or the <code>cookies</code>. This will depend if the <code>localStorage</code> was available in the browser.</p>
<p>Now, let’s see how to force reading the cookies by bypassing the <code>localStorage</code> mechanism:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container javascript railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><div class="javascript codecolorer"><span style="color: #003366; font-weight: bold;">var</span> value <span style="color: #339933;">=</span> $.<span style="color: #660066;">cookie</span><span style="color: #009900;">(</span><span style="color: #3366CC;">'my-cookie'</span><span style="color: #339933;">,</span> <span style="color: #009900;">{</span>useLocalStorage<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">}</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span></div></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>Note that if the cookie is not existing for a <code>key</code>, then the <code>$.cookie()</code> function will return <code>null</code>.</p>
<h4>Using Limitations</h4>
<p>Let’s see how to use the<code> maxNumberOfCookies</code> and<code> maxChunkSize</code> options to limit the size and the number of cookies to be created.</p>
<p>With this example, the content will be saved in multiple cookies of 1000 bytes each up to 30 cookies:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container javascript railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><div class="javascript codecolorer"><span style="color: #003366; font-weight: bold;">var</span> value <span style="color: #339933;">=</span> $.<span style="color: #660066;">cookie</span><span style="color: #009900;">(</span><span style="color: #3366CC;">'my-cookie'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">"the-content-of-my-cookie-is-10000-bytes-long..."</span><span style="color: #339933;">,</span> <span style="color: #009900;">{</span>useLocalStorage<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span> maxChunkSize  <span style="color: #339933;">=</span> <span style="color: #CC0000;">1000</span><span style="color: #339933;">,</span> maxNumberOfCookies <span style="color: #339933;">=</span> <span style="color: #CC0000;">30</span><span style="color: #339933;">,</span> expires<span style="color: #339933;">:</span> <span style="color: #CC0000;">365</span><span style="color: #339933;">,</span> path<span style="color: #339933;">:</span> <span style="color: #3366CC;">"/"</span> <span style="color: #009900;">}</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span></div></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<h3>Limitations</h3>
<p>Users have to be aware of the limitations of this enhanced plugin. Depending on the browser, the values of the <code>maxChunkSize </code>and the <code>maxNumberOfCookies</code> options should be different. In the worse case, some cookies (or cookies chunks) may simply not be created by the browser. As stated in the RFC 2109, the web applications have to take that fact into account, and be able to gracefully cope with this.</p>
<h3>Future Enhancements</h3>
<p>In the future, this extension should detect the browser where it runs, and setup the<code> maxChunkSize</code> and the <code>maxNumberOfCookies</code> parameters automatically depending on the cookies limitation of each browser.</p>
<h3>Conclusion</h3>
<p>I had to create this extension to the jQuery Cookie plugin to be able to store the resultsets returned by some web service endpoints. It is only used to limit the number of queries sent to these endpoints. Since the values returned by the endpoints are nearly static, that they are loaded at each page view and that they are a few kilobytes big, I had to find a way to save that information in the browser, and to overcome the size limitation of the cookies if possible. I also needed to be able to cope with older versions of browsers that only supports cookies. In the worse case scenario, the browser will simply send the request to the endpoints at each page load for the special use-cases where nothing works: not the cookies and not the <code>localStorage</code>. But at least, my application will benefit of this enhancement from the 95% of the users were one of these solutions works.</p>
</div>
 <img height="1" src="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1861" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/30Mt2Osbg4g" width="1"/></div>
    </content>
    <updated>2012-01-05T13:30:27Z</updated>
    <category term="Programming"/>
    <category term="#cookies"/>
    <category term="#developer"/>
    <category term="#html5"/>
    <category term="#javascript"/>
    <category term="#jquery"/>
    <category term="#localStorage"/>
    <category term="#plugin"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2012/01/05/jquery-cookie-pluging-extended-with-html5-localstorage-and-chunked-cookies/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-03-30T00:56:29Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/12/28/open-semantic-framework-running-on-micro-instances/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/YBX4OfBLluI/" rel="alternate" type="text/html"/>
    <title>Open Semantic Framework Running on Micro Instances</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Open Semantic Framework Running on Micro Instances&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-12-28&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/12/28/open-semantic-framework-running-on-micro-instances/&amp;rft.language=English"/>
After releasing the new Open Semantic Framework Installer, we started to test it on machines with all kind of different specifications: different CPU limits, different amount of memory, etc. One of the setup that caught our attention was Amazon’s EC2 Micro Instance. The Micro Instance is a virtual server type that has been introduced by [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Open Semantic Framework Running on Micro Instances&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-12-28&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/12/28/open-semantic-framework-running-on-micro-instances/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>After releasing the new <a title="">Open Semantic Framework Installer</a>, we started to test it on machines with all kind of different specifications: different CPU limits, different amount of memory, etc. One of the setup that caught our attention was Amazon’s EC2 Micro Instance.</td>
<td><a title=""><div class="aligncenter" style="margin: 10px; overflow: hidden; display: table; line-height: 0; text-align: center; width: 180px;"><img alt="" class="  wp-image-1840 shadow_curl" height="120" src="http://fgiasson.com/blog/wp-content/uploads/2011/12/willard-wigan-small-300x200.jpg" style="padding: 0 !important; margin: 0 !important;" title="willard-wigan-small" width="180"/><br/><img class="shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div></a></td>
</tr>
</tbody>
</table>
<p>The Micro Instance is a virtual server type that has been introduced by Amazon a little bit more than a year ago. As described by Amazon, Micro Instances are:</p>
<blockquote><p>Instances of this family provide a small amount of consistent CPU resources and allow you to burst CPU capacity when additional cycles are available. They are well suited for lower throughput applications and web sites that consume significant compute cycles periodically.</p></blockquote>
<p>We were intrigued by this particular type of instance because we wanted to know how the complete Open Semantic Framework stack could operate on such a small server instance.</p>
<h3>Micro Instance Specifications</h3>
<p>The Micro Instance’s specifications are as follow:</p>
<ul>
<li>613 MB memory</li>
<li>Up to 2 EC2 Compute Units (for short periodic bursts)</li>
<li>32-bit or 64-bit platform</li>
<li>I/O Performance: Low</li>
</ul>
<p>Note that a <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2F3cy5hbWF6b24uY29tL2VjMi9pbnN0YW5jZS10eXBlcy8=">EC2 Compute Unit</a> <em>provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor</em>.</p>
<h3>Installing The Stack</h3>
<p>Installing the stack on the Amazon Micro Instance, using the OSF Installer, is not the fastest experience in the World. In fact, installing the complete stack takes up to 10 hours (5 minutes of your time, but compiling and installing everything takes about 10 hours of CPU time).</p>
<p>The problem is that installing OSF is a CPU intensive task, while the Micro instance is not. The micro instance can sustain small CPU bursts, but it can’t sustain the creation and compilation of the entire stack. That means that the CPU cycles won’t be available to the instance, and that the CPU consumption of that instance will be throttled by Amazon, which will significantly slow down the installation process.</p>
<p>However, as you will see below, once OSF is installed on the Micro instance, the complete stack responds perfectly to all queries sent to it.</p>
<h3>Creating an AMI</h3>
<p>The only time you have to spend 10 hours to install the OSF stack on an Amazon Micro Instance is the first time. After that, you would only have to <a title="">create an Amazon AMI from that vanilla OSF instance</a> for future use. If you proceed that way, you will lower the installation time from 10 hours to a few minutes.</p>
<h3>Reading and Searching Data</h3>
<p>The testing we did for reading and searching data from <a title="">structWSF</a> shows that performances are as good as the ones you would get from a small instance with a normal workload. The <a title="">Crud: Read</a> and the <a title="">Search</a> structWSF endpoints are fully responsive and operational.</p>
<h3>Creating, Updating and Deleting Data</h3>
<p>The testing we did for creating, updating and deleting entire datasets takes more time than with a small instance even if the instance is dedicated to that only task, without any other queries processed by the instance at the same time. The reason for this decrease in performances is due to the CPU throttling done by Amazon for this kind of more CPU intensive task. However, since individual records creation, updating and deletion creates “CPU Peaks”, such isolated create/update/delete queries doesn’t greatly affect the overall performances of the instance.</p>
<h3>What This Type Of Instance Is Good For?</h3>
<p>We found that such small instances were perfect for data collection activities performed by a single person, or a small group of collaborators. We also found that it could be used by low-traffic websites such as personal web portal, personal blogs, etc. The complete OSF stack is fully responsive and our analysis shows that the resources (CPU and Memory) are stable and responsive with a normal workload.</p>
<h3>Conclusion</h3>
<p>Such a small server instance can easily be used to create a personal data collection endpoint, or a personal, or small, data presentation portal such as Mike’s semantic web <a title="">Sweet Tools</a>. It is well suited for data portals that require reading and searching of data with occasional data changes (addition, removal and modification of instance records).</p>
 <img height="1" src="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1839" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/YBX4OfBLluI" width="1"/></div>
    </content>
    <updated>2011-12-28T20:45:47Z</updated>
    <category term="Open Semantic Framework"/>
    <category term="Semantic Web"/>
    <category term="Structured Dynamics"/>
    <category term="structWSF"/>
    <category term="#aws"/>
    <category term="#open semantic framework"/>
    <category term="#rdf"/>
    <category term="#semantic web"/>
    <category term="#structwsf"/>
    <category term="#web services"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/12/28/open-semantic-framework-running-on-micro-instances/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-03-30T00:56:29Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/12/21/volkswagen-uks-search-engine-powered-by-structwsf/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/8kYVZ8Vj24U/" rel="alternate" type="text/html"/>
    <title>Volkswagen UK’s Search Engine Powered by structWSF</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Volkswagen UK&#x2019;s Search Engine Powered by structWSF&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-12-21&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/12/21/volkswagen-uks-search-engine-powered-by-structwsf/&amp;rft.language=English"/>
It is now official, Volkswagen UK‘s search engine is now powered by structWSF. Their new contextual search engine has been released last Friday. I covered the underlying architecture in one of my recent blog post: Volkswagen's RDF Data Management Workflow.     John Streit, head of technology at Tribal DDB, described the two key advantages [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Volkswagen UK&#x2019;s Search Engine Powered by structWSF&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-12-21&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/12/21/volkswagen-uks-search-engine-powered-by-structwsf/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>It is now official, <a title="">Volkswagen UK</a>‘s search engine is now powered by <a title="">structWSF</a>. Their new contextual search engine has been released last Friday. I covered the underlying architecture in one of my recent blog post: <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL2luZGV4LnBocC8yMDExLzEwLzExL3ZvbGtzd2FnZW5zLXJkZi1kYXRhLW1hbmFnZW1lbnQtd29ya2Zsb3cv">Volkswagen's RDF Data Management Workflow</a>.</td>
<td valign="top"><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL1ZvbGtzd2FnZW4ucG5n"><img alt="" class="aligncenter size-full wp-image-1618" height="128" src="http://fgiasson.com/blog/wp-content/uploads/2011/10/Volkswagen.png" title="Volkswagen" width="128"/></a></td>
</tr>
</tbody>
</table>
<p> </p>
<p/><center><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL3Z3X3NpdGVfc2VhcmNoX3NjcmVlbnNob3QuanBn"><img alt="" class="size-medium wp-image-1599 alignnone" height="240" src="http://fgiasson.com/blog/wp-content/uploads/2011/10/vw_site_search_screenshot-300x240.jpg" title="vw_site_search_screenshot" width="300"/></a></center> <p/>
<p>John Streit, head of technology at Tribal DDB, described the two key advantages of using the structWSF (part of the <a title="">Open Semantic Framework</a> (OSF)) for their website <a title="">in an interview with Wired UK</a>:</p>
<blockquote><p>The first is that it gives you a single place to access data. Streit explains: “Applications often need to retrieve data from multiple sources which adds complexity and development time. By using this technology we can get everything we need from a single place which drastically lowers development time and running costs.” Furthermore the exposure of data improves search and means that it can be repurposed in new and imaginative ways.</p></blockquote>
 <img height="1" src="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1826" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/8kYVZ8Vj24U" width="1"/></div>
    </content>
    <updated>2011-12-21T18:23:08Z</updated>
    <category term="Open Semantic Framework"/>
    <category term="Semantic Web"/>
    <category term="Structured Dynamics"/>
    <category term="structWSF"/>
    <category term="#open semantic framework"/>
    <category term="#rdf"/>
    <category term="#semantic web"/>
    <category term="#structwsf"/>
    <category term="#volkswagen"/>
    <category term="#web services"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/12/21/volkswagen-uks-search-engine-powered-by-structwsf/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-03-30T00:56:29Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/12/13/the-open-semantic-framework-installer/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/SxLnk2_AGrc/" rel="alternate" type="text/html"/>
    <title>The Open Semantic Framework Installer</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=The Open Semantic Framework Installer&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=conStruct&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-12-13&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/12/13/the-open-semantic-framework-installer/&amp;rft.language=English"/>
We are excited to introduce the first Open Semantic Framework installation script. This new installer application will install and configure the entire Open Semantic Framework stack for you. It will take about 10 minutes of your time, and will process in the background for a few hours while everything necessary to build the OSF stack [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=The Open Semantic Framework Installer&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=conStruct&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-12-13&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/12/13/the-open-semantic-framework-installer/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>We are excited to introduce the first <a title="">Open Semantic Framework</a> installation script. This new <a title="">installer application</a> will install and configure the entire Open Semantic Framework stack for you. It will take about 10 minutes of your time, and will process in the background for a few hours while everything necessary to build the OSF stack is downloaded and compiled.</td>
<td><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEyL29zZl9pbnN0YWxsZXIucG5n"><img alt="Open Semantic Framework Installer" class="aligncenter  wp-image-1795" height="180" src="http://fgiasson.com/blog/wp-content/uploads/2011/12/osf_installer-257x300.png" width="154"/></a></td>
</tr>
</tbody>
</table>
<p>The only thing you have to do to run the OSF Installer is to issue the few commands outlined below, and then to answer a few questions in the process (which, since most of them use the standard default values, is pretty easy).</p>
<p>The OSF Installer is a major addition to the Open Semantic Framework since it now enables a greater number of people (mere mortals) to install and use the stack, and it enables much faster deployment of the system.</p>
<p>The full installation manual, where each of the steps performed by the installer is explained in detail, is <a title="">available as a reference here</a>.</p>
<h3>Requirements</h3>
<p>The current version of the Open Semantic Framework Installer is fully operational on:</p>
<ol>
<li>Ubuntu 10.04 (Lucid)</li>
<li>32 Bits Operating System</li>
<li>Access to internet from the server</li>
<li>5GIG of disk space on the partition where you are installing OSF</li>
</ol>
<p>Eventually this installer will be upgraded for 64-bits operating systems, and for other Linux distributions. Also, the current installer should work on newer versions of Ubuntu, but it has only been tested to date on the latest <a title="">LTS</a> version.</p>
<h3>Installing the Open Semantic Framework</h3>
<p>The only manual steps need to do to install the Open Semantic Framework are to:</p>
<ol>
<li>Create a folder where to install OSF on your server</li>
<li>Download the <code>osf-install.zip</code> installation package</li>
<li>Make the <code>osf-install.sh</code> installation script executable</li>
<li>Run the <code>osf-install.sh</code> installation script</li>
<li>Answer the questions asked by the installer</li>
</ol>
<p>Here are the commands you have to run:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container bash railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/>2<br/>3<br/>4<br/>5<br/>6<br/></div></td><td><div class="bash codecolorer"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span><br/>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">wget</span> https:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>downloads<span style="color: #000000; font-weight: bold;">/</span>structureddynamics<span style="color: #000000; font-weight: bold;">/</span>Open-Semantic-Framework-Installer<span style="color: #000000; font-weight: bold;">/</span>osf-installer-v1.0a4.zip<br/>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">unzip</span> osf-installer-v1.0a4.zip<br/>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-d</span> structureddynamics<span style="color: #000000; font-weight: bold;">*/`</span><br/>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">755</span> osf-install.sh<br/>
.<span style="color: #000000; font-weight: bold;">/</span>osf-install.sh</div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<h3>conStruct and structWSF Upgrades</h3>
<p>In the process, both <a title="">conStruct</a> and <a title="">structWSF</a> have been enhanced to enable automatic upgrading in the future. Starting with structWSF version <code>1.0a92</code> and conStruct version <code>6.x-1.0-beta9</code>, future upgrades should be done automatically using automatic upgrading procedures.</p>
<p>However, to enable this, existing users will have to upgrade their current versions manually to establish the new automatic upgrades baseline.</p>
<h3>Next Steps</h3>
<p>Once you have installed the OSF stack, you next query the <a title="">structWSF</a> Web service endpoints, and import datasets using <a title="">conStruct</a>. Here are a few things you can do to start exploring the Open Semantic Framework:</p>
<ol>
<li>Start exploring <a title="">structWSF</a></li>
<li>Start exploring <a title="">conStruct</a></li>
<li>Start exploring <a title="">Ontologies usage in OSF</a></li>
<li>Start <a title="">importing and manipulating datasets</a></li>
<li>Start exploring the <a title="">Open Semantic Framework architecture</a></li>
<li><a title="">Start playing with the structWSF web service endpoints</a></li>
</ol>
<p>Since everything is installed on your server, so you only have to play with the stack now. If you break something, just ping us on the <a title="">mailing list</a> or re-install it without worrying about each installation steps!</p>
<h3>Help</h3>
<p>It may be possible that you experience some issues with this new OSF Installer. If that is the case, I would suggest your to make an outreach to the <code><a title="">Open Semantic Web Mailing List</a></code> so that we fix it on the Git repository.</p>
<p>Just write an email that includes the specifications of the server where you are trying to install OSF on. Then tell us where the issue happens in the installation process. Also add any logs that could be helpful in debugging the issue.</p>
<h3>Conclusion</h3>
<p>This is the first version of the OSF installer, but this is a real balm for installing OSF. As noted, this installer will eventually be upgraded to support 64-bit servers and other Linux distributions. Also, any help improving this installer from Bash wizards would naturally be greatly welcomed.</p>
 <img height="1" src="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1782" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/SxLnk2_AGrc" width="1"/></div>
    </content>
    <updated>2011-12-14T00:10:56Z</updated>
    <category term="conStruct"/>
    <category term="Open Semantic Framework"/>
    <category term="Semantic Web"/>
    <category term="Structured Dynamics"/>
    <category term="structWSF"/>
    <category term="#developer"/>
    <category term="#install"/>
    <category term="#open semantic framework"/>
    <category term="#semantic web"/>
    <category term="#structwsf"/>
    <category term="#web services"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/12/13/the-open-semantic-framework-installer/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-03-30T00:56:29Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=991</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/__rKcDzXOCE/" rel="alternate" type="text/html"/>
    <title>The State of Tooling for Semantic Technologies</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=The State of Tooling for Semantic Technologies&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-12-12&amp;rft.identifier=http://www.mkbergman.com/991/the-state-of-tooling-for-semantic-technologies/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Michael K.&amp;rft.subject=Open Source&amp;rft.subject=Semantic Web Tools&amp;rft.subject=Structured Web"/>
Number of Semantic Web Tools Passes 1000 for First Time; Many Other Changes We have been maintaining Sweet Tools, AI3‘s listing of semantic Web and -related tools, for a bit over five years now. Though we had switched to a structWSF-based framework that allows us to update it on a more regular, incremental schedule [1], [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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.type=&amp;rft.format=text&amp;rft.title=The State of Tooling for Semantic Technologies&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-12-12&amp;rft.identifier=http://www.mkbergman.com/991/the-state-of-tooling-for-semantic-technologies/&amp;rft.language=English&amp;rft.aulast=Bergman&amp;rft.aufirst=Michael K.&amp;rft.subject=Open Source&amp;rft.subject=Semantic Web Tools&amp;rft.subject=Structured Web"/>
<h2><a><img align="left" alt="State of SemWeb Tools - 2011" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/sw-earth-2011.png" style="border: 0px solid; width: 230px; height: 273px; float: left; margin-right: 10px;" title="State of SemWeb Tools - 2011"/></a>Number of Semantic Web Tools Passes 1000 for First Time; Many Other Changes</h2>
<p>We have been maintaining <strong><a href="http://feeds.feedburner.com/../sweet-tools">Sweet Tools</a></strong>, <strong>AI3</strong>‘s listing of semantic Web and -related tools, for a bit over five years now. Though we had switched to a <a href="http://openstructs.org/structwsf">structWSF-based framework</a> that allows us to update it on a more regular, incremental schedule <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#tool1">[1]</a>, like all databases, the listing needs to be reviewed and cleaned up on a periodic basis. We have just completed the most recent cleaning and update. We are also now committing to do so on an annual basis.</p>
<p>Thus, this is the inaugural ‘<em>State of Tooling for Semantic Technologies</em>‘ report, and, boy, is it a humdinger. There have been more changes — and more important changes — in this past year than in all four previous years combined. I think it fair to say that semantic technology tooling is now reaching a mature state, the trends of which likely point to future changes as well.</p>
<p>In this past year more tools have been added, more tools have been dropped (or abandoned), and more tools have taken on a professional, sophisticated nature. Further, for the first time, the number of semantic technology and -related tools has passed 1000. This is remarkable, given that more tools have been abandoned or retired than ever before.</p>
<div class="boxRedDotted" style="margin: 10px 0pt 10px 10px; width: 185px; font-size: 1.2em; float: right; text-align: center;">Click <a href="http://feeds.feedburner.com/../sweet-tools/">here</a> to browse the <a href="http://feeds.feedburner.com/../sweet-tools/">Sweet Tools</a> listing. There is also a <a href="http://feeds.feedburner.com/../sweet-tools-simple-list/">simple listing</a> of URL links and categories only.</div>
<p>We first present our key findings and then overall statistics. We conclude with a discussion of observed trends and implications for the near term.</p>
<h3>Key Findings</h3>
<p>Some of the key findings from the <em>2011 State of Tooling for Semantic Technologies</em> are:</p>
<ul>
<li>As of the date of this article, there are 1010 tools in the Sweet Tools listing, the first it has passed 1000 total tools</li>
<li>A total of 158 new tools have been added to the listing in the last six months, an increase of 17%</li>
<li>75 tools have been abandoned or retired, the most removed at any period over the past five years</li>
<li>A further 6%, or 55 tools, have been updated since the last listing</li>
<li>Though open source has always been an important component of the listing, it now constitutes more than 80% of all listings; with dual licenses, open source availability is about 83%. Online systems contribute another 9%</li>
<li>Key application areas for growth have been in SPARQL, ontology-related areas and linked data</li>
<li>Java continues to dominate as the most important language.</li>
</ul>
<p>Many of these points are elaborated below.</p>
<h3>The Statistical Picture</h3>
<p>The updated Sweet Tools listing now includes nearly 50 different tools categories. The most prevalent categories, each with over 6% of the total, are information extraction, general RDF tools, ontology tools, browser tools (RDF, OWL), and parsers or converters. The relative share by category is shown in this diagram (click to expand):</p>
<div style="margin: 10px 0px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/112811_applications.png"> <img alt="Sweet Tools Applications" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/112811_applications.png" style="border: 0px solid; width: 600px; height: 398px;" title="Click to expand"/></a></div>
<p>Since the last listing, the fastest growing categories have been SPARQL, linked data, knowledge bases and all things related to ontologies. The relative changes by tools category are shown in this figure:</p>
<div style="margin: 10px 0px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/112811_applications_change.png"> <img alt="Last Year Sweet Tools Applications" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/112811_applications_change.png" style="border: 0px solid; width: 600px; height: 270px;" title="Click to expand"/></a></div>
<p>Though it is true that some of this growth is the result of discovery, based on our own tool needs and investigations, we have also been monitoring this space for some time and serendipity is not a compelling explanation alone. Rather, I think that we are seeing both an increase in practical tools (such as for querying), plus the trends of linked data growth matched with greater sophistication in areas such as ontologies and the OWL language.</p>
<p>The languages these tools are written in have also been pretty constant over the past couple of years, with Java remaining dominant. Java has represented half of all tools in this space, which continues with the most recent tools as well (see below). More than a dozen programming or scripting languages have at least some share of the semantic tooling space (click to expand):</p>
<div style="margin: 10px 0px;"><img alt="Sweet Tools Languages" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/112811_languages_all.png" style="border: 0px solid; width: 609px; height: 541px;" title="Sweet Tools Languages"/></div>
<p>With only 160 new tools it is hard to draw firm trends, but it does appear that some languages (Haskell, XSLT) have fallen out of favor, while popularity has grown for Flash/Flex (from a small base), Python and Prolog (with the growth of logic tools):</p>
<div style="margin: 10px 0px;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/112811_languages_change.png"> <img alt="Last Year Change in Sweet Tools Languages" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/112811_languages_change.png" style="border: 0px solid; width: 600px; height: 258px;" title="Click to expand"/></a></div>
<p>PHP will likely continue to see some emphasis because of relations to many content management systems (WordPress, Drupal, etc.), though both Python and Ruby seem to be taking some market share in that area.</p>
<h3>New Tools</h3>
<p>The newest tools added to the listing show somewhat similar trends. Again, Java is the dominant language, but with much increased use of JavaScript and Python and Prolog:</p>
<div style="margin: 10px 0px;"><img alt="Sweet Tools Languages" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/112811_languages_new.png" style="border: 0px solid; width: 582px; height: 544px;" title="Sweet Tools Languages"/></div>
<p>The higher incidence of Prolog is likely due to the parallel increase in reasoners and inference engines associated with ontology (OWL) tools.</p>
<p>The increase in comprehensive tool suites and use of Eclipse as a development environment would appear to secure Java’s dominance for some time to come.</p>
<h3>Trends and Observations</h3>
<p>These dry statistics tend to mask the feel one gets when looking at most of the individual tools across the board. Older academic and government-funded project tools are finally getting cleaned out and abandoned. Those tools that remain have tended to get some version upgrades and improved Web sites to accompany them.</p>
<p>The general feel one gets with regard to semantic technology tooling at the close of 2011 has these noticeable trends:</p>
<ul>
<li>A three-tiered environment – the tools seem to segregate into: 1) a bottom tier of tools (largely) developed by individuals or small groups, now most often found on Google Code or Github; 2) a middle-tier of (largely) government-funded projects, sometimes with multiple developers, often older, but with no apparent driving force for ongoing improvements or commercialization; and 3) a top-tier of more professional and (often) commercially-oriented tools. The latter category is the most noticeable with respect to growth and impact</li>
<li>Professionalism – the tools in the apparent top tiers feel to have more professionalism and better (and more attractive) packaging. This professionalism is especially true for the frameworks and composite applications. But, it also applies to many of the EU-funded projects from Europe, which has always been a huge source of new tool developments</li>
<li>More complete toolsets – similarly, the upper levels of tools are oriented to pragmatic problems and problem-solving, which often means they embody multiple functions and more complete tooling environments. This category actually appears to be the most visible one exhibiting growth</li>
<li>Changing nature of academic releases – yet, even the academic releases seem to be increasing in professionalism and completeness. Though in the lowest tier it is still possible to see cursory or experimental tool releases, newer academic releases (often) seem to be more strategically oriented and parts of broader programmatic emphases. Programs like <a href="http://aksw.org/About">AKSW</a> from the University of Leipzig or the <a href="http://dbpedia.org/resource/Freie_Universit%C3%A4t_Berlin" target="_blank" title="Outgoing link (in new window)">Freie Universität Berlin</a> or Finland’s Semantic Computing Research Group (<a href="http://www.seco.tkk.fi/">SeCo</a>), among many others, tend to be exemplars of this trend</li>
<li>Rise of commercial interests and enterprise adoption – the growing maturity of semantic technologies is also drawing commercial interest, and the incubation of new start-ups by academic and research institutions acts to reinforce the above trends. Promising projects and tools are now much more likely to be spun off as potential ventures, with accompanying better packaging, documentation and business models</li>
<li>Multiple languages and applications – with this growing complexity and sophistication has also come more complicated apps, combining multiple languages and functions. In fact, for some time the Sweet Tools listing has been justifiably criticized by some as overly “simplifying” the space by classifying tools under (largely) single applications or single languages. By the 2012 survey, it will likely be necessary to better classify the tools using multiple assignments</li>
<li>Google code over SourceForge for open source (and an increase in Github, as well) – virtually all projects on SourceForge now feel abandoned or less active. The largest source of open source projects in the semantic technology space is now clearly Google Code. Though of a smaller footprint today, we are also seeing many of the newer open source projects also gravitate to Github. Open source hosting environments are clearly in flux.</li>
</ul>
<p>I have said this before, and been wrong about it before, but it is hard to see the tooling growth curve continue at its current slope into the future. I think we will see many individual tools spring up on the open source hosting sites like Google and Github, perhaps at relatively the same steady release rate. But, old projects I think will increasingly be abandoned and older projects will not tend to remain available for as long a time. While a relatively few established open source standards, like Solr and Jena, will be the exception, I think we will see shorter shelf lives for most open source tools moving forward. This will lead to a younger tools base than was the case five or more years ago.</p>
<p>I also think we will continue to see the dominance of open source. Proprietary software has increasingly been challenged in the enterprise space. And, especially in semantic technologies, we tend to see many open source tools that are as capable as proprietary ones, and generally more dynamic as well. The emphasis on open data in this environment also tends to favor open source.</p>
<p>Yet, despite the professionalism, sophistication and complexity trends, I do not yet see massive consolidation in the semantic technology space. While we are seeing a rapid maturation of tooling, I don’t think we have yet seen a similar maturation in revenue and business models. While notable semantic technology start-ups like <a href="http://en.wikipedia.org/wiki/Powerset_%28company%29">Powerset</a> and <a href="http://en.wikipedia.org/wiki/Siri_%28software%29">Siri</a> have been acquired and are clear successes, these wins still remain much in the minority.</p>
<hr align="left" size="1" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="tool1"/>[1] Please use the comments section of this post for suggesting new or overlooked tools. We will incrementally add them to the Sweet Tools listing. Also, please see the About tab of the <a href="http://www.mkbergman.com/sweet-tools/">Sweet Tools</a> results listing for prior releases and statistics.</div>
 <img height="1" src="http://www.mkbergman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=991" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/__rKcDzXOCE" width="1"/></div>
    </content>
    <updated>2011-12-12T14:29:36Z</updated>
    <category term="Open Source"/>
    <category term="Semantic Web Tools"/>
    <category term="Structured Web"/>
    <category term="#linkeddata"/>
    <category term="#semweb"/>
    <category term="new release"/>
    <category term="semantic component"/>
    <category term="semantic framework"/>
    <category term="semantic technologies"/>
    <category term="Semantic Web"/>
    <category term="Sweet Tools"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/991/the-state-of-tooling-for-semantic-technologies/</feedburner:origLink>
    <author>
      <name>Michael K. Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2012-02-28T18:50:04Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/12/05/role-and-use-of-ontologies-in-the-open-semantic-framework/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/SbRv2yDiBBA/" rel="alternate" type="text/html"/>
    <title>Role and Use of Ontologies in the Open Semantic Framework</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Role and Use of Ontologies in the Open Semantic Framework&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Citizen DAN&amp;rft.subject=conStruct&amp;rft.subject=irON&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Components&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-12-05&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/12/05/role-and-use-of-ontologies-in-the-open-semantic-framework/&amp;rft.language=English"/>
Ontologies are to the Open Semantic Framework what humans were to the Mechanical Turk. The hidden human in the Mechanical Turk was orchestrating all and every chess move. However, to the observers, the automated chess machine was looking just like it: a new kind of intelligent machine. We were in 1770. Ontologies plays exactly the [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Role and Use of Ontologies in the Open Semantic Framework&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Citizen DAN&amp;rft.subject=conStruct&amp;rft.subject=irON&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Components&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-12-05&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/12/05/role-and-use-of-ontologies-in-the-open-semantic-framework/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td style="padding: 3px;">Ontologies are to the <a title="">Open Semantic Framework</a> what humans were to the <a title="">Mechanical Turk</a>. The hidden human in the Mechanical Turk was orchestrating all and every chess move. However, to the observers, the <em>automated</em> chess machine was looking just like it: a new kind of intelligent machine. We were in 1770.</td>
<td style="padding: 3px;"><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NhY2hlLmdhd2tlcmFzc2V0cy5jb20vYXNzZXRzL2ltYWdlcy84LzIwMDgvMDkvbWVjaGFuaWNhbF90dXJrLnBuZw=="><div class="aligncenter" style="margin: 10px; overflow: hidden; display: table; line-height: 0; text-align: center; width: 180px;"><img alt="" class=" size-medium wp-image-1748" height="164" src="http://fgiasson.com/blog/wp-content/uploads/2011/12/mechanical_turk-300x274.png" title="Mechanical Turk" width="180"/><br/><img class="shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div></a></td>
</tr>
</tbody>
</table>
<p>Ontologies plays exactly the same role for the Open Semantic Framework (<em>OSF</em>): they orchestrate all and every moves for all the pieces within OSF. They are what instructs <a title="">structWSF</a>, the <a title="">Semantic Components</a>, <a title="">conStruct</a>, and all other derivate pieces of user interfaces how to behave.</p>
<p>In this (lengthy) blog post, I will present the main ontologies that have an impact on different parts of OSF. We will see how different ontology classes and properties, and how the description of the records indexed in the system, can impact the behaviors of OSF.</p>
<p>In addition to this post, Mike has also published a <a title="">blog post today</a> that overviews the overall OSF ontology modularization and architecture.</p>
<p><span id="more-1740"/></p>
<h3>Constituent Ontologies</h3>
<p>Let’s take a look at the core ontologies used by the Open Semantic Framework. All these ontologies have been developed in relation to OSF. These, and other external ontologies, have the same role in OSF as the human does in the Mechanical Turk: they instruct the system how to behave.</p>
<p>Here is the list of the core ontologies:</p>
<ol>
<li>The <a title="">SCO Ontology</a> (Semantic Component Ontology)</li>
<li>The <a title="">WSF Ontology</a> (Web Service Framework Ontology)</li>
<li>The <a title="">AGGR Ontology</a> (Aggregation Ontology)</li>
<li>The <a title="">irON Ontology</a> (Instance Record an Object Notation Ontology)</li>
<li>One or more <a title="">domain ontologies</a>, to capture the concepts and relationships for the purposes of a given OSF installation, and</li>
<li>Possibly <a title="">UMBEL</a> or other upper-level concept ontologies, used for linkages to external systems.</li>
</ol>
<p>(<strong>Note:</strong> the internal wiki links to each of these ontologies also provides links to the actual ontology specifications on Github.)</p>
<p>A useful discussion of these ontologies and their interactions in an OSF instance is provided by the <a title="">ontology modularization</a> document. This current document focuses primarily on the specific properties and roles associated with them in an OSF installation.</p>
<p>Depending on the specific OSF installation, of course, multiple external ontologies may also be employed. Some of the common external ones used in an OSF installation are described by the <a title="">external ontologies</a> document. These external ontologies are important — indeed essential in order to ensure linkage to the external world — but have little to do with internal OSF control structures. That is why the rest of this discussion focused on internal ontologies only.</p>
<h3>Summary Ontology Roles</h3>
<p>Ontologies play pivotal roles across all parts of the framework. In a broad sense, the internal OSF ontologies are used for annotations, guiding interactions or relating concepts and information to other information. In specific terms, OSF ontologies may play one or more of these dozen or so roles:</p>
<ol>
<li>Define record descriptions</li>
<li>Inform interface displays</li>
<li>Integrate different data sources</li>
<li>Define component selections</li>
<li>Define component behaviors</li>
<li>Guide template selection</li>
<li>Provide reasoning and inference</li>
<li>Guide content filtering (with and without inference)</li>
<li>Tag concepts in text documents</li>
<li>Help organize and navigate Web portals</li>
<li>Manage datasets and ontologies, and</li>
<li>Set access permissions and registrations.</li>
</ol>
<p>In the remainder of this post, for each of these roles, we will see how ontologies affect numerous different parts of the OSF framework. These sections are presented in the order above.</p>
<h3>Define Records Descriptions</h3>
<p>A central role of ontologies in the Open Semantic Framework is their use to describe any kind of record that gets indexed and managed by the system. Since the framework indexes everything into the <a title="">RDF</a> data model, ontologies are needed as a schema to describe these RDF resources.</p>
<p>The irON ontology is specifically designed for record descriptions and notations. It interacts with all of the domain and (if used, UMBEL) upper level ontologies.</p>
<h3>Inform Interface Displays</h3>
<p>Ontologies have an impact in most of the user interfaces that display record information. The property that has the most impact is <code>iron:prefLabel</code>, which is used to display the label within the user interface that refers to a record or record attributes (properties). This label can be used within text, in a list control, in a tree control, or in any other kind of control that displays references to records.</p>
<p><strong>Note:</strong> there are also other properties that are considered as fallbacks to <code>iron:prefLabel</code> if a record has no triples using the <code>iron:prefLabel</code> property. These include <code>rdfs:label</code>, <code>dcterms:title</code>, <code>foaf:name</code>, etc.</p>
<h3>General User Interface Labels and Descriptions</h3>
<p>There are a few properties that have an impact on most of the components of the OSF stack, most of which come from the irON ontology. Here is the list of these irON properties that impact other parts of the system, mainly related to different user interfaces:</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>irON Property</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on the different user interfaces</strong></td>
</tr>
<tr>
<td style="padding: 3px;"><code>iron:prefLabel</code></td>
<td style="padding: 3px;">Preferred label to refer to an instance record or specific attribute (property)This impacts most of the user interfaces. As soon as a record is described using this property, the user interface uses it to refer to that record (as a link, in a list, as a word, etc.)</td>
</tr>
<tr>
<td style="padding: 3px;"><code>iron:altLabel</code></td>
<td style="padding: 3px;">Alternative label to refer to an instance record or specific attribute (property)This impacts most of the user interfaces. As soon as a record is described using this property, and that the user interface needs more than one label to refer to that record, it is displayed in the user interface (as a link, in a list, as a word, etc.)</td>
</tr>
<tr>
<td style="padding: 3px;"><code>iron:hiddenLabel</code></td>
<td style="padding: 3px;">Hidden label are labels that shouldn’t be displayed in any user interface, but that may be used by different systems for indexing purposesThis impacts on different indexation system such as <a title="">Scones</a>. As soon as a record is described using this property, and that a system needs more words (synonyms) to use to describe that record, but that label shouldn’t be displayed in any user interface, these hidden labels will be used.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>iron:description</code></td>
<td style="padding: 3px;">Description of an instance record.This impacts most of the user interfaces. As soon as a record is described using this property, and that the user interface needs a description to refers to that record, it will be displayed in the user interface (as a link, in a list, as a word, etc.)</td>
</tr>
<tr>
<td style="padding: 3px;"><code>iron:prefURL</code></td>
<td style="padding: 3px;">Preferred URL for an instance recordThis impacts most of the user interfaces. As soon as a record is described using this property, and that the user interface needs a web page URL to refer to that record, it will be displayed in the user interface (as a link)</td>
</tr>
</tbody>
</table>
</div>
<h3>User Interface ‘Short’ Labels</h3>
<p>There are a few properties that impact most of the components of the OSF stack. Here is the list of SCO properties that impact other parts of the system, mainly related to different user interfaces:</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>SCO Property</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on the different user interfaces</strong></td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:shortLabel</code></td>
<td style="padding: 3px;">The short label is used to display a short version of the label of an attribute/type where it has to be displayed in a restrained region of a component.This impacts multiple different kinds of user interfaces (including the semantic components) in the way that if the user interface knows that the place available to display the label is limited, it will utilize the <code>sco:shortLabel</code> value before any other label values that may be defined for that record.</td>
</tr>
</tbody>
</table>
</div>
<h3>Hierarchical Displays</h3>
<p>The way ontologies define a class or a property structure also has an impact on different kinds of hierarchical displays. An example of this is the “Filter by Kinds” section of the <a title="">structSearch</a> and <a title="">structBrowse</a> modules. The possible filters that may be applied to a search query will be displayed to the user according to the hierarchy as defined in the ontologies.</p>
<h2>Integrate Heterogeneous Data Sources</h2>
<p>The principle reason why the Open Semantic Framework uses RDF and ontologies to describe all the data it indexes and manages is to facilitate data integration from multiple and heterogeneous data sources. The premise of using RDF and ontologies is:</p>
<div>The RDF framework, along with using ontologies as schema, is the most flexible means currently available to describe any kind of data. The RDF-ontology combination can be used to represent any data coming from any other source, data management system, format, or unstructured to structured basis for describing information. (See further the <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5ta2JlcmdtYW4uY29tLzQ4My9hZHZhbnRhZ2VzLWFuZC1teXRocy1vZi1yZGYv" rel="">Advantages and Myths of RDF</a>.)</div>
<p>This foundation leads to the extreme flexibility of the Open Semantic Framework. The rationale behind this flexibility, and its benefits, has been described in many locations within this wiki. You may also want to see this article on <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=Li4vaW5kZXgucGhwLzIwMTEvMDkvMjcvb25lLW9mLXNlbWFudGljLXdlYnMtYWRkZWQtdmFsdWUv" rel="">One of the Semantic Web's Core Added Value</a>.</p>
<p>Ontologies have a dramatic — and positive — impact on the data integration and presentation tasks within an OSF instance.</p>
<h2>Define Component Selections</h2>
<p>A key aspect of the SCO Ontology is its use as the means to define what semantic components (or widgets) display what types of information within data records.</p>
<p>These assignments are done via the <a title="">sControl</a> component. The properties for this component define what components may display what type (class) of data records. Here is the list of SCO properties that impact the sControl’s behaviors:</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>SCO Property</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on the sControl component</strong></td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:displayControl</code></td>
<td style="padding: 3px;">Annotate a class or a property to reference it to a display control. This indicates what are the semantic components that can normally be used to display some information about a record of a certain type, or a record that is described using some property.This property impacts the behavior of the sControl component in the sense that for a given record’s description, and a given ontology, the sControl component will select different semantic controls for displays. The actual information displayed and with what widget(s) depends on the type of the record and the properties that are used to describe it.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:comparableWith</code></td>
<td style="padding: 3px;">Is is possible to specify a “comparableWith” relation between two predicates. These comparable attributes have the same allowedValue(s), and the semantics of the predicates that are deemed comparable are the same. Since the kinds of values, and their semantics, are the same, they are then considered comparable.This property is normally applied when it is desirable, for example, to plot values of different attributes describing similar records on some visualization component (for example, a linear chart).This property impacts the behavior of the sControl component in the sense that for a given record’s description, and a given ontology, the sControl component will display information about multiple input records depending if the value of some of the properties used to describe it are comparable.</td>
</tr>
</tbody>
</table>
</div>
<h2>Define Component Behaviors</h2>
<p>In the Open Semantic Framework, one of the most important roles of ontologies is to define the interaction between different pieces of the system. Because of the extent of these interactions, this section is the longest and most detailed amongst all of the dozen or so ontology roles.</p>
<p>The SCO ontology can have multiple effects on multiple parts of an OSF instance. This section describes those interactions.</p>
<h3>sMap Component</h3>
<p>The <a title="">sMap</a> component had different behaviors depending on how its input record is described. Here is the list of SCO properties that will have an impact on the sMap’s behaviors:</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>SCO Property</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on the sMap component</strong></td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:gisMap</code></td>
<td style="padding: 3px;">Reference a map binary file created created from a ShapeFile map file and <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2dpdGh1Yi5jb20vc3VubGlnaHRsYWJzL2NsZWFybWFwcy90cmVlL21hc3Rlci90b29scy8=" rel="">ClearMapsBuilder</a>. The referenced map file is a serialized ActionScript object.The <code>sco:gisMap</code> defines the first layout that is related to a given resource. Normally, this resource is part of the map related by the gisMap predicate. Read more about maps in the <a title="">sMap</a>documentation page.There is only one gisMap relationship per resource, other relationships should be made with the <code>sco:relatedGisMap</code>predicate.This property impacts the behavior of the sMap component in the sense that it is the record’s description, and is the property that tells the component what map to render to the user.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:relatedGisMap</code></td>
<td style="padding: 3px;">Reference a map binary file created created from a ShapeFile map file and ClearMapsBuilder. The referenced map file is a serialized ActionScript object.The <code>sco:relatedGisMap</code> defines a related map layout that is related to a given resource. The resource is related to that map layer in some ways, but it is not necessarily part of the layer. Read more about maps in the <a title="">sMap</a>documentation page.This property impacts the behavior of the sMap component in the sense that it is the record’s description, and is the property that tells the component what map to render to the user.</td>
</tr>
</tbody>
</table>
</div>
<h3>sWebMap Component</h3>
<p>The <a title="">sWebMap</a> component has different behaviors depending on how its input record is described. Here is the list of SCO and <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL3N0cnVjdHVyZWRkeW5hbWljcy9PbnRvbG9naWVzLU9wZW4tU2VtYW50aWMtRnJhbWV3b3JrL3RyZWUvbWFzdGVyL3dnczg0" rel="">WGS84</a> properties that impact the behavior of an sWebMap:</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>SCO/WGS84 Property</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on the sWebMap component</strong></td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:polygonCoordinates</code></td>
<td style="padding: 3px;">Defines the coordinates of a polygon shape that represents a geographic area determined by a record.<a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL2ttbC9kb2N1bWVudGF0aW9uL2ttbHJlZmVyZW5jZS5odG1sI2Nvb3JkaW5hdGVz" rel="">Coordinates are defined as coordinates in KML</a>This property impacts the behavior of the sWebMap component in the sense that for a given <a title="">resultset</a> of records, polygon shapes are displayed on a World map for each of the records described with the property.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:polylineCoordinates</code></td>
<td style="padding: 3px;">Defines the coordinates of a polyline shape that represents a record on a map.<a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL2ttbC9kb2N1bWVudGF0aW9uL2ttbHJlZmVyZW5jZS5odG1sI2Nvb3JkaW5hdGVz" rel="">Coordinates are defined as coordinates in KML</a>This property impacts the behavior of the sWebMap component in the sense that for a given <a title="">resultset</a> of records, polylines are displayed on a World map for each of the records described with the property.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:mapMarkerImageUrl</code></td>
<td style="padding: 3px;">URL of an icon image to use as a marker on a web map. Normally, this property is used to annotate a Class description. All of the records belonging to that class are marked on a map using this icon image.This property impacts the behavior of the sWebMap component in the sense for a given <a title="">resultset</a> of records, and a given ontology description, all records of a given type of class that are displayed with the marker icon found at the URL specified for <code>sco:mapMarkerImageUrl</code>.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>wgs84:lat</code></td>
<td style="padding: 3px;">Latitude coordinate of a record on a World map.This property impacts the behavior of the sWebMap component in the sense for a given <a title="">resultset</a> of records, each record with a wgs84:lat property is displayed on the sWebMap at that latitude coordinate.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>wgs84:long</code></td>
<td style="padding: 3px;">Longitude coordinate of a record on a World map.This property impacts the behavior of the sWebMap component in the sense for a given <a title="">resultset</a> of records, each record with a wgs84:long property is displayed on the sWebMap at that longitude coordinate.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>wgs84:alt</code></td>
<td style="padding: 3px;">Altitude of a record on a World map.This property impacts the behavior of the sWebMap component in the sense for a given <a title="">resultset</a> of records, each record with a wgs84:alt property is displayed on the sWebMap at that altitude indicator.</td>
</tr>
</tbody>
</table>
</div>
<h3>sStory Component</h3>
<p>The <a title="">sStory </a> component has different behaviors depending on how its input record is described. Here is the list of SCO properties that impact an sStory component:</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>SCO Property</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on the sStory component</strong></td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:storyUrl</code></td>
<td style="padding: 3px;">URL reference to a webpage representation of the story that got indexed into <a title="">Scones</a>.This property impacts the behavior of the sStory component in the sense that for a given record’s description, the sStory component refers users to the original webpage URL that got processed by Scones and is displayed in the sStory component.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:storyTextUri</code></td>
<td style="padding: 3px;">URI reference to the text of a storyThis property impacts the behavior of the sStory component in the sense that for a given record’s description, the sStory component uses the text document referenced by this property to display in the text display of the sStory component.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:storyAnnotatedTextUri</code></td>
<td style="padding: 3px;">URI reference to the annotated text of a story. Annotations are serialized in XML given the <a title="">GATE</a>format.This property impacts the behavior of the sStory component in the sense that for a given record’s description, the sStory component usesw the Gate annotated text document referenced by this property to display the tagged concepts in the tags section of the sStory viewer, and also uses it to highlight the tagged terms within the text viewer.</td>
</tr>
</tbody>
</table>
</div>
<h3>sBarChart and sLinearChart Components</h3>
<p>The <a title="">sBarChart</a> and the <a title="">sLinearChart</a> components exhibit different behaviors depending on how the input records that are enabled for these component types are described. Here is the list of the SCO properties that impact this behavior:</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>SCO Property</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on the sBarChart and the sLinearChart components</strong></td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:comparableWith</code></td>
<td style="padding: 3px;">Is is possible to specify a “comparableWith” relation between two predicates. These comparable attributes have the same allowedValue(s), and the semantics of the predicates that are deemed comparable are the same. Since the kinds of values, and their semantics, are the same, they are then considered comparable.This property is normally applied when it is desirable, for example, to plot values of different attributes describing similar records on some visualization component (for example, a linear chart).This property impacts the behavior of the sLinearChart component in the sense that for a given record’s description, and a given ontology, the sLinearChart component will display the values of the comparable attributes on the a linear chart.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:unitType</code></td>
<td style="padding: 3px;">URI reference to a unit type ontology. The <code>sco:unitType</code> property is used to determine the type of unit referenced by a property. For example, if a data property has <code>xsd:float</code> as range, then <code>sco:unitType</code>determines what kind of things referred to by this number.The semantic components make all of the properties that share the same <code>sco:unitType</code>comparable (so, possibly displayable on the same semantic component, such as the sBarChart and the sLinearChart).This property impacts the behavior of the sLinarChart and the sBarChart component in the sense that for a given record’s description, and a given ontology, the sLinarChart or the sBarChart can be selected and used to display the values with the same unit type on one of these charts.</td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:orderingValue</code></td>
<td style="padding: 3px;">The value of the <code>sco:orderingValue</code> predicate is used to order the predicate of a set of comparable predicates. This set of comparable predicates is normally created from the set composed of all <code>compatibleWith</code>predicates. This is normally used to plot, and order, values of different attributes describing similar records on some visualization component (for example, a linear chart).This property impacts the behavior of the sLinarChart and the sBarChart component in the sense that for a given record’s description, and a given ontology, the sLinarChart or the sBarChart will order the values of comparable properties on the charts, according to the ordering value defined for each property.</td>
</tr>
</tbody>
</table>
</div>
<h3>sRelationBrowser</h3>
<p>The <a title="">sRelationBrowser</a> component exhibits different behaviors depending on how its input record is described. Here is the list of SCO properties that impact the sRelationBrowser component:</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>SCO Property</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on the sRelationBrowser component</strong></td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:relationBrowserNodeType</code></td>
<td style="padding: 3px;">Reference to a relation browser node type used to skin a node according to its type. This should be a reference to a type URI defined in a relation browse nodes skins configuration file. If a record is defined with this property, the relation browser tries to find a node of that type to apply to it as a skin.This property impacts the behavior of the sRelationBrowser component in the sense that for a given record’s description, and a given ontology, the sRelationBrowser component uses the skin specified by the <code>sco:relationBrowserNodeType</code> attribute to display the record in the sRelationBrowser component.</td>
</tr>
</tbody>
</table>
</div>
<h3>sDashboard</h3>
<p>The <a title="">sDashboard</a> component exhibits different behaviors depending on how its input record is described. Here is the list of SCO properties that impact the sDashboard component:</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>SCO Property</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on the sDashboard component</strong></td>
</tr>
<tr>
<td style="padding: 3px;"><code>sco:dashboardSessionFileUri</code></td>
<td style="padding: 3px;">URI reference to the Dashboard session accessible on the Web.This property impacts the behavior of the sRelationBrowser component in the sense that for a given record’s description, and a given ontology, the sDashboard component loads the Dashboard session referenced by this property.</td>
</tr>
</tbody>
</table>
</div>
<h2>Guide Visualization Template Selection</h2>
<p>One of the core features of the conStruct set of Drupal modules is the ability to use different display templates depending on the types of records available. The selection of these templates is based on the types of those records and the type hierarchies described by the OSF ontologies. This section describes how these ontologies guide template selections.</p>
<p>As a refresher on templates and their use, see the <a title="">Building conStruct Templates</a> document. It describes how the templating engine works and how to create various templates.</p>
<h3>Template Selection</h3>
<p>Template selection is the action of binding an instance record to a display template based on its <em>type</em>. Three things are required to make this happen:</p>
<ol>
<li>Instance records have to be typed</li>
<li>An ontological structure of type relationships (via <code>subClasses</code>) has to exist in one or more OSF ontology(ies), and</li>
<li>A template has to exist for the type of the instance record.</li>
</ol>
<p>(<strong>Note:</strong> a specific template by type is not strictly required, since lacking a specific template for the target type, the system will invoke the nearest template up the parental chain in the governing ontology structure, eventually getting to the most generic template available, that for “thing”.)</p>
<h3>Impact of Ontologies on Template Selection</h3>
<p>conStruct’s templating engine selects record display templates based on the class hierarchy loaded on a OSF instance. It also uses inference on types to select the proper template for a given record.</p>
<p>Let’s say that we try to display information about a <code>foaf:Person</code> instance record. What the system attempts to do is to find a template that displays information about this kind of instance record. First, the <code>foaf:Person</code> type (class) has to be defined in the ontological structure of the OSF instance; if it is not, then no specific template will be selected and the system will default to using the <code>owl_thing.html</code> template (see below). If the type (class) is found, the system will next check to see if a template exists for that specific type. If one exists one, it will use the matching template. If one does not, it will next select the parent class of the type and try the match again. If it again fails, it will continue its test up the parental chain. If all tests fail, it will use the default <code>owl_thing.html</code> template. Whichever template is selected then becomes the basis for formatting and presenting the visual record display.</p>
<p>We can use a simple class hierarchy, matched to a simple set of available template files, to illustrate how ontologies impact the conStruct templating system.</p>
<div>
<table border="1" cellpadding="10" cellspacing="0" width="100%">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Loaded Class Hierarchy</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Available template files</strong></td>
</tr>
<tr>
<td style="padding: 3px;">
<pre>owl:Thing
   |
   |
    --&gt; foaf:Agent
            |
            |
            |--&gt; foaf:Person
            |
            |
             --&gt; foaf:Organization</pre>
</td>
<td style="padding: 3px;">
<pre>  owl_thing.tpl
  foaf_agent.tpl
  foaf_organization.tpl</pre>
</td>
</tr>
</tbody>
</table>
</div>
<p>Now, let’s say that our OSF portal is about to display information about a <code>foaf:Person</code> record. As we can notice, there is no <code>foaf_person.tpl</code> template available for a <code>foaf:Person</code>. However, because of the ontology structure, the system next attempts to select a template from a <em>parent</em> class of that <code>foaf:Person</code>.</p>
<p>What the system would do is to check if there is a template available for a record of type <code>foaf:Person</code>. Since there is none, it would try to find one for a parent type, so in this case the <code>foaf:Agent</code> class. In our example, there is now a match. The templating engine thus uses the <code>foaf_agent.tpl</code> template to display information about the <code>foaf:Person</code> record.</p>
<p>Were the <code>foaf_agent.tpl</code> not to exist, then the templating engine would fall back to the <code>owl_thing.tpl</code> template, which is considered to be the “generic record display template”, or the template of last resort.</p>
<p>This design means that if:</p>
<ol>
<li>the ontological structure changes over time, or</li>
<li>new templates get added to the system</li>
</ol>
<p>then there may be an impact on how the record gets displayed.</p>
<p>The major advantage of this design is that more and more specific formatting templates may be added to an OSF installation over time, both improving the tailored look of results displays and accommodating more structure and relationships as they evolve.</p>
<h2>Provide Reasoning and Inference</h2>
<p>A standard use of ontologies is for reasoning and inference, and those used by OSF are no exception.</p>
<p>By extension, however, we can also use these same capabilities to check on data consistency and coherence. This is an important feature of the system since the system can detect if there are logical inconsistencies or logical incoherencies that have been developed by the system administrator during ontology growth and development. Having coherent and consistent ontologies means that we have the proper foundations to create consistent and coherent datasets of instance records.</p>
<p>See further the discussion on <a title="">reasoning using Protégé</a>.</p>
<h2>Guide Content Filtering</h2>
<p>Filtering data is the action of getting a subset of records from a complete dataset based on some selection criteria. In OSF, the predominant share of filtering is done using the structWSF <a title="">Search</a> Web service endpoint. The a minority of filtering is done using the <a title="">SPARQL</a> endpoint. It is also possible to filter via the AGGR aggregation ontology.</p>
<p>Possible filtering criteria for the Search endpoint are:</p>
<ol>
<li>Filtering by type(s)</li>
<li>Filtering by attribute(s)</li>
<li>Filtering by attribute(s)/value(s)</li>
<li>Filtering by geo-localization (within a given geographical area)</li>
</ol>
<p>These filtering activities are performed by different tools of the stack, such as:</p>
<ul>
<li>structSearch</li>
<li>structBrowse</li>
<li>sWebMap</li>
</ul>
<p>These tools are impacted by the definition of the loaded ontologies. The filtering of the values by types, attributes and attributes/values requires an ontology class or an ontology property as filtering criteria.</p>
<h3>Filtering with Inference</h3>
<p>Also, the <em>any</em> <a title="">Search</a> query can be performed with <code>inference</code> enabled. Just like with the template selection section noted above, inference can have a big impact on the number and nature of returned results. Let’s consider this example class structure:</p>
<div>
<table border="1" cellpadding="10" cellspacing="0" width="100%">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Loaded Class Hierarchy</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Indexer Records</strong></td>
</tr>
<tr>
<td style="padding: 3px;">
<pre>owl:Thing
   |
   |
    --&gt; bibo:Document
            |
            |
            |
             --&gt; bibo:Image
                     |
                     |
                     |--&gt; muni:HeritageImage
                     |        |
                     |        |
                     |         --&gt; muni:ParkHeritageImage
                     |
                     |
                     |--&gt; muni:NeighborhoodImage
                     |
                     |
                     |
                      --&gt; muni:ParkImage</pre>
</td>
<td style="padding: 3px;">
<pre>  &lt;1&gt; a bibo:Image .
  &lt;2&gt; a muni:HeritageImage .
  &lt;3&gt; a muni:HeritageImage .
  &lt;4&gt; a muni:ParkHeritageImage .
  &lt;5&gt; a muni:ParlImage .</pre>
</td>
</tr>
</tbody>
</table>
</div>
<p>This class structure shows a hierarchy of images where the leaf classes are topical image classes (so classes where their individuals are considered images representing one of the topic: Heritage, Neighborhood and Park). Now let’s see how this class structure impacts Search queries, and returned results, by different tools (structSearch, structBrowse, sWebMap and others).</p>
<p>Here is a series of Search queries sent to a structWSF instance that has this class hierarchy loaded, using the sample specification noted above. This tables shows the results potentially returned by the Search endpoint with and without inferencing turned on:</p>
<div>
<table border="1" cellpadding="10" cellspacing="0" width="100%">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Use Case</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Type Filter</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Inference</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Returned Results</strong></td>
</tr>
<tr>
<td style="padding: 3px;">#1</td>
<td style="padding: 3px;"><code>muni:HeritageImage</code></td>
<td style="padding: 3px;">Off</td>
<td style="padding: 3px;">
<pre>&lt;2&gt; a muni:HeritageImage .
&lt;3&gt; a muni:HeritageImage .</pre>
</td>
</tr>
<tr>
<td style="padding: 3px;">#2</td>
<td style="padding: 3px;"><code>muni:HeritageImage</code></td>
<td style="padding: 3px;">On</td>
<td style="padding: 3px;">
<pre>&lt;2&gt; a muni:HeritageImage .
&lt;3&gt; a muni:HeritageImage .
&lt;4&gt; a muni:ParkHeritageImage .</pre>
</td>
</tr>
<tr>
<td style="padding: 3px;">#3</td>
<td style="padding: 3px;"><code>bibo:Image</code></td>
<td style="padding: 3px;">Off</td>
<td style="padding: 3px;"/>
</tr>
<tr>
<td style="padding: 3px;">#4</td>
<td style="padding: 3px;"><code>bibo:Image</code></td>
<td style="padding: 3px;">On</td>
<td style="padding: 3px;">
<pre>&lt;1&gt; a bibo:Image .
&lt;2&gt; a muni:HeritageImage .
&lt;3&gt; a muni:HeritageImage .
&lt;4&gt; a muni:ParkHeritageImage .
&lt;5&gt; a muni:ParlImage .</pre>
</td>
</tr>
</tbody>
</table>
</div>
<p>In the Use Case #1, the user requests all of the <code>muni:HeritageImages</code> without inferencing. This means that the Search endpoint will return all of the records that have been typed as <code>muni:HeritageImage</code>. In this case, the records <code>&lt;2&gt; and &lt;3&gt;</code> got returned.</p>
<p>Use Case #2 is a variant of Use Case #1, only now with inferencing enabled. In this use case, the Search endpoint will return all the <code>muni:HeritageImage</code> and all the records that are typed with one of its subtypes (in this case, <code>muni:ParkHeritageImage</code>). For this query, records <code>&lt;2&gt;, &lt;3&gt; and &lt;4&gt;</code> got returned. This case shows where ontologies can have a dramatic impact on the system. If we modify that class hierarchy and put the <code>muni:ParkHeritageImage</code> as being a sub-class-of <code>bibo:Image</code>, then the same results would be returned for Use Case #2 than we got with Use Case #1.</p>
<p>With Use Case #3, the endpoint does not return any results because inferencing is disabled, and because there is no record typed as <code>bibo:Image</code>.</p>
<p>Use Case #4 is a variant of Use Case #3 where inferencing is enabled. The endpoint returns all the image records because all of them are <code>bibo:Image</code> by inference on type.</p>
<h3>Filtering via the AGGR Ontology</h3>
<p>The <a title="">AGGR Ontology</a> also has an impact on anything that displays facets of filtered searches. Amongst others, it impacts the structSearch and structBrowse <a title="">conStruct</a> modules. It also impacts different user interfaces that use the Search Web service endpoint to perform auto-completion tasks.</p>
<h2>Tag Concepts in Text Documents</h2>
<p>In the <a title="">Open Semantic Framework</a>, the <a title="">Scones</a> Web service endpoint is what is used to analyze unstructured text documents, then turning them into semi-structured text documents by automatically tagging concepts. The concept tagging takes place using <a title="">ontology-based information extraction</a>, or OBIE. Named entity dictionaries are the basis for entity tagging.</p>
<p>These concepts used for the tagging come from selected ontologies loaded on the system. The way these ontologies have been created, and the way the classes and named individuals have been defined, has a dramatic impact on the quality of the documents tagged by Scones.</p>
<p>Scones uses two things from ontologies:</p>
<ul>
<li>its classes</li>
<li>its named individuals</li>
</ul>
<p>Depending on settings, one or both of these sources may be used for scones tagging.</p>
<p>There are a few properties intimately related to the Scones Web service endpoint:</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Properties</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on Scones</strong></td>
</tr>
<tr>
<td style="padding: 3px;">iron:prefLabel</td>
<td style="padding: 3px;">Preferred label to refer to an instance record.This property impacts the behavior of the Scones tagger in the sense that the value of the <code>iron:prefLabel</code> property is used to detect and tag as a reference the corresponding class or named individual.</td>
</tr>
<tr>
<td style="padding: 3px;">iron:altLabel</td>
<td style="padding: 3px;">Alternative label to refer to an instance record.This property impacts the behavior of the Scones tagger in the sense that the value(s) of the <code>iron:altLabel</code> property is used to detect and tag as a reference the corresponding class(es) or named individual(s).</td>
</tr>
<tr>
<td style="padding: 3px;">iron:hiddenLabel</td>
<td style="padding: 3px;">Hidden label are labels that are not displayed in any user interface, but may be used by different systems for indexing purposes (such as for recognizing misspellings).This property impacts the behavior of the Scones tagger in the sense that the value(s) of the <code>iron:hiddenLabel</code> property is used to detect and tag as a reference the corresponding class(es) or named individual(s). As we saw above, hidden labels are not displayed in user interfaces. However, they <em><strong>are</strong></em> used to specify variations in the way some of the other labels may be written. These hidden labels are explicitly used by the Scones tagger.</td>
</tr>
<tr>
<td style="padding: 3px;">sco:namedEntity</td>
<td style="padding: 3px;">Specifies if a resource can be considered a named entity. Literal value: “true” or “false”.This property impacts the behavior of the Scones tagger in the sense that all of the records with the <code>sco:namedEntity</code> property set to <code>true</code>are automatically added by the Scones endpoint to its Named Entities Dictionaries.This means that all the records that are specified to be named entities will be used by Scones to tag any input text documents.</td>
</tr>
</tbody>
</table>
</div>
<h2>Help Navigate and Organize Web Portals</h2>
<p>In OSF, ontologies also have an impact on the general organization of a Web portal and how it is navigated.</p>
<h3>Portal Navigation</h3>
<p>In an OSF portal, its domain ontologies use the <code>sRelationBrowser</code> for general navigation. The relation browser is a tool that lets users dynamically navigate a graph (that is, nodes with arcs that links these nodes). The most widespread usage of the relation browser is to let users navigate the links between ontology concepts. These concepts are the anchor points of what other content is available on the Web portal. By navigating the concepts (classes) structure, users are able to explore an OSF portal’s entire content.</p>
<p>Each node in the <code>sRelationBrowser</code> semantic component is linked to whatever other kinds of related records exist in the system. Depending on the types of those records, other semantic components can then be invoked to display this tightly related content for each node.</p>
<p>Ontologies thus impact navigation and discovery on an OSF portal in two ways:</p>
<ol>
<li>They impact the navigation of the structure by defining which concepts are linked to other concepts and with what property</li>
<li>They define what related records may get displayed to the user based on their classes and properties.</li>
</ol>
<h3>Layouts Organization</h3>
<p>OSF Web portals are mainly organized by <a title="">Layouts</a>. A <a title="">layout</a> is a specific page presentation format with specific design, components and ordering and sizing of those components. This page presentation is highly influenced by the kind of things indexed in the system. Generally, layouts present records of a certain type (or family of types), along with specialized functions that users are able to use to perform different actions on that set of records.</p>
<p>Here are a few examples of such layouts:</p>
<ul>
<li><a title="">Sample Chart Template</a></li>
<li><a title="">Sample Image Template</a></li>
<li><a title="">Sample Topic Template</a></li>
<li><a title="">Sample WebMap Template</a></li>
</ul>
<p>These layouts aggregate all of the records of a certain type (like images of all kinds), display them using different kind of tools (like an Images Gallery), and filter them depending on different filtering criteria (like mapping the position where each image got captured, on a map, within a specific neighborhood area).</p>
<p>The ontologies impact the general organization of the Web portal because of the kind of things that are indexed in the system interacting with the available layouts.</p>
<h2>Manage Datasets and Ontologies</h2>
<p>Basic settings for managing datasets and ontologies is provided by the <a title="">WSF Ontology</a>. It presently does so via two mechanisms.</p>
<h4>Datasets Syncing Framework</h4>
<p>The <a title="">Datasets Syncing Framework</a> behaves differently depending on the value of the <code>wsf:crudAction</code> property for each input record.</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>WSF Property</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on the DSF</strong></td>
</tr>
<tr>
<td style="padding: 3px;"><code>wsf:crudAction</code></td>
<td style="padding: 3px;">States the CRUD action that should be used to index a given record into structWSF. This property is used by the Datasets Syncing Framework to determine if the record feed to it should be created, deleted or updated.The value of this property can be one of:(1) create (2) update (3) deleteThis property impact the behavior of the DSF in the sense that it is the record’s description, using this property that will tells the framework how to behave (create, delete or update) toward the input record. If nothing is specified, the record will simply be ignored.</td>
</tr>
</tbody>
</table>
</div>
<h4>structOntology</h4>
<p>The <a title="">structOntology</a> conStruct module exhibits different behavior depending on the value of the <code>wsf:ontologyModified</code> property for each input ontology description.</p>
<div align="center">
<table border="1" cellpadding="10" cellspacing="0">
<tbody>
<tr>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>WSF Property</strong></td>
<td style="padding: 3px; background-color: #ffffe5; font: bold 100% sans-serif; text-align: center;"><strong>Impact on the DSF</strong></td>
</tr>
<tr>
<td style="padding: 3px;"><code>wsf:ontologyModified</code></td>
<td style="padding: 3px;">States if an ontology has been modified since the last time it got saved on the file system of the OSF server instance.This property impacts the behavior of the structOntology module in the sense that if, for an input ontology, the description of that ontology states that this property is “true”, then it will notify the user via its loaded ontologies list that the ontology has been modified, and that it has not yet been saved.</td>
</tr>
</tbody>
</table>
</div>
<h2>Set Access Permissions and Registrations</h2>
<p>The <a title="">WSF Ontology</a> also has a principal purpose to describe the internal state of a structWSF instance such as the internal access control records, the datasets descriptions, the registered web service endpoints, etc. As a result, this ontology can have multiple effects on other parts of an OSF instance.</p>
<p>The WSF Ontology is used to describe three main areas of a <a title="">structWSF</a> installation:</p>
<ol>
<li>datasets registry</li>
<li>access definition registry</li>
<li>registered web services endpoints registry</li>
</ol>
<p>These registries are hosted in some specialized datasets in the triple store (<a title="">Virtuoso</a> for most OSF installations). The information indexed in these different registries is defined using the WSF ontology.</p>
<p>All structWSF Web services are affected by these registries.</p>
 <img height="1" src="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1740" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/SbRv2yDiBBA" width="1"/></div>
    </content>
    <updated>2011-12-05T18:02:14Z</updated>
    <category term="Citizen DAN"/>
    <category term="conStruct"/>
    <category term="irON"/>
    <category term="Open Semantic Framework"/>
    <category term="Semantic Components"/>
    <category term="Semantic Web"/>
    <category term="Structured Dynamics"/>
    <category term="structWSF"/>
    <category term="#data"/>
    <category term="#data integration"/>
    <category term="#ontology"/>
    <category term="#open semantic framework"/>
    <category term="#rdf"/>
    <category term="#semantic web"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/12/05/role-and-use-of-ontologies-in-the-open-semantic-framework/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-03-30T00:56:29Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=989</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/A0R2V3OUxF8/" rel="alternate" type="text/html"/>
    <title>An Ontologies Architecture for Ontology-driven Apps</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=An Ontologies Architecture for Ontology-driven Apps&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Ontologies&amp;rft.subject=Open Semantic Framework&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-12-05&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/989/an-ontologies-architecture-for-ontology-driven-apps/&amp;rft.language=English"/>
Ontology Modularization and Roles within an OSF Instance For some time now, Structured Dynamics (SD) has been touting the unique advantages of ODapps, or ontology-driven applications [1]. 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 [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=An Ontologies Architecture for Ontology-driven Apps&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Ontologies&amp;rft.subject=Open Semantic Framework&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-12-05&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/989/an-ontologies-architecture-for-ontology-driven-apps/&amp;rft.language=English"/>
<h2><a><img align="left" alt="Open Semantic Framework" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/2010Posts/triple_90.png" title="Open Semantic Framework"/></a> Ontology Modularization and Roles within an OSF Instance</h2>
<p>For some time now, <a href="http://structureddynamics.com/">Structured Dynamics</a> (SD) has been touting the unique advantages of ODapps, or <em><a href="http://techwiki.openstructs.org/index.php/Ontology-driven_Applications"> ontology-driven applications</a></em> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#arch1">[1]</a>. 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 supplemented by UI and instruction sets and validations and rules. When these supplements are added to standard ontology functions, we collectively term them <em><a href="http://techwiki.openstructs.org/index.php/Adaptive_Ontology_Concept"> adaptive ontologies</a></em><a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#arch2"> [2]</a>.</p>
<p>To further the discussion around ODapps, today we are publishing two new documents, using the semantic technology foundation of the <a href="http://openstructs.org/open-semantic-framework">open semantic framework</a>. OSF is a comprehensive, open source stack of SD and external tools that provides a turnkey environment for enterprises to adopt semantic technologies and approaches. OSF has been designed from the ground up to be an ontology-driven application framework.</p>
<p>The first new document, posted on Fred Giasson’s blog, provides a detailed discussion of the <a href="http://fgiasson.com/blog/index.php/2011/12/05/role-and-use-of-ontologies-in-the-open-semantic-framework">dozen or so roles ontologies can play within an OSF installation</a>. Fred’s document is geared more to specific properties and configurations useful to deploy this framework; that is, the “drivers” in an ODapp setting. The second new document — this one — is more of a broad overview of the modularization and architecture of the constituent ontologies that make up an OSF installation. Both documents have also been posted to SD’s open content <a href="http://techwiki.openstructs.org/index.php/Main_Page">TechWiki</a> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#arch3">[3]</a>, which now has about 360 technical articles on understanding and implementing an OSF installation, importantly including its ontologies.</p>
<h3>OSF Constituent Ontologies</h3>
<p>As presently configured, an OSF installation may typically utilize most or all of the following internal ontologies:</p>
<ul>
<li>The <a href="http://techwiki.openstructs.org/index.php/SCO_Ontology" title="SCO Ontology">SCO Ontology</a> (Semantic Component Ontology)</li>
<li>The <a href="http://techwiki.openstructs.org/index.php/WSF_Ontology" title="WSF Ontology">WSF Ontology</a> (Web Service Framework Ontology)</li>
<li>The <a href="http://techwiki.openstructs.org/index.php/AGGR_Ontology" title="AGGR Ontology">AGGR Ontology</a> (Aggregation Ontology)</li>
<li>The <a href="http://techwiki.openstructs.org/index.php/IrON_Ontology" title="IrON Ontology">irON Ontology</a> (Instance Record and Object Notation Ontology)</li>
<li>One or more <a href="http://techwiki.openstructs.org/index.php/Domain_Ontologies_in_OSF" title="Domain Ontologies in OSF">domain ontologies</a>, to capture the concepts and relationships for the purposes of a given OSF installation, and</li>
<li>Possibly <a href="http://techwiki.openstructs.org/index.php/UMBEL:_Overview_and_Relation_to_OSF" title="UMBEL: Overview and Relation to OSF">UMBEL</a> (optional) or other upper-level concept ontologies, used for linkages to external systems.</li>
</ul>
<p>(<strong>Note:</strong> the internal wiki links to each of these ontologies also provides links to the actual ontology specifications on Github.)</p>
<p>Depending on the specific OSF installation, of course, multiple external ontologies may also be employed. Some of the common external ones used in an OSF installation are described by the <a href="http://techwiki.openstructs.org/index.php/Common_External_Ontologies" title="Common External Ontologies">external ontologies</a> document on the TechWiki. These external ontologies are important — indeed essential in order to ensure linkage to the external world — but have little to do with internal OSF control structures. That is why the rest of this discussion is focused on internal ontologies only.</p>
<h3>The OSF Ontologies Architecture</h3>
<p>The actual relationships between these ontologies are shown in the following diagram. Note that the ontologies tend to cluster into two main areas:</p>
<ol>
<li>Content (or domain) ontologies, which tend to embody more of the traditional ontology functions such as information interoperability. inferencing, reasoning and conceptual and knowledge capture of the applicable domain; and</li>
<li>Administrative ontologies, which govern internal application use and user interface interactions.</li>
</ol>
<p>This ontology architecture supports the broader open semantic framework:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111205_osf_ontologies.png"> <img alt="OSF Ontologies Architecture" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111205_osf_ontologies.png" style="border: 0px solid; width: 600px; height: 464px;" title="OSF Ontologies Architecture"/></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/111205_osf_ontologies.png"> full size</a>)</small></p>
<p>The WSF ontology plays a special role in that it sets the overall permission and access rights to the other components and ontologies. The UMBEL ontology (or other upper-level ontologies that might be chosen) is also optional. Such vocabularies are included when interoperability with external applications or knowledge bases is desired.</p>
<h3>Summary of OSF Roles</h3>
<p>We can further disaggregate these ontology splits with respect to the specific dozen or so ontology roles discussed in Fred’s complementary piece on <a href="http://fgiasson.com/blog/index.php/2011/12/05/role-and-use-of-ontologies-in-the-open-semantic-framework">ontology roles in OSF</a>. These dozen roles are shown by the rows with interactions marked for the various ontologies:</p>
<div align="center">
<table border="1" cellpadding="4" cellspacing="0">
<tbody>
<tr>
<td style="vertical-align: top; font-weight: bold; background-color: #ffffcc;"> </td>
<td style="vertical-align: top; font-weight: bold; background-color: #ffffcc;">S <br/> C <br/> O</td>
<td style="vertical-align: top; font-weight: bold; background-color: #ffffcc;">A <br/> G <br/> G <br/> R</td>
<td style="vertical-align: top; font-weight: bold; background-color: #ffffcc;">W <br/> S <br/> F</td>
<td style="vertical-align: top; font-weight: bold; background-color: #ffffcc;">i <br/> r <br/> O <br/> N</td>
<td style="vertical-align: top; font-weight: bold; background-color: #ffffcc;">D <br/> o <br/> m <br/> a <br/> i <br/> n</td>
<td style="vertical-align: top; font-weight: bold; background-color: #ffffcc;">U <br/> M <br/> B <br/> E <br/> L</td>
</tr>
<tr>
<td>Define record descriptions</td>
<td> </td>
<td> </td>
<td> </td>
<td>♦</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Inform interface displays</td>
<td> </td>
<td> </td>
<td> </td>
<td>♦</td>
<td>♦</td>
<td>♦</td>
</tr>
<tr>
<td>Integrate different data sources</td>
<td> </td>
<td> </td>
<td> </td>
<td>♦</td>
<td>♦</td>
<td>♦</td>
</tr>
<tr>
<td>Define component selections</td>
<td>♦</td>
<td> </td>
<td> </td>
<td>♦</td>
<td>♦</td>
<td>♦</td>
</tr>
<tr>
<td>Define component behaviors</td>
<td>♦</td>
<td>♦</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Guide template selection</td>
<td> </td>
<td> </td>
<td> </td>
<td>♦</td>
<td>♦</td>
<td>♦</td>
</tr>
<tr>
<td>Provide reasoning and inference</td>
<td> </td>
<td> </td>
<td> </td>
<td>♦</td>
<td>♦</td>
<td>♦</td>
</tr>
<tr>
<td>Guide content filtering (with and without inference)</td>
<td> </td>
<td>♦</td>
<td>♦</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Tag concepts in text documents</td>
<td> </td>
<td> </td>
<td> </td>
<td>♦</td>
<td>♦</td>
<td>♦</td>
</tr>
<tr>
<td>Help organize and navigate Web portals</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td>♦</td>
<td>♦</td>
</tr>
<tr>
<td>Manage datasets and ontologies</td>
<td> </td>
<td> </td>
<td>♦</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Set access permissions and registrations</td>
<td> </td>
<td> </td>
<td>♦</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</tbody>
</table>
</div>
<p>One of the unique aspects of adaptive ontologies is their added role in informing user interfaces and supporting specific semantic tools. Note, for example, the role of the content ontologies in informing interface displays, as well as their use in tagging concepts (via information extraction). These additional roles are the reason that these ontologies are shown as straddling both content and administrative functions in the first figure.</p>
<p>See Fred’s piece to learn more about these dozen roles.</p>
<h3>Interactions Are More Complex than Arrows</h3>
<p>Naturally, a simple drawn arrow between ontologies (first figure) or a checkmark on a matrix (table above) can hide important details of how these interactions between ontologies and components actually work. In an <a href="http://feeds.feedburner.com/../948/ontology-driven-apps-using-generic-applications/"> earlier article</a>, we discussed how the whole workflow takes place between users and user interface selections affecting the types of data returned by those selections, and then the <a href="http://techwiki.openstructs.org/index.php/Category:Semantic_Component"> semantic components</a> (widgets) used to display them. This example interaction is shown by the following animation:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/sco_animation.gif"> <img alt="Semantic Components Workflow" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/sco_animation.gif" style="border: 0px solid; width: 600px; height: 538px;" title="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>The blue nodes show the ontology interactions. These, in turn, instruct how the various components (yellow) and code (green) need to operate. These interactions are the essence of an ontology-driven app. The software is expressively designed to respond to specifications in the ontology(ies) used, and the ontologies themselves embrace some additional properties specific to driving those apps.</p>
<h3>Possible Future Directions</h3>
<p>ODapps are a relatively new paradigm, from which we continue to learn more about uses and potentials. We have wanted to write the first versions of these two new documents for some time, but have held off as we learned and exploited further the latent potentials in this design. As it stands, we see further potentials in this approach, and will therefore be likely adding new ontologies and capabilities to the general system for some time.</p>
<p>Some of the areas that look promising to us include:</p>
<ul>
<li>A generalized statistical ontology, especially as it can inform data displays in the semantic components</li>
<li>Even more capable widgets in business intelligence (BI) uses, with a concomitant expansion of the vocabulary (predicates and classes) in some of the underlying ontologies</li>
<li>More aggregation and summation functions supported by the AGGR ontology, and</li>
<li>Still further improved permissions and access layers in the WSF ontology.</li>
</ul>
<p>These potentials arise from the native power of the design basis for ontology-driven apps. Conceptually, the design is simplicity itself. Operationally, the system is extremely flexibile and robust. Strategically, it means that development and specification efforts can now move from coding and programmers to ontologies and the subject matter users who define and depend on them. With these advantages, who can argue with that?</p>
<hr align="left" size="1" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="arch1"/>[1] For the most comprehensive discussion of ODapps, see M. K. Bergman, 2011. ” <a href="http://feeds.feedburner.com/../948/ontology-driven-apps-using-generic-applications/" rel="bookmark" title="Permanent Link to Ontology-Driven Apps Using Generic Applications">Ontology-Driven Apps Using Generic Applications</a>,” posted on the AI3:::Adaptive Information blog, March 7, 2011. You may also search on that blog for ‘<a href="http://feeds.feedburner.com/../?s=%22ontology-driven%22">ODapps</a>‘ to see related content.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="arch2"/>[2] See M.K. Bergman, 2009. <a href="http://feeds.feedburner.com/../492/ontology-best-practices-for-data-driven-applications-part-3/"> “Ontologies as the ‘Engine’ for Data-Driven Applications“</a>, AI3:::Adaptive Information blog, June 10, 2009, for the first presentation of these topics, but the specific term adaptive ontology was not yet used. That term was first introduced in <a href="http://feeds.feedburner.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://feeds.feedburner.com/../847/ontology-driven-applications-using-adaptive-ontologies/"> “Ontology-driven Applications Using Adaptive Ontologies”</a>, AI3:::Adaptive Information blog, November 23, 2009. The relation of these topics to enterprise software was first presented in M.K. Bergman, 2009. <a href="http://feeds.feedburner.com/../825/fresh-perspectives-on-the-semantic-enterprise/"> “Fresh Perspectives on the Semantic Enterprise”</a>, AI3:::Adaptive Information blog, September 28, 2009.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="arch3"/>[3] Slight revisions of these documents have been posted to the TechWiki as <a href="http://techwiki.openstructs.org/index.php/Role_and_Use_of_Ontologies_in_OSF" title="Role and Use of Ontologies in OSF">Role and Use of Ontologies in OSF</a> and <a href="http://techwiki.openstructs.org/index.php/OSF_Ontologies_Modularization_and_Architecture" title="OSF Ontologies Modularization and Architecture">OSF Ontologies Modularization and Architecture</a>, respectively.</div>
 <img height="1" src="http://www.mkbergman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=989" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/A0R2V3OUxF8" width="1"/></div>
    </content>
    <updated>2011-12-05T18:01:41Z</updated>
    <category term="Ontologies"/>
    <category term="Open Semantic Framework"/>
    <category term="#data"/>
    <category term="#data integration"/>
    <category term="#semweb"/>
    <category term="Ontology"/>
    <category term="rdf"/>
    <category term="Semantic Web"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/989/an-ontologies-architecture-for-ontology-driven-apps/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2012-02-23T12:50:55Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/11/21/moving-projects-from-google-code-to-github/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/0IsJuHZRf0U/" rel="alternate" type="text/html"/>
    <title>Moving Projects from Google Code to GitHub</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Moving Projects from Google Code to GitHub&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=conStruct&amp;rft.subject=irON&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Programming&amp;rft.subject=Semantic Components&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-11-21&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/11/21/moving-projects-from-google-code-to-github/&amp;rft.language=English"/>
Last week we slowly migrated Structured Dynamics‘ Google Code Projects to GitHub.We have been thinking about moving to GitHub for some time now, but we only wanted to move projects to it if no prior history and commits were dropped in the process. One motivation for the possible change has been the seeming lack of [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Moving Projects from Google Code to GitHub&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=conStruct&amp;rft.subject=irON&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Programming&amp;rft.subject=Semantic Components&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-11-21&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/11/21/moving-projects-from-google-code-to-github/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>Last week we slowly migrated <a title="">Structured Dynamics</a>‘ Google Code Projects to <a title="">GitHub</a>.We have been thinking about moving to GitHub for some time now, but we only wanted to move projects to it if no prior history and commits were dropped in the process. One motivation for the possible change has been the seeming lack of support by Google for certain long-standing services: we are seeing disturbing trends across a number of existing services. We also needed a migration process that would work with all of our various projects, without losing a trunk, branch, tag or commits (and their related comments).</td>
<td><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL3N0cnVjdHVyZWRkeW5hbWljcw=="><img alt="" class="aligncenter size-medium wp-image-1713" height="180" src="http://fgiasson.com/blog/wp-content/uploads/2011/11/github-profile-200x300.png" width="120"/></a></td>
</tr>
</tbody>
</table>
<p>It was not until recently that I found a workable process. Other people have successfully migrated Google Code SVN projects to GitHub, but I had yet to find a consolidated guide to do it. It is for this last reason that I write this blog post: to help people, if they desire, to move projects from Google Code to GitHub.</p>
<h3>Moving from Google Code to GitHub</h3>
<p>The protocol outlined below may appear complex, but it looks more intimidating than it really is. Moving a project takes about two to five minutes once your GitHub account and your migration computer is properly configured.</p>
<p>You need four things to move a Google Code SVN project to GitHub:</p>
<ol>
<li>A Google Code project to move</li>
<li>A GitHub user account</li>
<li>SSH keys, and</li>
<li>A <em>migration computer</em> that is configured to migrate the project from Google Code to GitHub. (in this tutorial, we will use a Ubuntu server; but any other Linux/Windows/Mac computer, properly configured, should do the job)</li>
</ol>
<h3>Create GitHub Account</h3>
<p>If you don’t already own a GitHub account, the first step is to <a title="">create one here</a>.</p>
<h3>Create &amp; Configure SSH Keys</h3>
<p>Once your account has been created, you have to create and setup the SSH keys that you will use to commit the code into the Git Repository on GitHub:</p>
<ol>
<li>Go to the <a title="">SSH Keys Registration page of your account</a></li>
<li>If you already have a key, then add it to this page, <a title="">otherwise read this manual to learn how to generate one</a></li>
</ol>
<h3>Configure Migration Server</h3>
<p>The next step is to configure the computer that will be used to migrate the project. For this tutorial, I use a <em>Ubuntu server</em> to do the migration, but any Windows, Linux or Mac computer should do the job if properly configured.</p>
<p>The first step is to install Git and Ruby on that computer:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container bash railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/></div></td><td><div class="bash codecolorer"> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get install</span> git-core <span style="color: #c20cb9; font-weight: bold;">git-svn</span> ruby rubygems</div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>To perform the migration of a Google Code SVN project to GitHub, we are using a Ruby application called <code><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL25pcnZkcnVtL3N2bjJnaXQ=">svn2git</a></code> that is now developed by <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL25pcnZkcnVt">Kevin Menard</a>. The next step is to install <code>svn2git</code> on that computer:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container bash railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/></div></td><td><div class="bash codecolorer"> <span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> svn2git --source http:<span style="color: #000000; font-weight: bold;">//</span>gemcutter.org</div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<h3>Migrate Project</h3>
<p>Before migrating your project, you have to link the Google Code committers to GitHub accounts. This is done by populating a simple text file that will be given as input to <code>svn2git</code>.</p>
<p>Open the <code>authors.txt</code> file into a temporary folder:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container bash railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/></div></td><td><div class="bash codecolorer"> <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">vim</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>authors.txt</div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>Then, for each author, you have to add the mapping between their Google Code and GitHub accounts. If a Google Code committer does not exist on GitHub, then you should map it to your own GitHub account.</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container text railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/>2<br/></div></td><td><div class="text codecolorer"> (no author) = Frederick Giasson &lt;fred@f...com&gt;<br/>
 fred@f...com = Frederick Giasson &lt;fred@f...com&gt;</div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>The format of this <code>authors.txt</code> file is:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container text railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/></div></td><td><div class="text codecolorer"> Google-Account-Username = Name-Of-Author-On-GitHub &lt;Email-Of-Author-On-Github</div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>Take note of the first Google Code committer <code>(no author)</code> mapping. This link is required for every <code>authors.txt</code> file. This placeholder is used to map the initial commit performed by the Google Code system. (When Google Code initializes a new project, it uses that username for creating the first commit of any project.)</p>
<p>When you are done, save the file.</p>
<p>Now that set up is complete, you are ready to migrate your project. First, let’s create the folder that will be used to checkout the SVN project on the server, and then to push it on GitHub.</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container bash railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/>2<br/>3<br/></div></td><td><div class="bash codecolorer"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span><br/>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> myproject<br/>
<span style="color: #7a0874; font-weight: bold;">cd</span> myproject</div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>In this tutorial, we have a normal migration scenario. However, your migration scenario may differ from this one. It is why I would suggest you check out the <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL25pcnZkcnVtL3N2bjJnaXQ=">different scenarios that are supported by <code>svn2git</code> document</a>. Change the following command accordingly. Let’s migrate the Google Code SVN Project into the local Git repository:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container bash railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/></div></td><td><div class="bash codecolorer"> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1.8</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>svn2git http:<span style="color: #000000; font-weight: bold;">//</span>myproject.googlecode.com<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">svn</span> <span style="color: #660033;">--authors</span> <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>authors.txt <span style="color: #660033;">--verbose</span></div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>Make sure that no errors have been reported during the process. If it is the case, then refer to the <code>Possible Errors and Fixes</code> section below to troubleshoot your issue.</p>
<p>The next step is to create a new GitHub repository where to migrate the SVN project. <a title="">Go to this GitHub page to create your new repository</a>. Then you have to configure Git to add a remote link, from the local Git repository you created on your migration computer, to this remote GitHub repository:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container bash railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/></div></td><td><div class="bash codecolorer"> <span style="color: #c20cb9; font-weight: bold;">git remote</span> add origin <span style="color: #c20cb9; font-weight: bold;">git</span><span style="color: #000000; font-weight: bold;">@</span>github.com:you-github-username<span style="color: #000000; font-weight: bold;">/</span>myproject.git</div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>Finally, let’s push the local Git repository master, branches and tags to GitHub. The first thing to push onto GitHub is the SVN’s trunk. It is done by running that command:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container bash railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/></div></td><td><div class="bash codecolorer"> <span style="color: #c20cb9; font-weight: bold;">git push</span> <span style="color: #660033;">-u</span> origin master</div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>Then, if your project has multiple branches and tags, you can push them, one by one, using the same command. However, you will have to replace <code>master</code> by the name of that branch or tag. If you don’t know what is the exact name of these branches or tags, you can easily list all of them using this Git command:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container bash railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/></div></td><td><div class="bash codecolorer"> <span style="color: #c20cb9; font-weight: bold;">git show-ref</span></div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>Once you have progressed through all branched and tags, you are done. If you take a look at your GitHub project’s page, you should see that the trunk, branches, tags and commits are now properly imported into that project.</p>
<h3>Possible Errors And Fixes</h3>
<h4>Fatal Error: Not a valid object name</h4>
<p>There are a few things that can go wrong while trying to migrate your project(s).</p>
<p>One of the errors I experienced is a <code>"fatal"</code> error message <code>"Not a valid object name"</code>. <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL25pcnZkcnVtL3N2bjJnaXQvaXNzdWVzLzI2">To fix this</a>, we have to fix a line of code in <code>svn2git</code>. Open the <code>migration.rb</code> file. Check around the <code>line 227</code> for the method <code>fix_branches()</code>. Remove the first line of that method, and replace the second one by:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container ruby railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/></div></td><td><div class="ruby codecolorer"> svn_branches = <span style="color: #0066ff; font-weight: bold;">@remote</span>.<span style="color: #9900CC;">find_all</span> <span style="color: #006600; font-weight: bold;">{</span> <span style="color: #006600; font-weight: bold;">|</span>b<span style="color: #006600; font-weight: bold;">|</span> !@tags.<span style="color: #9966CC; font-weight: bold;">include</span>?<span style="color: #006600; font-weight: bold;">(</span>b<span style="color: #006600; font-weight: bold;">)</span> <span style="color: #006600; font-weight: bold;">&amp;&amp;</span> b.<span style="color: #9900CC;">strip</span> =~ <span style="color: #006600; font-weight: bold;">%</span>r<span style="color: #006600; font-weight: bold;">{</span>^svn\<span style="color: #006600; font-weight: bold;">/</span><span style="color: #006600; font-weight: bold;">}</span> <span style="color: #006600; font-weight: bold;">}</span></div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<h4>Error: author not existing</h4>
<p>While running the <code>svn2git</code> application, the process may finish prematurely. If you check the output, you may see that it can’t find the match for an author. What you will have to do is to add that author to your authors file and re-run <code>svn2git</code>. Otherwise you won’t be able to fully migrate the project.</p>
<p>I’m not quite sure why these minor glitches occurred during my initial migrate, but with the simple fixes above you should be good to go.</p>
 <img height="1" src="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1677" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/0IsJuHZRf0U" width="1"/></div>
    </content>
    <updated>2011-11-21T21:29:50Z</updated>
    <category term="conStruct"/>
    <category term="irON"/>
    <category term="Open Semantic Framework"/>
    <category term="Programming"/>
    <category term="Semantic Components"/>
    <category term="structWSF"/>
    <category term="#developer"/>
    <category term="#git"/>
    <category term="#github"/>
    <category term="#google code"/>
    <category term="#source control"/>
    <category term="#svn"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/11/21/moving-projects-from-google-code-to-github/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-03-30T00:56:29Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=988</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/3qxT7sSQ4kY/" rel="alternate" type="text/html"/>
    <title>UMBEL Services, Part 4: structOntology</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=UMBEL Services, Part 4: structOntology&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Ontologies&amp;rft.subject=Open Semantic Framework&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-11-15&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/988/umbel-services-part-4-structontology/&amp;rft.language=English"/>
Improved Ontology Navigation and Management in Read-only and Editable Forms This continues our series on the new UMBEL portal. UMBEL, the Upper Mapping and Binding Exchange Layer, is an upper ontology of about 28,000 reference concepts and a vocabulary designed for domain ontologies and ontology mapping [1]. This part four discusses structOntology, the online ontology [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=UMBEL Services, Part 4: structOntology&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Ontologies&amp;rft.subject=Open Semantic Framework&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-11-15&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/988/umbel-services-part-4-structontology/&amp;rft.language=English"/>
<h2><a href="http://umbel.org/"><img align="left" alt="UMBEL Vocabulary and Reference Concept Ontology" src="http://www.mkbergman.com/wp-content/themes/ai3/images/umbel_medium.png" style="border: 0px solid; width: 206px; height: 100px; float: left; margin-right: 10px;" title="UMBEL Vocabulary and Reference Concept Ontology"/></a>Improved Ontology Navigation and Management in Read-only and Editable Forms</h2>
<p>This continues our series on the new <a href="http://techwiki.openstructs.org/index.php/UMBEL_Concept">UMBEL</a> portal. UMBEL, the <em>Upper Mapping and Binding Exchange Layer</em>, is an upper ontology of about 28,000 reference concepts <em><strong>and</strong></em> a vocabulary designed for domain ontologies and ontology mapping<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#pt4_1"> [1]</a>. This part four discusses structOntology, the online ontology viewing and management tool that is an integral part of the <a href="http://techwiki.openstructs.org/index.php/Category:Open_Semantic_Framework"> open semantic framework</a> (OSF), the framework that hosts the UMBEL portal.</p>
<p>Ontologies are the central governing structure or “brains” of a semantic installation. As provided by the <a href="http://techwiki.openstructs.org/index.php/Category:Open_Semantic_Framework" title="Category:Open Semantic Framework">OSF</a> framework, ontologies are also the basis for instructing user interface labels and how the interface behaves. The Web is about global access, immediacy, flexibility and adaptability. Why can’t our use of ontologies be the same?</p>
<p>Unlike similar tools of the past, <a href="http://techwiki.openstructs.org/index.php/StructOntology:_Overview">structOntology</a> exists on the same installation as the ontology that drives it. It is a backoffice ontology editing and management tool that is part of the <a href="http://techwiki.openstructs.org/index.php/Category:ConStruct">conStruct</a> tool suite, accessible via the OSF admin panel. There is no need to go off to a separate application, make changes, re-import, and then test. structOntology allows all of that to occur locally with the instance in which it resides. Also, there are some important functionality differences — especially finding and selecting stuff and search — that sets structOntology apart from existing, conventional tools.</p>
<p>Yet, that being said, structOntology is also not the complete Swiss Army knife for ontology management. It is designed for local and immediate use. Its spectrum of functionality is not as complete as other ontology frameworks (for example, supporting reasoners, consistency testers or plug-ins). So, for immmediate and locally relevant use, structOntology appears to be the appropriate tool. For more detailed ontology work or testing, other frameworks are perhaps more useful. And, in recognition of these roles, structOntology also has robust import and export capabilities that enable these dual local-detailed use scenarios. For these distinctions, see further the <a href="http://techwiki.openstructs.org/index.php/StructOntology_v_Prot%C3%A9g%C3%A9%3F" title="StructOntology v Prot&#xE9;g&#xE9;?">structOntology v Protégé?</a> document.</p>
<p>structOntology comes in two versions. First, there is the read-only version, which can be made publicly available, that is a great aid to ontology navigation and discovery. This is the version viewable on the UMBEL portal. Second, there is an editable version, which is only available to administrators via a back office function within an OSF instance. Some screen shots of this version, plus pointers to more documentation about it, are provided below.</p>
<h3>OWL API as a First-class Citizen</h3>
<p>What enables OSF to treat ontologies as a first-class citizen — viewable and editable from within the applications in which they operate — results from the incorporation of the <a href="http://techwiki.openstructs.org/index.php/OWL_API">OWL API</a> as one of the major engines underlying the <a href="http://openstructs.org/structwsf">structWSF Web services framework</a>, the key foundational basis to an OSF installation. As noted in <a href="http://www.mkbergman.com/986/umbel-services-part-2-full-text-faceted-search"> Part 2</a> of this series, the OWL API is one of the four major engines supporting structWSF:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111107_engines_solr.png"> <img alt="OWL API, a Main structWSF Engine" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111114_engines_owl_api.png" style="width: 600px; height: 278px;" title="OWL API, a Main structWSF Engine"/></a></div>
<p>The OWL API is the same engine used by <a href="http://techwiki.openstructs.org/index.php/Category:Prot%C3%A9g%C3%A9" title="StructOntology v Prot&#xE9;g&#xE9;?">Protégé</a> <a href="http://techwiki.openstructs.org/index.php/Category:Prot%C3%A9g%C3%A9" title="StructOntology v Prot&#xE9;g&#xE9;?">4</a>, which is why both structOntology and Protégé are fully interoperable.</p>
<p>Besides interoperabilty, the use of the OWL API also means that other OWL API-based tools, such as reasoners or mappers, may be linked into the system. This design is in keeping with our <a href="http://techwiki.openstructs.org/index.php/Normative_Landscape_of_Ontology_Tools"> normative view of an ontology tooling landscape</a>, which <a href="http://structureddynamics.com">Structured Dynamics</a> keeps pursuing in a steady, incremental manner <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#pt4_2">[2]</a>. Further, because of its sibling engines, the OWL API and OSF are also able to leverage the other engines supporting structWSF, such as <a href="http://lucene.apache.org/solr/">Solr</a> for advanced search or efficient indexing in the <a href="http://www.openlinksw.com/virtuoso/">RDF triplestore</a>. (The advantages go both ways, too, such as for example enabling the OWL API to feed appropriate ontology specifications to the <a href="http://en.wikipedia.org/wiki/General_Architecture_for_Text_Engineering"> GATE</a> text processing area for uses such as ontology-based information extraction [<a href="http://techwiki.openstructs.org/index.php/Ontology-based_Information_Extraction">OBIE</a>]). All of this makes for a most powerful and capable foundation to an OSF instance.</p>
<h3>The Read-Only Version (UMBEL)</h3>
<p>Since UMBEL is a reference ontology and the UMBEL portal is an access point to those references and specifications, we really don’t want casual users making modifications to the ontology <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#pt4_3">[3]</a>. For this reason, only a read-only version of structOntology is provided on the portal.</p>
<p>Access to the structOntology function occurs via the <a href="http://umbel.org/conStruct/ontology/">Ontology</a> link on the UMBEL portal. Upon access, you are presented with the main structOntology interface:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111114_ontology_select.png"> <img alt="UMBEL ontology select" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111114_ontology_select.png" style="border: 1px solid #820000; width: 600px; height: 117px;" title="UMBEL ontology select"/></a></div>
<p>The organization of the structOntology application presents all currently available and active ontologies listed in the left panel; UMBEL, of course, is the one selected here. Since this is a read-only version, only the View button shows up in the right-hand panel. (For the options available in the editable version, see below.)</p>
<h4>View Option</h4>
<p>Upon invoking the View option, the hierarchical tree for the selected ontology appears on the left; structural and definitions on the right. </p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111114_ontology_view.png"> <img alt="UMBEL ontology view" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111114_ontology_view.png" style="border: 1px solid #820000; width: 600px; height: 425px;" title="UMBEL ontology view"/></a></div>
<p>You may expand the tree and explore the structure deeper by either clicking on the tree nodes in the left-hand panel or the item links in the right-hand panel. If there are further levels in the tree, you will get the JavaScript ‘working’ icon and then see the tree expanded with the new node information shown to the right.</p>
<p>Also note that your interaction with the structOntology application is recounted via the “breadcrumbs” listing at the upper left of the application. The green arrow icon allows you to expand or collapse various sections in the display.</p>
<h4>Tooltips</h4>
<p>The tree labels are themselves based on the preferred labels assigned to things. However, if you want to see the actual ontology URI reference, you can do so via the tooltip when mousing over the item:</p>
<div><img alt="Ontology view tooltips" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111114_ontology_tooltips.png" style="border: 1px solid #820000; width: 344px; height: 132px;" title="Ontology view tooltips"/></div>
<p>The tooltip shows the full URI path (unique identifier) of the selected item.</p>
<h4>Classes Tab</h4>
<p>This example has been based on the Classes tab, which are the reference concepts in the UMBEL context. In read-only mode, the basic information presented is the tree structure, the item description and <code>prefLabel</code>, and super and sub class information in the right-hand panel. (More options are available in the editable version; see below.)</p>
<h4>Properties Tab</h4>
<p>Properties — that is the relations or predicates between items or nodes — are presnted in a similar manner to that for Classes. The Properties tab has the same basic layout and operations as the Classes tab, including similar right-hand panels:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111114_ontology_properties.png"> <img alt="Ontology properties tab" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111114_ontology_properties.png" style="border: 1px solid #820000; width: 600px; height: 274px;" title="Ontology properties tab"/></a></div>
<h3>The Editable Version</h3>
<p>The editable version of structOntology shares all of the functionality of the read-only version. Besides adding editing capabilities, the editable version also has other functionality related to general ontology creation and management. There is <a href="http://techwiki.openstructs.org/index.php/StructOntology:_Overview">separate documentation for the editable version</a>; the examples below are from a different instance than UMBEL.</p>
<p>The editable version is accessed via the backoffice admin function within an OSF instance. When invoked, it also has more management options presented in the right-hand panel:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_main.png"> <img alt="StructOntology main.png" class="center_ok" height="396" src="http://techwiki.openstructs.org/images/thumb/d/da/StructOntology_main.png/600px-StructOntology_main.png" style="border: 1px solid #820000;" width="600"/></a></div>
<p>We’ll highlight some of the differences from the read-only version below.</p>
<h4>Create New Option</h4>
<p>The first notable addition is the ability to create ontologies (as well as to delete, or Remove, them):</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_create_new.png"> <img alt="StructOntology create new.png" class="center_ok" height="442" src="http://techwiki.openstructs.org/images/thumb/e/e9/StructOntology_create_new.png/600px-StructOntology_create_new.png" style="border: 1px solid #820000;" width="600"/></a></div>
<p>The URL (such as <a class="external free" href="http://purl.org/ontology/myont" rel="nofollow">http://purl.org/ontology/myont#</a>) becomes the base URI for the new ontology. The new ontology is created with a basic structure, from which you only need fill in your new concepts or classes and relationships:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_create_new_list.png"> <img alt="StructOntology create new list.png" class="center_ok" height="168" src="http://techwiki.openstructs.org/images/thumb/b/bf/StructOntology_create_new_list.png/600px-StructOntology_create_new_list.png" style="border: 1px solid #820000;" width="600"/></a></div>
<p>Basic stubbing is provided for the new ontology to help bootstrap its development (not shown). Once created, this new ontology also now appears on the available local ontologies when first invoking the structOntology application.</p>
<h4>View Option</h4>
<p>Most screens are quite similar to the read-only version with the obvious change of replacing labels with edit boxes. It is via these edit fields that the ontology becomes editable. This change is quite evident for the View screen:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_view.png"><img alt="StructOntology view.png" class="center_ok" height="592" src="http://techwiki.openstructs.org/images/thumb/2/2e/StructOntology_view.png/600px-StructOntology_view.png" style="border: 1px solid #820000;" width="600"/></a></div>
<h4>Searching</h4>
<p>Searching can take place on the currently active ontology or all loaded (available) ontologies. Note that selection was made above via the radiobutton under the search box.</p>
<p>Also, depending on settings, searching can also take place on only the preferred label, or on alternative labels or descriptions (in fact, all annotations). (This is part of the settings.)</p>
<p>When entering search terms, the system automatically attempts to complete the matching search phrase. A minimum of three entered characters guides this auto-completion functionality:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_autocomplete.png"> <img alt="StructOntology autocomplete.png" class="center_ok" height="308" src="http://techwiki.openstructs.org/images/thumb/3/3d/StructOntology_autocomplete.png/600px-StructOntology_autocomplete.png" style="border: 1px solid #820000;" width="600"/></a></div>
<p>When search is initiated, the potential results list also auto-completes for what you have already typed into the search box. Upon selection of one of these items (or completion of the full search phrase), the structOntology system issues a search query to the remote server, which then acts to auto-populate the ontology tree on the left-hand panel. In this case, we have selected ‘communitiy facilities’:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_tree_results.png"> <img alt="StructOntology tree results.png" class="center_ok" height="242" src="http://techwiki.openstructs.org/images/thumb/1/1a/StructOntology_tree_results.png/600px-StructOntology_tree_results.png" style="border: 1px solid #820000;" width="600"/></a></div>
<p>The desired search results then automatically expand the ontology tree. This is really helpful for longer ontologies (the example one shown has about 3000 concepts and about 6000 axioms) and means quicker initial tree loading. Once completed, the (multiple) occurrences of the search item are shown in highlight throughout the tree.</p>
<p>Note this search is not necessarily restricted to the actual node label. Alternative labels and descriptions may also be used to find the search results. This greatly expands the findability of the search function. Here is a great example of matching the OWL API engine to Solr underneath a structWSF instance.</p>
<h4>Tab Structure</h4>
<p>The editable version of structOntology offers more detail in the right-hand panel when Viewing an item. These sections include:</p>
<ul>
<li>Annotations</li>
<li>Structural relationships</li>
<li>Instances</li>
<li>Linkage to characteristics, and</li>
<li>Advanced settings.</li>
</ul>
<p>Each section is editable. All have auto-complete. Each section may also be expanded or collapsed.</p>
<h5>General Operations</h5>
<p>Each panel has an expand and collapse arrow shown at the upper right of its panel. These causes the panel’s individual entries to either be exposed or hidden. At the right of each entry, new entries can be invoked with the green plus symbol; existing entries can be deleted with the red minus symbol. (See Structural Relationships below.)</p>
<p>In working with each panel, note that each entry also has the search and auto-complete features earlier noted. Drag-and-drop is also contextual into these panels or not, depending on the nature of the item selected in the left-hand panel (tree).</p>
<h5>Annotations</h5>
<p>Annotations provide the descriptions about the thing at hand and its associated metadata. (These are separately defined under the Properties tab, or as part of the imported ontology specification.) The available annotations are displayed in this panel when expanded:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_annotations.png"> <img alt="StructOntology annotations.png" class="center_ok" height="151" src="http://techwiki.openstructs.org/images/f/fc/StructOntology_annotations.png" style="border: 1px solid #820000;" width="439"/></a></div>
<p>Entries are simply provided by entering values into the text fields and then Saving.</p>
<h5>Structural Relationships</h5>
<p>The structural relationships are the means to set parent and child relations between concepts, as well as to instruct disjoint or equivalent class relations. The Structural Relationships panel is the key one for setting the interconnections within the graph structure at the heart of the governing ontology.</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_structure.png"> <img alt="StructOntology structure.png" class="center_ok" height="313" src="http://techwiki.openstructs.org/images/2/22/StructOntology_structure.png" style="border: 1px solid #820000;" width="439"/></a></div>
<p>Most of the key structural relationships in OWL are provided by this panel. (However, note there are some additional and rarely used structural specifications in OWL. These must be set via a third-party external application. Such potential interactions are made possible via the flexible import and export options with structOntology).</p>
<h5>Instances (Individuals)</h5>
<p>Another right-hand panel provides the facility to assign individuals to the classes (or concepts) established under the prior two panels. In this case, we are looking at some specific ‘community facilities’ to assign to that concept:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_instances.png"> <img alt="StructOntology instances.png" class="center_ok" height="601" src="http://techwiki.openstructs.org/images/e/e8/StructOntology_instances.png" style="border: 1px solid #820000;" width="433"/></a></div>
<p>As with the prior panels, a new instance may be added or discarded ones deleted. Individual instances and their characteristics may also be updated or changes.</p>
<h5>Linkage to Characteristics</h5>
<p>Another aspect to OSF ontologies is the ability to relate concepts to various metadata characteristics or attributes that might describe that concept’s instances. This relationship is done via the dedicated <code>hasCharacteristic</code> property, which is assigned via this right-hand panel:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_characteristics.png"> <img alt="StructOntology characteristics.png" class="center_ok" height="69" src="http://techwiki.openstructs.org/images/8/82/StructOntology_characteristics.png" style="border: 1px solid #820000;" width="433"/></a></div>
<p>This option has the specific behavior of allowing one or more properties (characteristics) to be asserted for a given a class (concept).</p>
<h5>Advanced Options</h5>
<p>Display and widget and other options are set under the Advanced Options panel. One item to note are the widgets that may be assigned for displaying a given information item:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_advanced.png"> <img alt="StructOntology advanced.png" class="center_ok" height="155" src="http://techwiki.openstructs.org/images/8/8a/StructOntology_advanced.png" style="border: 1px solid #820000;" width="429"/></a></div>
<p>The relationship of widgets (or semantic components) to information items is a deserving topic in its own right. For more information about this topic, see the <a href="http://techwiki.openstructs.org/index.php/Category:Semantic_Component" title="Category:Semantic Component">semantic components category</a>.</p>
<h4>Contextual Drag-and-Drop</h4>
<p>In edit mode, it is possible to drag items from the left-hand tree panel into the specifications at the right. This is contextual. In this first example, we see an attempt to drop a “class” result (or concept) into the annotation panel, which violates the structure of the system and is therefore not allowed (as shown by the visual red X cues):</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_dragdrop_no.png"> <img alt="StructOntology dragdrop no.png" class="center_ok" height="288" src="http://techwiki.openstructs.org/images/thumb/9/9f/StructOntology_dragdrop_no.png/600px-StructOntology_dragdrop_no.png" style="border: 1px solid #820000;" width="600"/></a></div>
<p>However, if we drag and drop from the tree in an allowable structural definition, we get the visual green check as a cue the move is legal:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_dragdrop_yes.png"> <img alt="StructOntology dragdrop yes.png" class="center_ok" height="286" src="http://techwiki.openstructs.org/images/thumb/8/85/StructOntology_dragdrop_yes.png/600px-StructOntology_dragdrop_yes.png" style="border: 1px solid #820000;" width="600"/></a></div>
<p>This functionality and feedback means that only allowable assignments can be dropped into a new structural definition.</p>
<h4>Export Option</h4>
<p>Another piece of functionality in the editable version is the export option. When invoked, Export brings up the save dialog with the ability to assign an ontology file name:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_export.png"> <img alt="StructOntology export.png" class="center_ok" height="298" src="http://techwiki.openstructs.org/images/thumb/0/02/StructOntology_export.png/600px-StructOntology_export.png" style="border: 1px solid #820000;" width="600"/></a></div>
<p>Upon saving, it stores the currently active ontology in RDF/XML format:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_export_xml.png"> <img alt="StructOntology export xml.png" class="center_ok" height="407" src="http://techwiki.openstructs.org/images/thumb/5/5e/StructOntology_export_xml.png/600px-StructOntology_export_xml.png" style="border: 1px solid #820000;" width="600"/></a></div>
<p>Export is not active in UMBEL do to the large size of the ontology. If you want to obtain it directly, you may do so from the <a href="http://code.google.com/p/umbel/source/browse/#svn/trunk">UMBEL ontology CVS</a>.</p>
<h4>Import Option</h4>
<p>An Import option is available in the editable version. structOntology import supports all OWL API serializations, specifically RDF/XML, N3, Manchester Syntax and Turtle. When import is invoked, a file open dialog is presented that enables you to find the ontology on your local hard drive:</p>
<div><a href="http://techwiki.openstructs.org/index.php/File:StructOntology_import.png"> <img alt="StructOntology import.png" class="center_ok" height="444" src="http://techwiki.openstructs.org/images/thumb/0/09/StructOntology_import.png/600px-StructOntology_import.png" style="border: 1px solid #820000;" width="600"/></a></div>
<p>The Import feature has no file extension limitations; make care to pick and assign the proper types for importation.</p>
<p>Via the Import and Export buttons, it is possible to work locally with structOntology while exporting to more capable third-party tools. Then, once use of those tools is complete, Import provides the ability to re-import the updated ontology back into the local collection.</p>
<h4>File Options</h4>
<p>Finally, as a server-based system accessed via Web services, there are some slightly different concepts necessary to keep in mind when using the editable version of structOntology. These distinctions need to be kept in mind because you might be working with the local version or the one on the main server. These file options are:</p>
<ul>
<li>Save — saves all modifications on the file, on the server. Then, all modifications will be used if you do a Reload</li>
<li>Unload — removes the currently active ontology from the local instance, but does <strong>NOT</strong> remove it from the server. It merely acts to remove that ontology for local use in the current session</li>
<li>Remove — a full delete of the ontology, both locally and on the server</li>
<li>Update — recreates the serializations files created from these ontologies, like the .SRZ files used by structWSF and conStruct; the ironXML schema used by the semantic components, etc. The Update option is the most common one when updating an ontology locally, for which you want the persistent version on the remote server to be kept in sync</li>
<li>Reload — reloads the server version. If prior local work had not been updated, then a reload acts as a way to restore the remote instance to the local one without change..</li>
</ul>
<p>These are all available via buttons under the main right-hand panel in structOntology and are more fully described in the <a href="http://techwiki.openstructs.org/index.php/StructOntology:_Overview">edit version documentation</a>.</p>
<h3>Additional Information</h3>
<p>Additional information on structOntology may be found in an online video:</p>
<ul>
<li><a href="http://www.youtube.com/watch?v=WuM9wIO4Qpc">structOntology intro video</a>.</li>
</ul>
<div class="boxBrownDotted">
<div style="float: left; margin-right: 15px;"><img alt="UMBEL small logo" src="http://www.mkbergman.com/wp-content/themes/ai3/images/umbel_logo_42.png" title="UMBEL small logo"/></div>
<p>This is the fourth of a multi-part series on the newly updated UMBEL services. Other articles in this series are:</p>
<ul>
<li><a href="http://www.mkbergman.com/983/umbel-services-part-1-overview/">UMBEL Services, Part 1: Overview</a></li>
<li><a href="http://www.mkbergman.com/986/umbel-services-part-2-full-text-faceted-search"> UMBEL Services, Part 2: Full-text, Faceted Search</a></li>
<li><a href="http://www.mkbergman.com/987/umbel-services-part-3-concept-browser"> UMBEL Services, Part 3: Concept Browser</a>.</li>
</ul>
</div>
<hr align="left" size="1" style="margin: 15px 0px;" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="pt4_1"/>[1] See further the general <a href="http://en.wikipedia.org/wiki/UMBEL">Wikipedia description of UMBEL</a> or its specification on the <a href="http://umbel.org">official UMBEL Web site</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="pt4_2"/>[2] See especially the second figure and the accompanying discussion in this document.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="pt4_3"/>[3] The appropriate pathway for suggested changes to the UMBEL ontology itself is via its official mailing list.</div>
 <img height="1" src="http://www.mkbergman.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=988" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/3qxT7sSQ4kY" width="1"/></div>
    </content>
    <updated>2011-11-15T19:33:38Z</updated>
    <category term="Ontologies"/>
    <category term="Open Semantic Framework"/>
    <category term="UMBEL"/>
    <category term="ontology engineering"/>
    <category term="ontology management"/>
    <category term="osf"/>
    <category term="relation browser"/>
    <category term="semantic framework"/>
    <category term="semantic technology"/>
    <category term="structOntology"/>
    <category term="Structured Dynamics"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/988/umbel-services-part-4-structontology/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2012-02-07T20:50:56Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=987</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/hweZt_2V2v4/" rel="alternate" type="text/html"/>
    <title>UMBEL Services, Part 3: Concept Browser</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=UMBEL Services, Part 3: Concept Browser&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Semantic Framework&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-11-09&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/987/umbel-services-part-3-concept-browser/&amp;rft.language=English"/>
The OSF Browser is Now More Configurable This continues our series on the new UMBEL portal. UMBEL, the Upper Mapping and Binding Exchange Layer, is an upper ontology of about 28,000 reference concepts and a vocabulary designed for domain ontologies and ontology mapping [1]. This part three deals with the portal’s navigational tool, the concept [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=UMBEL Services, Part 3: Concept Browser&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Semantic Framework&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-11-09&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/987/umbel-services-part-3-concept-browser/&amp;rft.language=English"/>
<h2><a href="http://umbel.org/"><img align="left" alt="UMBEL Vocabulary and Reference Concept Ontology" src="http://www.mkbergman.com/wp-content/themes/ai3/images/umbel_medium.png" style="border: 0px solid; width: 206px; height: 100px; float: left; margin-right: 10px;" title="UMBEL Vocabulary and Reference Concept Ontology"/></a>The OSF Browser is Now More Configurable</h2>
<p>This continues our series on the new <a href="http://techwiki.openstructs.org/index.php/UMBEL_Concept">UMBEL</a> portal. UMBEL, the <em>Upper Mapping and Binding Exchange Layer</em>, is an upper ontology of about 28,000 reference concepts <em><strong>and</strong></em> a vocabulary designed for domain ontologies and ontology mapping <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#pt3_1">[1]</a>. This part three deals with the portal’s navigational tool, the concept or relation browser <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#pt3_2">[2]</a>. It is a favorite component of the open semantic framework (<a href="http://openstructs.org/open-semantic-framework">OSF</a>).</p>
<p>Discovery and navigation in a graph structure — as is the basis of ontologies and the UMBEL structure — can be difficult. It is made even more difficult when the number of concepts in the object space is large. With 28,000 concepts, UMBEL is one of the largest public ontologies extant. The relation browser is designed specifically to address these difficulties.</p>
<p>The concept browser in UMBEL is invoked via the <a href="http://umbel.org/browse">main menu option</a> or by clicking on the browser icon <a href="http://umbel.org/relationbrowser?uri=http%3A%2F%2Fumbel.org%2Fumbel%2Frc%2FTractor"> [<img align="middle" alt="" src="http://umbel.org/sites/umbel.org/themes/pixture_reloaded/imgs/chart_line.png"/>]</a> shown in conjuction with a given concept. Here is an example for the concept ‘tractor’:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111024_umbel_browser.png"> <br/> <img alt="UMBEL Relation Browser" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111024_umbel_browser.png" style="border: 1px solid #820000; width: 600px; height: 356px;" title="UMBEL Relation Browser"/></a></div>
<p>Note in this case that the <a href="http://umbel.org/refconcept?ontology=file%3A%2F%2Flocalhost%2Fdata%2Fontologies%2Ffiles%2Fumbel.org%2Fumbel_reference_concepts_v100.n3&amp;uri=http%3A%2F%2Fumbel.org%2Fumbel%2Frc%2FAgriculturalImplement"> More details …</a> link brings you to a detailed concept view, as was covered in the <a href="http://www.mkbergman.com/986/umbel-services-part-2-full-text-faceted-search"> previous part in this series</a>.</p>
<p>With its extreme configurability and flexibility — see further below — the relation browser can be an essential foundation to an open semantic framework installation. But, the best part about the relation browser is that it is fun to use. Clicking bubbles and dynamically moving through the graph structure is like snorkeling thorugh a massive school of silvery fish.</p>
<h3>Origins of the Relation Browser</h3>
<p>We have been featuring the relation browser since <a href="http://www.mkbergman.com/438/announcing-the-umbel-web-services-sandbox/"> April 2008</a> when the first UMBEL sandbox was released:</p>
<div align="center" style="margin: 10px 0pt;"><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2008Posts/080420_ConceptExplorer.jpg"> <img alt="" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2008Posts/080420_ConceptExplorer.jpg" style="border: 0px solid; width: 600px; height: 391px;"/></a></div>
<p>The relation browser is the innovation of <a href="http://der-mo.net/">Moritz Stefaner</a>, one of the best data and information visualization gurus around. He continues to innovate in large-scale information spaces, and is a frequent speaker at information visualization conferences. Moritz’s <a href="http://moritz.stefaner.eu/">Web site</a> and <a href="http://well-formed-data.net/">separate blog</a> are each worth perusing for neat graphics and ideas.</p>
<h3>Configurability</h3>
<p>Since our first efforts with the browser, we have worked to extend its applicability and configurability. The relation browser can be downloaded separately from our semantic components <a href="http://code.google.com/p/semanticcomponents/source/browse/#svn%2Ftrunk"> code distribution site</a>.</p>
<p>The relation browser is configured via an XML specification file. Separate specifications are available for the nodes (classes or concept) and connecting edges (predicates or properties). Here are the current <a href="http://techwiki.openstructs.org/index.php/SRelationBrowser">configuration options</a>:</p>
<table border="0" cellpadding="0" cellspacing="6" style="text-align: left; width: 100%; margin-left: 40px;">
<tbody>
<tr style="font-weight: bold;">
<td colspan="2" rowspan="1" style="vertical-align: top;"><span style="text-decoration: underline;"> NODE PARAMETERS</span></td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>label <br/></big></td>
<td style="vertical-align: top;"><code>label</code> is the label assigned to a given node; by default, the end of the URI of the type will be used as the label</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>displayNodeLabel</big></td>
<td style="vertical-align: top;">a Boolean value whether to display or hide a label for a specific node</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>tooltips</big></td>
<td style="vertical-align: top;">the tooltip to be displayed when mousing over a specific node</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textFont</big></td>
<td style="vertical-align: top;">defines the font of the text label on the node; for example: “Verdana”</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textColor</big></td>
<td style="vertical-align: top;">defines the color of the text label on the node; value in RGB hex format</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textSize</big></td>
<td style="vertical-align: top;">defines the size of the text to display in the node</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>image <br/></big></td>
<td style="vertical-align: top;">a URL to an image to use to display at the position of the node</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>shape</big></td>
<td style="vertical-align: top;">a shape of the node to display; available values are “circle”, “block”, “polygon”, “square”, “cross”, “X”, “triangleUp”, “triangleDown”, <br/> “triangleLeft”, “triangleRight”, “diamond”</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>lineWeight</big></td>
<td style="vertical-align: top;">defines the size of the line of the border for the node’s shape</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>lineColor</big></td>
<td style="vertical-align: top;">defines the color of the line of the border for the node’s shape; value in RGB hex format</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>fillColor</big></td>
<td style="vertical-align: top;">defines the color to use within the shape for the node; value in RGB hex format</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>radius <br/></big></td>
<td style="vertical-align: top;">defines the radius of the node. The radius is an invisible boundary where the edges get attached</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>backgroundScaleFactor</big></td>
<td style="vertical-align: top;">scale factor for the node’s shape background; a scale factor of 1.25 means that it is 125% normal size</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textScaleFactor</big></td>
<td style="vertical-align: top;">scale factor of the node’s text label</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textOffsetX</big></td>
<td style="vertical-align: top;">X Offset where to start displaying the text within the node’s shape</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textOffsetY</big></td>
<td style="vertical-align: top;">Y Offset where to start displaying the text within the node’s shape</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textMultilines</big></td>
<td style="vertical-align: top;">multi-lines means that each word of a label is displayed on a single line</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textMaxWidth</big></td>
<td style="vertical-align: top;">maximum width of the text; if longer, then it is truncated with an ellipsis (“…”) appended</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textMaxHeight</big></td>
<td style="vertical-align: top;">maximum height of the text; if higher, then it is truncated with an ellipsis (“…”) appended</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>selectedNodeColorOverlay</big></td>
<td style="vertical-align: top;">defines a color to overlay on the center (selected) node of the graph; it is defined by a series of 4 different offsets [alpha, red, green, blue] ranging from -255 to 255 in relation to the base node’s values; can, for example, to make the central node of the graph brighter</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>overNodeColorOverlay</big></td>
<td style="vertical-align: top;">defines a color to overlay on a moused over node of the graph; it is defined by a series of 4 different offsets [alpha, red, green, blue] ranging from -255 to 255 in relation to the base node’s values; can, for example, to make a moused over node of the graph brighter</td>
</tr>
<tr>
<td style="vertical-align: top;"> </td>
<td style="vertical-align: top;"> </td>
</tr>
<tr style="font-weight: bold;">
<td colspan="2" rowspan="1" style="vertical-align: top;"><span style="text-decoration: underline;"> EDGE PARAMETERS</span></td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>displayLabel</big></td>
<td style="vertical-align: top;">the <code>label</code> to display over the center of the edge</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>tooltipLabel</big></td>
<td style="vertical-align: top;">the tooltip to be displayed when mousing over a specific edge</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>directedArrowHead</big></td>
<td style="vertical-align: top;">defines the type of the arrow for the edge; available values are “none”, “triangle”, “lines”</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textFont</big></td>
<td style="vertical-align: top;">defines the font of the text label on the edge</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textColor</big></td>
<td style="vertical-align: top;">defined the color of the text label on the edge; value in RGB hex format</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>textSize</big></td>
<td style="vertical-align: top;">defines the size of the text to display on the edge</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>image</big></td>
<td style="vertical-align: top;">a URL to an image to use to display over the edge at middle of the two connected nodes</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>lineWeight</big></td>
<td style="vertical-align: top;">defines the size of the line for the edge connector</td>
</tr>
<tr>
<td style="vertical-align: top; font-family: Courier New,Courier,monospace;"><big>lineColor</big></td>
<td style="vertical-align: top;">defines the color of the line for the edge connector; value in RGB hex format</td>
</tr>
</tbody>
</table>
<p> </p>
<p>It is also possible to specify a breadcrumb in association with the browser.</p>
<p>Besides these configurations, the <a href="http://techwiki.openstructs.org/index.php/SRelationBrowser">API for the relation browser</a> also provides for methods to:</p>
<ul>
<li>Link Nodes to Objects</li>
<li>Link Nodes to Displays</li>
</ul>
<p>Via these mechanisms, the relation browser can become a central focal point for any OSF installation. See further the <a href="http://techwiki.openstructs.org/index.php/SRelationBrowser">specifications</a> for additional ideas and tips.</p>
<h3>Some Other Examples</h3>
<p>Here are some other examples of relation browsers you can see across the Web:</p>
<ul>
<li><a class="external free" href="http://www.mypeg.ca/explorer" rel="nofollow">http://www.mypeg.ca/explorer</a></li>
<li><a class="external free" href="http://lbnl-demo.structureddynamics.com/Tech-Transfer/techs/index.php" rel="nofollow">http://lbnl-demo.structureddynamics.com/Tech-Transfer/techs/index.php</a> (click into spider)</li>
<li><a href="http://moritz.stefaner.eu/projects/relation-browser/">http://moritz.stefaner.eu/projects/relation-browser/</a></li>
<li><a class="external free" href="http://umbel.org/browse" rel="nofollow">http://umbel.org/browse</a> (<a class="external text" href="http://umbel.org/refconcept?uri=http%3A//umbel.org/umbel/rc/Mammal&amp;ontology=file%3A%2F%2Flocalhost%2Fdata%2Fontologies%2Ffiles%2Fumbel.org%2Fumbel_reference_concepts_v100.n3" rel="nofollow">mammal example</a>)</li>
<li><a class="external free" href="http://demo.citizen-dan.org/conStruct/explorer" rel="nofollow">http://demo.citizen-dan.org/conStruct/explorer</a>.</li>
</ul>
<div class="boxBrownDotted">
<div style="float: left; margin-right: 15px;"><img alt="UMBEL small logo" src="http://www.mkbergman.com/wp-content/themes/ai3/images/umbel_logo_42.png" title="UMBEL small logo"/></div>
<p>This is the third of a multi-part series on the newly updated UMBEL services. Other articles in this series are:</p>
<ul>
<li><a href="http://www.mkbergman.com/983/umbel-services-part-1-overview/">UMBEL Services, Part 1: Overview</a></li>
<li><a href="http://www.mkbergman.com/986/umbel-services-part-2-full-text-faceted-search"> UMBEL Services, Part 2: Full-text, Faceted Search</a></li>
<li><a href="http://www.mkbergman.com/988/umbel-services-part-4-structontology/">UMBEL Services, Part 4: structOntology</a>.</li>
</ul>
</div>
<hr align="left" size="1" style="margin: 15px 0px;" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="pt3_1"/>[1] See further the general <a href="http://en.wikipedia.org/wiki/UMBEL">Wikipedia description of UMBEL</a> or its specification on the <a href="http://umbel.org">official UMBEL Web site</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="pt3_2"/>[2] Various clients and users have named this widget a number of things, including <span style="font-style: italic;">spider</span>, <span style="font-style: italic;">concept explorer</span>, <span style="font-style: italic;">relation browser</span> and <span style="font-style: italic;">concept browser</span>.</div>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/hweZt_2V2v4" width="1"/></div>
    </content>
    <updated>2011-11-10T00:10:24Z</updated>
    <category term="Open Semantic Framework"/>
    <category term="UMBEL"/>
    <category term="osf"/>
    <category term="relation browser"/>
    <category term="semantic framework"/>
    <category term="semantic technology"/>
    <category term="Structured Dynamics"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/987/umbel-services-part-3-concept-browser/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2012-01-15T03:50:53Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=986</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/XynISfviZqg/" rel="alternate" type="text/html"/>
    <title>UMBEL Services, Part 2: Full-text, Faceted Search</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=UMBEL Services, Part 2: Full-text, Faceted Search&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Semantic Framework&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-11-07&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/986/umbel-services-part-2-full-text-faceted-search/&amp;rft.language=English"/>
OSF Integration with Solr Provides Superior Search This continues our series on the new UMBEL portal. UMBEL, the Upper Mapping and Binding Exchange Layer, is an upper ontology of about 28,000 reference concepts and a vocabulary designed for domain ontologies and ontology mapping [1]. This part focuses on the search function within the UMBEL portal [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=UMBEL Services, Part 2: Full-text, Faceted Search&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Semantic Framework&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-11-07&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/986/umbel-services-part-2-full-text-faceted-search/&amp;rft.language=English"/>
<h2><a href="http://umbel.org/"><img align="left" alt="UMBEL Vocabulary and Reference Concept Ontology" src="http://www.mkbergman.com/wp-content/themes/ai3/images/umbel_medium.png" style="border: 0px solid; width: 206px; height: 100px; float: left; margin-right: 10px;" title="UMBEL Vocabulary and Reference Concept Ontology"/></a>OSF Integration with Solr Provides Superior Search</h2>
<p>This continues our series on the new <a href="http://techwiki.openstructs.org/index.php/UMBEL_Concept">UMBEL</a> portal. UMBEL, the <em>Upper Mapping and Binding Exchange Layer</em>, is an upper ontology of about 28,000 reference concepts <em><strong>and</strong></em> a vocabulary designed for domain ontologies and ontology mapping <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#pt2_1">[1]</a>. This part focuses on the search function within the UMBEL portal based on the native engines used by the open semantic framework (<a href="http://openstructs.org/open-semantic-framework">OSF</a>).</p>
<p>Search uses the integration of RDF and inferencing with full-text, faceted search using <a href="http://lucene.apache.org/solr/">Solr</a>. This has been <a href="http://structureddynamics.com/">Structured Dynamics</a>’ standard search function for some time, as <a href="http://fgiasson.com/blog/index.php/2009/04/29/rdf-aggregates-and-full-text-search-on-steroids-with-solr/"> Fred Giasson initially described in April 2009</a>. It is a very effective way for finding new and related concepts within the UMBEL structure.</p>
<p>Solr, as the Web service-enabled option for its parent <a href="http://lucene.apache.org/">Lucene</a>, has most recently become a not uncommon adjunct to semantic technologies, for the very same reasons as outlined herein. However, in 2008, when we first embraced the option, it was not common at all. To my knowledge, within the semantic technology community, only the <a href="http://swse.org/">SWSE</a> (semantic Web search engine) project was using Lucene when we began to adopt it.</p>
<p>The reasons for embracing Solr (or Lucene) are these:</p>
<ul>
<li>Full-text search with a flexible search syntax</li>
<li>Ability to add facets (which is very powerful when combined with the structure of RDF)</li>
<li>High performance</li>
<li>Extensions for locational and time searches and many <a href="http://lucene.apache.org/solr/features.html">additional options</a>, and</li>
<li>Open source.</li>
</ul>
<p>Prior to the adoption of add-ons like Solr, RDF-only search suffered from a number of limitations, especially in the lack of a searchable correspondence of labels in relation to the object URIs used in the RDF model (see <a href="http://fgiasson.com/blog/index.php/2009/04/29/rdf-aggregates-and-full-text-search-on-steroids-with-solr/"> some of the limitations of standard RDF search</a>).</p>
<p>Because of its advantages, Solr became the first additional main engine underneath our <a href="http://openstructs.org/structwsf">structWSF</a> Web services framework, complementing the central RDF triple store (<a href="http://www.openlinksw.com/virtuoso/">Virtuoso</a>in most cases). We have subsequently added other main engines, as well, with a current total of four, which other parts in this UMBEL series will later discuss:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111107_engines_solr.png"><br/> <img alt="Solr, a Main structWSF Engine" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111107_engines_solr.png" style="width: 600px; height: 278px;" title="Solr, a Main structWSF Engine"/></a></div>
<p>Being a main engine underneath structWSF means that datasets are fully indexed and cross-correlated with the capabilities of the other engines at time of ingest. Ingest most commonly occurs when datasets are ingested by the <a href="http://techwiki.openstructs.org/index.php/Individual_conStruct_Import_Tool"> standard import tool</a>; but, it might also be part of the system’s large dataset import scripts or synchronization routines.</p>
<h3>The Search Function and Syntax</h3>
<p>The standard UMBEL search box is found at the upper left of most <a href="http://umbel.org/">site pages</a>. When searching, you may choose these operators or syntax to add to your keywords, for example:</p>
<ul>
<li><em>park</em> OR <em>city</em> — provides the most results</li>
<li><em>park</em> AND <em>city</em> — both terms must be present; fewer results</li>
<li><em>park city</em> (no quotes) — both terms must be present, and within 5 words of one another; still fewer results, or</li>
<li><em>“park city”</em> — exact phrase in quotes, with the fewest results.</li>
</ul>
<p>(At present, Booleean operators apply to full-content search, and not filtered search.)</p>
<p>Upon searching, using the default of searching title, alternative labels (synonyms) and description (“TAD”), the standard search results page is displayed:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111107_search_results.png"><br/> <img alt="UMBEL Search Results Page" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111107_search_results.png" style="border: 1px solid #820000; width: 600px; height: 295px;" title="UMBEL Search Results Page"/></a></div>
<p>This page provides the further filtering options of searching by only title, or all content (including the linkings for each concept to its super classes and sub classes, which may produce a quite inclusive results set). These filter options are helpful in being able to sift through the 28,000 concepts within UMBEL.</p>
<p>The results listing provides the UMBEL concept names, their description, their alternative labels and a link <a href="http://umbel.org/relationbrowser?uri=http%3A%2F%2Fumbel.org%2Fumbel%2Frc%2FTractor"> [<img align="middle" alt="" src="http://umbel.org/sites/umbel.org/themes/pixture_reloaded/imgs/chart_line.png"/>]</a> to view them in the relation browser (to be discussed in more detail in the next part of this series). A simple pagination utility enables the results to be paged.</p>
<h4>structWSF Basis and Options</h4>
<p>This UMBEL search uses the structWSF <a href="http://techwiki.openstructs.org/index.php/Search"><strong>Search Web service</strong></a>. It is what ties into the Solr engine to perform the full text searches on the structured data indexed on a structWSF instance. A search query can be as simple as querying the data store for a single keyword, or to query it using a series of complex filters.</p>
<p>Not all of these query syntax or filtering options are active on the UMBEL instance given the simple concept structure of the UMBEL ontology. Turning these options on or off is a relatively straightforward matter of altering some configuration files and ensuring the right parameters are included in the queries issued by the application to the structWSF search endpoint.</p>
<p>Developers communicate with the Search Web service using the HTTP POST method. You may request one of the following mime types: (1) text/xml, (2) application/rdf+xml, (3) application/rdf+n3 or (4) application/json. The content returned by the Web service is serialized using the mime type requested and the data returned depends on the parameters selected.</p>
<p style="padding-left: 30px;"><strong>A. Optional Available Operators</strong></p>
<p>Optionally, the structWSF Search function may be configured to support these operators and conventions. All operators, by the way, must be entered as ALL CAPS:</p>
<ul>
<li>AND, which is the default operator if more than one key word is entered</li>
<li>OR, which needs to be specifically entered</li>
<li>NOT</li>
<li>Phrases, which are denoted by double quotes as this “search phrase”; single quotes are not accepted</li>
<li>Wildcard searches on single characters (?) and multiple characters (*), which can be placed anywhere except the beginning of the query term</li>
<li>Field searches, whereby the field name is used in the query followed by a colon</li>
<li>Nesting, which allows complicated Boolean expressions to be formed (so long as parentheses are balanced), and many more exotic options.</li>
</ul>
<p>See further the Lucene search engine <a href="http://lucene.apache.org/java/2_4_0/queryparsersyntax.html" rel="nofollow">syntax specification</a>.</p>
<p style="padding-left: 30px;"><strong>B. Optional Available Filters</strong></p>
<p>Each search query can be applied to all, or a subset of, datasets accessible by the requester. Each Search query can be filtered by these different filtering criteria:</p>
<ol>
<li>Type of the record(s) being requested</li>
<li>Source dataset(s) for the the record</li>
<li>Presence of an attribute describing the record(s)</li>
<li>A specific value, for a specific attribute describing the record(s)</li>
<li>A distance from a lat/long coordinate (for <a href="http://techwiki.openstructs.org/index.php/Geo-enabling_structWSF" rel="nofollow">geo-enabled structWSF instance</a>)</li>
<li>A range of lat/long coordinates (for <a href="http://techwiki.openstructs.org/index.php/Geo-enabling_structWSF" rel="nofollow">geo-enabled structWSF instance</a>)</li>
</ol>
<p>These filtering options allow subset searches to occur, as the example above for title and TAD in UMBEL shows. However, these filters can also be combined into more complete and structured selection options as well. For example, this same search utility applied to Structured Dynamics’ <a href="http://demo.citizen-dan.org/conStruct/browse">Citizen Dan</a> local government sandbox shows how these additional filters may be applied:</p>
<ul>
<li>Clicking on a given “kind” name causes the results display to be restricted to results only for that kind of class.</li>
<li>If so selected, the Filter by Dataset tab is also restricted to the datasets that contain results with that class.</li>
<li>Once selected, the filter remains in place. To remove it, click on the Remove filter icon [<img align="middle" alt="" src="http://techwiki.openstructs.org/images/0/0b/Cancel.png"/>] to restore the “kinds” back to the original listing for this search.</li>
</ul>
<p>See the <a href="http://demo.citizen-dan.org/conStruct/browse">example</a>. Such filtering capabilities present all of the “kinds” (actually, classes that have similar members) that are contained within the structure of the individual results that comprise the search results. The number of records (results) returned for each class may also be shown in parentheses.</p>
<h3>Single Result (Concept) View</h3>
<p>Clicking on an individual instance result in the UMBEL search results view (see above) provides the single result View for that specific UMBEL concept:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111107_instance_view.png"><br/> <img alt="UMBEL Instance View" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111107_instance_view.png" style="border: 1px solid #820000; width: 600px; height: 492px;" title="UMBEL Instance View"/></a></div>
<p>This view now provides a detailed description of the UMBEL concept and its structure and relationships. I briefly describe each item denoted by a checkmark.</p>
<p>The concept title and link to the relation browser <a href="http://umbel.org/relationbrowser?uri=http%3A%2F%2Fumbel.org%2Fumbel%2Frc%2FTractor"> [<img align="middle" alt="" src="http://umbel.org/sites/umbel.org/themes/pixture_reloaded/imgs/chart_line.png"/>]</a> are provided, followed by the actual concept URI identifier. Then the listing shows the alternative labels (synonyms, jargon and acronyms) provided for that concept followed by its (often detailed) description.</p>
<p>The structured information for that concept appears below that material. First shown is the UMBEL SuperType<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#pt2_2"> [2]</a> to which the concept belongs, and then its external (non-UMBEL ontology) and internal (UMBEL) super classes and subclasses. There is also the facility to retrieve named individuals (instances) for that concept (see next).</p>
<h3>Named Individual Listing</h3>
<p>Choosing the ‘Get Entities from Sources’ button may provide example instances for that concept, as is shown below for the ‘Artist’ concept:</p>
<div><img alt="Retrieving Named Individuals" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111107_individuals_list.png" style="border: 1px solid #820000; width: 277px; height: 439px;" title="Retrieving Named Individuals"/></div>
<p>This linkage is relatively new for UMBEL (see the <a href="http://feeds.feedburner.com/../945/announcing-the-first-production-grade-umbel/"> version 1.00 release write-up</a>) and is still being expanded. At present, these linkages are limited to only a subset of UMBEL concepts and only linkages to Wikipedia. This aspect of the system is under active development, with more sources and more linked concepts to be released in the future.</p>
<div class="boxBrownDotted">
<div style="float: left; margin-right: 15px;"><img alt="UMBEL small logo" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/umbel_logo_42.png" title="UMBEL small logo"/></div>
<p>This is the second of a multi-part series on the newly updated UMBEL services. Other articles in this series are:</p>
<ul>
<li><a href="http://feeds.feedburner.com/../983/umbel-services-part-1-overview/">UMBEL Services, Part 1: Overview</a></li>
<li><a href="http://feeds.feedburner.com/../987/umbel-services-part-3-concept-browser">UMBEL Services, Part 3: Concept Browser</a></li>
<li><a href="http://feeds.feedburner.com/../988/umbel-services-part-4-structontology">UMBEL Services, Part 4: structOntology</a></li>
</ul>
</div>
<hr align="left" size="1" style="margin: 15px 0px;" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="pt2_1"/>[1] See further the general <a href="http://en.wikipedia.org/wiki/UMBEL">Wikipedia description of UMBEL</a> or its specification on the <a href="http://umbel.org/">official UMBEL Web site</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="pt2_2"/>[2] SuperTypes are a collection of (mostly) similar Reference Concepts. Most of the SuperType classes have been designed to be (mostly) disjoint from the other SuperType classes. SuperTypes thus provide a higher-level of clustering and organization of Reference Concepts for use in user interfaces and for reasoning purposes. Every Reference Concept in UMBEL is assigned to a SuperType; a few are assigned to more than one where disjointedness conditions are not absolute. Each of the 32 UMBEL SuperTypes has a matching predicate for relating to external topics. See further the <a href="http://umbel.org/specifications/annex-g">discusison of SuperTypes</a> in the <a href="http://umbel.org/specifications/full-specification">UMBEL specification</a>.</div>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/XynISfviZqg" width="1"/></div>
    </content>
    <updated>2011-11-07T14:28:58Z</updated>
    <category term="Open Semantic Framework"/>
    <category term="UMBEL"/>
    <category term="osf"/>
    <category term="semantic framework"/>
    <category term="semantic technology"/>
    <category term="solr"/>
    <category term="Structured Dynamics"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/986/umbel-services-part-2-full-text-faceted-search/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-12-08T03:50:46Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=984</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/mKJdBXMVGmk/" rel="alternate" type="text/html"/>
    <title>And, Now, We Pause for a Brief Commercial Message . . .</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=And, Now, We Pause for a Brief Commercial Message . . .&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Uncategorized&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-11-03&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/984/and-now-we-pause-for-a-brief-commercial-message/&amp;rft.language=English"/>
Mixing Business and Pleasure I never talk politics here, and rarely speak of sports or family or personal matters. But I’m making an exception today. Since we lived in Montana a couple of decades back, skiing and the mountains have been a central theme in my family. Both of my kids learned to ski at [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=And, Now, We Pause for a Brief Commercial Message . . .&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Uncategorized&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-11-03&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/984/and-now-we-pause-for-a-brief-commercial-message/&amp;rft.language=English"/>
<h2><a href="http://783timberlake.com/"><img alt="Winter Park, CO Rental" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111103_783timberlake.jpg" style="margin-right: 10px; float: left;" title="Winter Park, CO Rental" width="240"/></a>Mixing Business and Pleasure</h2>
<p>I never talk politics here, and rarely speak of sports or family or personal matters. But I’m making an exception today.</p>
<p>Since we lived in Montana a couple of decades back, skiing and the mountains have been a central theme in my family. Both of my kids learned to ski at Lost Trail before they even turned three. Today, both are impressive skiers. (I’m a different story, but that is immaterial. <img alt=";)" class="wp-smiley" src="http://www.mkbergman.com/wp-includes/images/smilies/icon_wink.gif"/>  )</p>
<p>We have skied many places across the Western US, all enjoyable and all remarkable. But, our favorite amongst them has been Winter Park, CO (more specifically, Mary Jane — no Jane, no pain). We have been going there for nearly a decade. The slopes and the beauty are, of course, arguments in themselves. But also what makes Winter Park special is that it offers the best deal on earth for lift tickets (with an annual pass) and has a local clientele that is laid back and into substance and not flash.</p>
<p>As our kids have grown and taken on lives of their own, we have come to treasure those chances when all of us can be together. Sking — but summer activities, too — are great ways to make that happen.</p>
<p>So, it is with immeasurable pleasure that we closed the sale today on a new second home in Winter Park. It is absolutely perfect for all things outdoors. And, since we still have regular lives and work, we will be offering our new place for rental for those many weeks we can not enjoy it ourselves. If mountains and beauty and nature are in your calling, let us know. We have a <a href="http://783timberlake.com/">fantastic place to rent</a> to you in one of the most spectacular places on earth.</p>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/mKJdBXMVGmk" width="1"/></div>
    </content>
    <updated>2011-11-03T09:08:47Z</updated>
    <category term="Uncategorized"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/984/and-now-we-pause-for-a-brief-commercial-message/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-11-15T23:50:45Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=983</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/Io1FIE2mQvc/" rel="alternate" type="text/html"/>
    <title>UMBEL Services, Part 1: Overview</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=UMBEL Services, Part 1: Overview&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Structured Dynamics&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-10-24&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/983/umbel-services-part-1-overview/&amp;rft.language=English"/>
New Portal Update Leverages the Open Semantic Framework UMBEL, the Upper Mapping and Binding Exchange Layer, is an upper ontology of about 28,000 reference concepts and a vocabulary designed for domain ontologies and ontology mapping [1]. When we first released UMBEL in mid-2008 it was accompanied by a number of Web services and a SPARQL [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=UMBEL Services, Part 1: Overview&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Structured Dynamics&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-10-24&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/983/umbel-services-part-1-overview/&amp;rft.language=English"/>
<h2><a href="http://umbel.org/"><img align="left" alt="UMBEL Vocabulary and Reference Concept Ontology" src="http://www.mkbergman.com/wp-content/themes/ai3/images/umbel_medium.png" style="border: 0px solid; width: 206px; height: 100px; float: left; margin-right: 10px;" title="UMBEL Vocabulary and Reference Concept Ontology"/></a>New Portal Update Leverages the Open Semantic Framework</h2>
<p><a href="http://techwiki.openstructs.org/index.php/UMBEL_Concept" title="UMBEL Concept">UMBEL</a>, the <em>Upper Mapping and Binding Exchange Layer</em>, is an upper ontology of about 28,000 reference concepts <em><strong>and</strong></em> a vocabulary designed for domain ontologies and ontology mapping<a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#part1_1"> [1]</a>. When we <a href="http://feeds.feedburner.com/../449/first-public-version-of-umbel-released/">first released UMBEL</a> in mid-2008 it was accompanied by a number of Web services and a SPARQL endpoint, and general APIs. In fact, these were the first Web services developed for release by <a href="http://structureddynamics.com/">Structured Dynamics</a>. They were the prototypes for what later became the <a href="http://openstructs.org/structwsf">structWSF</a> Web services framework, which incorporated many lessons learned and better practices.</p>
<p>By the time that the structWSF framework had evolved with many additions to comprise the Open Semantic Framework (<a href="http://openstructs.org/open-semantic-framework">OSF</a>), those original UMBEL Web services had become quite dated. Thus, upon the <a href="http://feeds.feedburner.com/../945/announcing-the-first-production-grade-umbel/"> last major update to UMBEL</a> to version 1.0 back in February of this year, we removed these dated services.</p>
<p>Like what I earlier mentioned about the <a href="http://feeds.feedburner.com/../979/the-cobblers-shoes/">cobbler’s children</a> being the last to get new shoes, it has taken us a bit to upgrade the UMBEL services. However, I am pleased to announce we have now completed the transition of UMBEL’s earlier services to use the OSF framework, and specifically the structWSF platform-independent services. As a result, there are both upgraded existing services and some exciting new ones. We will now be using UMBEL as one of our showcases for these expanding OSF features. We will be elaborating upon these features throughout this series, some parts of which will appear on <a href="http://fgiasson.com/blog">Fred Giasson’s blog</a>.</p>
<p>In this first part, we provide a broad overview of the new UMBEL OSF implementation. We also begin to foretell some of the parts to come that will describe some of these features in more detail.</p>
<h3>The Overall Portal</h3>
<p>The new UMBEL portal is a fairly classic example of an OSF installation. The content management system hosting the system is <a href="http://drupal.org/">Drupal</a>, supplemented with a standard set of third-party modules and our own <a href="http://drupal.org/project/construct">conStruct</a> semantic technology modules. The theme is a stripped-down modification of the popular <a href="http://drupal.org/project/pixture_reloaded">Pixture Reloaded</a> theme:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111024_umbel.png"><br/>
<img alt="Main UMBEL Web site" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111024_umbel.png" style="border: 1px solid #820000; width: 600px; height: 306px;" title="Main UMBEL Web site"/></a></div>
<p>Like other vocabulary sites, the UMBEL portal contains <a href="http://umbel.org/specifications">specifications</a> and links to <a href="http://umbel.org/community">community</a> <a href="http://umbel.org/resources">resources</a> and <a href="http://umbel.org/downloads">downloads</a>. It also has some specialty links not shown on typical standards sites.</p>
<h3>Much Better Vocabulary Access and Management</h3>
<p>The site now most prominently features our <a href="http://techwiki.openstructs.org/index.php/StructOntology:_Overview">structOntology</a> editing and maintenance tool. Built on the <a href="http://techwiki.openstructs.org/index.php/OWL_API">OWL API</a>, the same as <a href="http://techwiki.openstructs.org/index.php/Category:Prot%C3%A9g%C3%A9">Protégé 4</a>, structOntology provides the advantage of enabling edits and management of ontologies directly within the applications in which they are used. This is far superior to needing to fire up an external ontology manager and then to re-import the changed ontology. structOntology also has an arguably simpler interface and operation than other ontology management alternatives:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111024_umbel_tree.png"><br/>
<img alt="Sample UMBEL structOntology" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111024_umbel_tree.png" style="border: 1px solid #820000; width: 600px; height: 461px;" title="Sample UMBEL structOntology"/></a></div>
<p>For the UMBEL site, the standard view of using structOntology is read-only. In a subsequent part we will also discuss structOntology’s full editing and maintenance mode.</p>
<h3>Improved Discovery and Navigation</h3>
<p>Like all standard OSF installations, there are two superior means for discovery and navigation of the information space:  <a href="http://techwiki.openstructs.org/index.php/Individual_conStruct_Search_Tool"> search</a> and the <a href="http://techwiki.openstructs.org/index.php/SRelationBrowser">relation browser</a>.</p>
<p>Search uses the integration of RDF and inferencing with full-text, faceted search using <a href="http://lucene.apache.org/solr/">Solr</a>. This has been Structured Dynamics’ standard search function for some time, as <a href="http://fgiasson.com/blog/index.php/2009/04/29/rdf-aggregates-and-full-text-search-on-steroids-with-solr/"> Fred initially described in April 2009</a>. It is a very effective way for finding new and related concepts within the UMBEL structure.</p>
<p>The relation browser is what is used for casual navigation and discovery. Any concept found via search or other means within the system can have the browser invoked by clicking on its browser icon <a href="http://umbel.org/relationbrowser?uri=http%3A%2F%2Fumbel.org%2Fumbel%2Frc%2FTractor">[<img align="middle" alt="" src="http://umbel.org/sites/umbel.org/themes/pixture_reloaded/imgs/chart_line.png"/>]</a>. When done, the standard relation browser appears:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111024_umbel_browser.png"><br/>
<img alt="UMBEL Relation Browser" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111024_umbel_browser.png" style="border: 1px solid #820000; width: 600px; height: 356px;" title="UMBEL Relation Browser"/></a></div>
<p>The relation browser is highly configurable, as shown by some of our <a href="http://techwiki.openstructs.org/index.php/SRelationBrowser_Examples">exemplar installations</a>. Note in this case that the <a href="http://umbel.org/refconcept?ontology=file%3A%2F%2Flocalhost%2Fdata%2Fontologies%2Ffiles%2Fumbel.org%2Fumbel_reference_concepts_v100.n3&amp;uri=http%3A%2F%2Fumbel.org%2Fumbel%2Frc%2FAgriculturalImplement"> More details …</a> link brings you to a detailed concept view, such as this example:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111024_concept_example.png"><br/>
<img alt="Example UMBEL concept view" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111024_concept_example.png" style="border: 1px solid #820000; width: 600px; height: 385px;" title="Example UMBEL concept view"/></a></div>
<p>These various tools provide great means for discovery and navigation within the 28,000 concepts in the UMBEL reference space.</p>
<h3>Newly Released Web Services and SPARQL Endpoints</h3>
<p>We are also now providing updated endpoints for <a href="http://techwiki.openstructs.org/index.php/Ontology_Read" title="Ontology Read Web service endpoint">Ontology: Read</a>, <a href="http://techwiki.openstructs.org/index.php/Search" title="Search Web service endpoint">Search</a>, <a href="http://techwiki.openstructs.org/index.php/CRUD:_Read" title="CRUD: Read Web service endpoint">Crud: Read</a>, <a href="http://techwiki.openstructs.org/index.php/SPARQL" title="SPARQL Web service endpoint">SPARQL</a> and <a href="http://techwiki.openstructs.org/index.php/Scones" title="Scones Web service endpoint">Scones</a>. These will be described with access and query examples in a later part.</p>
<h3>Some Cool New Sandboxes</h3>
<p>We will also be discussing our OBIE (ontology-based information extraction) and entity tagger, <a href="http://techwiki.openstructs.org/index.php/Scones">scones</a>, and export and ontology edit and management functions in subsequent posts.</p>
<h3>Looking Ahead to Remaining Parts</h3>
<p>We anticipate eight or nine more parts in this series explaining most of these options in greater detail. We hope to post a couple per week or so over the coming month. We will conclude with a discussion of next pending UMBEL releases.</p>
<div class="boxBrownDotted"><img align="middle" alt="UMBEL small logo" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/umbel_logo_42.png" title="UMBEL small logo"/> This is the first of a multi-part series on the newly updated UMBEL services.</div>
<hr align="left" size="1" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="part1_1"/>[1] See further the general <a href="http://en.wikipedia.org/wiki/UMBEL">Wikipedia description of UMBEL</a> or its specification on the <a href="http://umbel.org/">official UMBEL Web site</a>.</div>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/Io1FIE2mQvc" width="1"/></div>
    </content>
    <updated>2011-10-24T16:35:01Z</updated>
    <category term="Structured Dynamics"/>
    <category term="UMBEL"/>
    <category term="#semweb"/>
    <category term="Ontology"/>
    <category term="semantic framework"/>
    <category term="Web services"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/983/umbel-services-part-1-overview/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-11-11T04:50:42Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://hyperdata.org/blog/2011/10/</id>
    <link href="http://hyperdata.org/blog/2011/10/" rel="alternate" type="text/html"/>
    <title>links for 2011-10-22</title>
    <summary>BaseX | The XML Database (tags: xml db xpath xquery) MIME and the Web (tags: mime web rfc) Oscar Godson, JavaScriptologist – Writings about JavaScript and the related (tags: javascript tutorial blog json) Son of RFC 3023 : XML Media Types (tags: rfc 3023 xml media types fragment mime) Understanding the Striped RDF/XML Syntax (tags: [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><ul class="delicious">
<li>
<div class="delicious-link"><a href="http://basex.org/">BaseX | The XML Database</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/xml">xml</a> <a href="http://www.delicious.com/danja/db">db</a> <a href="http://www.delicious.com/danja/xpath">xpath</a> <a href="http://www.delicious.com/danja/xquery">xquery</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://tools.ietf.org/id/draft-masinter-mime-web-info-02.html#anchor16">MIME and the Web</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/mime">mime</a> <a href="http://www.delicious.com/danja/web">web</a> <a href="http://www.delicious.com/danja/rfc">rfc</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://oscargodson.posterous.com/">Oscar Godson, JavaScriptologist – Writings about JavaScript and the related</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/javascript">javascript</a> <a href="http://www.delicious.com/danja/tutorial">tutorial</a> <a href="http://www.delicious.com/danja/blog">blog</a> <a href="http://www.delicious.com/danja/json">json</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.w3.org/2006/02/son-of-3023/draft-murata-kohn-lilley-xml-04.html">Son of RFC 3023 : XML Media Types</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/rfc">rfc</a> <a href="http://www.delicious.com/danja/3023">3023</a> <a href="http://www.delicious.com/danja/xml">xml</a> <a href="http://www.delicious.com/danja/media">media</a> <a href="http://www.delicious.com/danja/types">types</a> <a href="http://www.delicious.com/danja/fragment">fragment</a> <a href="http://www.delicious.com/danja/mime">mime</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.w3.org/2001/10/stripes/">Understanding the Striped RDF/XML Syntax</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/danbri">danbri</a> <a href="http://www.delicious.com/danja/rdfxml">rdfxml</a> <a href="http://www.delicious.com/danja/rdf">rdf</a> <a href="http://www.delicious.com/danja/xml">xml</a> <a href="http://www.delicious.com/danja/striped">striped</a> <a href="http://www.delicious.com/danja/striping">striping</a> <a href="http://www.delicious.com/danja/syntax">syntax</a> <a href="http://www.delicious.com/danja/format">format</a> <a href="http://www.delicious.com/danja/history">history</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://many.corante.com/archives/2004/11/06/the_tragedy_of_the_comments.php">The Tragedy of the Comments. Many-to-Many:</a></div>
<div class="delicious-extended">standing behind your words</div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/blogging">blogging</a> <a href="http://www.delicious.com/danja/comments">comments</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://jeffsayre.com/2011/03/05/its-time-for-blogging-to-evolve/">It’s Time for Blogging to Evolve</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/blogging">blogging</a> <a href="http://www.delicious.com/danja/comments">comments</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.microsoft.com/typography/ctfonts/wordrecognition.aspx">The Science of Word Recognition</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/word">word</a> <a href="http://www.delicious.com/danja/recognition">recognition</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://werner.yellowcouch.org/Papers/bpm10/">Biasremoval from BPM Counters and an argument for the use of Measures per Minute instead of Beats per Minute</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/bpm">bpm</a> <a href="http://www.delicious.com/danja/calculation">calculation</a> <a href="http://www.delicious.com/danja/maths">maths</a> <a href="http://www.delicious.com/danja/autocorrelation">autocorrelation</a> <a href="http://www.delicious.com/danja/tempo">tempo</a> <a href="http://www.delicious.com/danja/music">music</a> <a href="http://www.delicious.com/danja/analysis">analysis</a> <a href="http://www.delicious.com/danja/sound">sound</a> <a href="http://www.delicious.com/danja/acoustics">acoustics</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://departmentofimprobability.blogspot.com/">Using Different OS'es for Music</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/music">music</a> <a href="http://www.delicious.com/danja/os">os</a> <a href="http://www.delicious.com/danja/audio">audio</a> <a href="http://www.delicious.com/danja/windows">windows</a> <a href="http://www.delicious.com/danja/linux">linux</a> <a href="http://www.delicious.com/danja/osx">osx</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://blogs.hbr.org/haque/2011/09/was_marx_right.html">Was Marx Right? – Umair Haque – Harvard Business Review</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/marx">marx</a> <a href="http://www.delicious.com/danja/economy">economy</a> <a href="http://www.delicious.com/danja/blog">blog</a> <a href="http://www.delicious.com/danja/capitalism">capitalism</a> <a href="http://www.delicious.com/danja/business">business</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://richard.cyganiak.de/2007/10/lod/">The Linking Open Data cloud diagram</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/lod">lod</a> <a href="http://www.delicious.com/danja/cloud">cloud</a> <a href="http://www.delicious.com/danja/linkeddata">linkeddata</a> <a href="http://www.delicious.com/danja/rdf">rdf</a> <a href="http://www.delicious.com/danja/semweb">semweb</a> <a href="http://www.delicious.com/danja/data">data</a> <a href="http://www.delicious.com/danja/dbpedia">dbpedia</a> <a href="http://www.delicious.com/danja/diagram">diagram</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://lists.w3.org/Archives/Public/www-tag/2003Feb/0093.html">Proposed issue: site metadata hook from Tim Berners-Lee on 2003-02-10 (www-tag@w3.org from February 2003)</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/timbl">timbl</a> <a href="http://www.delicious.com/danja/quote">quote</a> <a href="http://www.delicious.com/danja/robots.txt">robots.txt</a> <a href="http://www.delicious.com/danja/breaks">breaks</a> <a href="http://www.delicious.com/danja/web">web</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.ohdeo.com/">Free Audio Samples, VSTi's and Drum Samples – Ohdeo</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/samples">samples</a> <a href="http://www.delicious.com/danja/vst">vst</a> <a href="http://www.delicious.com/danja/plugins">plugins</a> <a href="http://www.delicious.com/danja/drum">drum</a> <a href="http://www.delicious.com/danja/loops">loops</a> <a href="http://www.delicious.com/danja/free">free</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://jonudell.net/udell/2002-09-19-googles-sergey-brin.html">Jon Udell / 2002/09/19 / Google's Sergey Brin</a></div>
<div class="delicious-extended">putting angle brackets around things is not a technology, by itself</div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/brin">brin</a> <a href="http://www.delicious.com/danja/quote">quote</a> <a href="http://www.delicious.com/danja/angle">angle</a> <a href="http://www.delicious.com/danja/brackets">brackets</a> <a href="http://www.delicious.com/danja/google">google</a> <a href="http://www.delicious.com/danja/semweb">semweb</a> <a href="http://www.delicious.com/danja/rdf">rdf</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.mcld.co.uk/blog/blog.php?254">MCLD blog: Reverse-engineering the rave hoover</a></div>
<div class="delicious-extended">SuperCollider</div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/music">music</a> <a href="http://www.delicious.com/danja/analysis">analysis</a> <a href="http://www.delicious.com/danja/hoover">hoover</a> <a href="http://www.delicious.com/danja/synth">synth</a> <a href="http://www.delicious.com/danja/SuperCollider">SuperCollider</a> <a href="http://www.delicious.com/danja/rave">rave</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://supercollider.sourceforge.net/">SuperCollider –  realtime sound synthesis server</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/synth">synth</a> <a href="http://www.delicious.com/danja/code">code</a> <a href="http://www.delicious.com/danja/sound">sound</a> <a href="http://www.delicious.com/danja/music">music</a> <a href="http://www.delicious.com/danja/audio">audio</a> <a href="http://www.delicious.com/danja/server">server</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="https://github.com/acspike/GameClient">acspike/GameClient – GitHub</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/midi">midi</a> <a href="http://www.delicious.com/danja/xmpp">xmpp</a> <a href="http://www.delicious.com/danja/python">python</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.dubstepforum.com/tutorial-hoovers-reeses-explained-t159653.html">Hoover vs. Reese</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/dubstep">dubstep</a> <a href="http://www.delicious.com/danja/bass">bass</a> <a href="http://www.delicious.com/danja/synth">synth</a> <a href="http://www.delicious.com/danja/hoover">hoover</a> <a href="http://www.delicious.com/danja/reese">reese</a> <a href="http://www.delicious.com/danja/reece">reece</a> <a href="http://www.delicious.com/danja/dnb">dnb</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb">Understanding node.js » Debuggable Ltd</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/node.js">node.js</a> <a href="http://www.delicious.com/danja/intro">intro</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.nodebeginner.org/">The Node Beginner Book » A comprehensive Node.js tutorial</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/node.js">node.js</a> <a href="http://www.delicious.com/danja/primer">primer</a> <a href="http://www.delicious.com/danja/intro">intro</a> <a href="http://www.delicious.com/danja/tutorial">tutorial</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://en.wikipedia.org/wiki/File_descriptor">File descriptor – Wikipedia, the free encyclopedia</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/unix">unix</a> <a href="http://www.delicious.com/danja/linux">linux</a> <a href="http://www.delicious.com/danja/file">file</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://infomesh.net/2003/rdfpath">Pondering RDF Path</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/sbp">sbp</a> <a href="http://www.delicious.com/danja/rdfpath">rdfpath</a> <a href="http://www.delicious.com/danja/rdf">rdf</a> <a href="http://www.delicious.com/danja/paths">paths</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.pharo-project.org/home">Pharo Open Source Smalltalk</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/smalltalk">smalltalk</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://code.google.com/p/duke/">duke – Fast deduplication engine – Google Project Hosting</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/duplication">duplication</a> <a href="http://www.delicious.com/danja/dupes">dupes</a> <a href="http://www.delicious.com/danja/data">data</a> <a href="http://www.delicious.com/danja/cleaner">cleaner</a> <a href="http://www.delicious.com/danja/matching">matching</a> <a href="http://www.delicious.com/danja/entity">entity</a> <a href="http://www.delicious.com/danja/resolution">resolution</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.w3.org/wiki/TriplesInJSON">TriplesInJSON – W3C Wiki</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/sparql">sparql</a> <a href="http://www.delicious.com/danja/json">json</a> <a href="http://www.delicious.com/danja/triples">triples</a> <a href="http://www.delicious.com/danja/ntriples">ntriples</a> <a href="http://www.delicious.com/danja/rdf">rdf</a> <a href="http://www.delicious.com/danja/semweb">semweb</a> <a href="http://www.delicious.com/danja/wiki">wiki</a> <a href="http://www.delicious.com/danja/danja">danja</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="https://github.com/kasabi/kasabi-xsl">kasabi/kasabi-xsl – GitHub</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/sparql">sparql</a> <a href="http://www.delicious.com/danja/xslt">xslt</a> <a href="http://www.delicious.com/danja/ldodds">ldodds</a> <a href="http://www.delicious.com/danja/talis">talis</a> <a href="http://www.delicious.com/danja/kasabi">kasabi</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.youtube.com/watch?v=i_0DXxNeaQ0">What is up with Noises? (The Science and Mathematics of Sound, Frequency, and Pitch) – YouTube</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/sound">sound</a> <a href="http://www.delicious.com/danja/noise">noise</a> <a href="http://www.delicious.com/danja/music">music</a> <a href="http://www.delicious.com/danja/science">science</a> <a href="http://www.delicious.com/danja/audio">audio</a> <a href="http://www.delicious.com/danja/video">video</a> <a href="http://www.delicious.com/danja/maths">maths</a> <a href="http://www.delicious.com/danja/youtube">youtube</a>)</div>
</li>
</ul></div>
    </content>
    <updated>2011-10-22T21:11:07Z</updated>
    <author>
      <name>danja</name>
    </author>
    <source>
      <id>http://hyperdata.org/blog</id>
      <link href="http://hyperdata.org/blog" rel="alternate" type="text/html"/>
      <link href="http://hyperdata.org/blog/feed/rdf/" rel="self" type="application/rdf+xml"/>
      <subtitle>Danny's linkiness</subtitle>
      <title>Hyperdata Blog</title>
      <updated>2011-10-22T21:11:07Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=981</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/mOmdkNp63mU/" rel="alternate" type="text/html"/>
    <title>Fred’s Hair is on Fire</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Fred&#x2019;s Hair is on Fire&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Open Source&amp;rft.subject=Software Development&amp;rft.subject=Structured Dynamics&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-10-17&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/981/freds-hair-is-on-fire/&amp;rft.language=English"/>
Today’s Post is a Testimony to the Value of Vacations My partner, Fred Giasson, today posted the second part of his series on open source. Since returning from a well-earned vacation a few weeks back — after more than three years without a break — Fred has been writing and developing up a storm. As [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Fred&#x2019;s Hair is on Fire&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Open Source&amp;rft.subject=Software Development&amp;rft.subject=Structured Dynamics&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-10-17&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/981/freds-hair-is-on-fire/&amp;rft.language=English"/>
<h2><a href="http://structureddynamics.com/"><img alt="Structured Dynamics" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/sd_logo_black.png" style="margin-right: 10px; float: left;" title="Structured Dynamics" width="225"/></a>Today’s Post is a Testimony to the Value of Vacations</h2>
<p>My partner, <a href="http://fgiasson.com/blog/">Fred Giasson</a>, today posted the <a href="http://fgiasson.com/blog/index.php/2011/10/17/open-sources-projects-as-a-pool-of-resources/">second part</a> of his <a href="http://fgiasson.com/blog/index.php/2011/10/05/unnatural-open-source/">series on open source</a>. Since returning from a well-earned vacation a few weeks back — after more than three years without a break — Fred has been writing and developing up a storm. As someone said to me last week, “Fred’s on fire!” I could not agree more.</p>
<p>I think Fred’s post speaks for itself as to why and how <a href="http://structureddynamics.com/">Structured Dynamics</a> has made a conscious choice to embrace open source. The major reason he puts forth — to bootstrap the company without the need for external investment — is unusual in itself. But one thing he is silent about is why this is a compelling reason. I’ll comment on that.</p>
<p>Fred and I have both worked for others dependent on their capital for our ventures (a few more times in my case). Capital is great for expansion and operations, but it can be deadly when visions requiring patience are in play. Structured Dynamics is only now a bit more than halfway through its five-year plan. While semantics technologies are exciting with a world of upside potential, they have also been incubated in academic labs with (as yet) a general lack of practical deployment. The promise is there, but often the delivery and maturation have been lacking. We are committed to play a visible role in correcting that.</p>
<p>The approach Fred outlines was not perhaps easily available to new startups a decade ago. But now, with open source and the Internet, costs of entry and ongoing development have dropped markedly. Yet, surprisingly, the idea of financing a startup via revenues is still not talked about sufficiently — let alone often used as an actual basis for building a company.</p>
<p>I’ve been fortunate to be able to partner with a young, world-class technologist whose maturity exceeds that of individuals many years his senior. He understands that in order to achieve important visions that the stewardship of those ideas can not be left to venture capitalists committed solely or mostly to gaming terms or near-term returns. We’re placing our bets on the paying customer and our own judgment.</p>
<p>So, it is great to see Fred continue his phenomenal development productivity since he returned from Hawaii. The benefit of his vacation is that we are also now getting his insights on his blog again.</p>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/mOmdkNp63mU" width="1"/></div>
    </content>
    <updated>2011-10-18T04:19:34Z</updated>
    <category term="Open Semantic Framework"/>
    <category term="Open Source"/>
    <category term="Software Development"/>
    <category term="Structured Dynamics"/>
    <category term="#opensource"/>
    <category term="#startup"/>
    <category term="semantics"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/981/freds-hair-is-on-fire/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-11-07T14:50:42Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/10/17/open-sources-projects-as-a-pool-of-resources/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/tf1dt0bTLlQ/" rel="alternate" type="text/html"/>
    <title>Open Sources Projects As A Pool Of Resources</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Open Sources Projects As A Pool Of Resources&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=conStruct&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Programming&amp;rft.subject=Semantic Components&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-10-17&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/10/17/open-sources-projects-as-a-pool-of-resources/&amp;rft.language=English"/>
In a previous blog post, I wrote about how Open Source may be unnatural, and even counter intuitive, to many people. However, that really begs some questions evident with my current company's strategy. Why have Mike Bergman and I chosen to develop no less than three major open source projects (structWSF, conStruct and the Semantic [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Open Sources Projects As A Pool Of Resources&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=conStruct&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Programming&amp;rft.subject=Semantic Components&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-10-17&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/10/17/open-sources-projects-as-a-pool-of-resources/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>In a previous blog post, I wrote about how <a title="">Open Source may be unnatural, and even counter intuitive, to many people</a>. However, that really begs some questions evident with my current company's strategy.</td>
<td><div class="aligncenter" style="margin: 10px; overflow: hidden; display: table; line-height: 0; text-align: center; width: 210px;"><img alt="" class=" size-medium wp-image-1650" height="145" src="http://fgiasson.com/blog/wp-content/uploads/2011/10/quebec_bridge_construction-300x207.jpg" title="The construction of the Bridge of Quebec. Last step to bridge the North and South side of the Fleuve Saint-Laurent." width="210"/><br/><img class="shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div></td>
</tr>
</tbody>
</table>
<p>Why have <a title="">Mike Bergman</a> and I chosen to develop no less than three major open source projects (<a title="">structWSF</a>, <a title="">conStruct</a> and the <a title="">Semantic Components</a>), encompassing more than 100 000 lines of new code and leveraging between 30 to 50 other open source software and libraries? Why have we open sourced all our software? Why has open source formed the core business strategy of <a title="">Structured Dynamics</a> in the last three years? How have we been able to profitably sustain the company, even in the midst of the global economic crisis that began in 2008?</p>
<p>I will try to answer these questions in this blog post, perhaps even providing some guidance for newer startups that may follow behind us.</p>
<h3><strong>Why Open Sourcing?</strong></h3>
<p>Why did Structured Dynamics chose to open source all of its software? There are multiple reasons why people and businesses choose to go open source. For some, it is because they think that it is where the market place is moving. For others it is because they think that a community will emerge around their effort, and then get free resources that improve the piece of software. Some think that their software will promptly be reviewed by professional programmer. Others may think that their system will become more secure. Etc.</p>
<p>For Structured Dynamics the reason why we choose to go open source is somewhat different:</p>
<blockquote><p>We perceived that by open sourcing our complete software stack we could bootstrap the company without any external investment.</p></blockquote>
<h3><strong>Making a Living out of Open Source Projects</strong></h3>
<p>There are multiple ways to do a living from an open source project:</p>
<ul>
<li>Doing consultancy work related to the project</li>
<li>Implementing the software(s) into clients’ computer environment(s)</li>
<li>Selling training classes</li>
<li>Selling support contracts</li>
<li>Selling maintenance contracts</li>
<li>Selling hosted instances of the software (the <a title="">SaaS </a>model for one)</li>
<li>Selling development time to improve some part(s) of the software</li>
<li>Creating conferences around their open source projects</li>
<li>Selling proprietary extensions</li>
<li><em>I am probably missing a few, so please add them in a comment section below, and I will make sure to add them to this list.</em></li>
</ul>
<p>Depending on the software you are developing, and depending on the business plan of your company, you may be doing one — or multiple — of these things to generate some money from your open source projects.</p>
<p>At Structured Dynamics we are doing some of them: we do get consultancy contracts related to the <a title="">Open Semantic Framework</a> and we do implement OSF in our clients’ computer environments.</p>
<p>But, more importantly, we are also doing development contracts related to the framework. In fact, each project we are working on is quite different. Our major projects involve companies that reside in totally different domains, have different needs and need to accommodate different kinds of users. However, most of the projects share the same core needs, and all of them advance the core technology in ways meaningful to our vision. We choose our customers — and , of course, <em>vice versa</em> — based on a true sense of partnership wherein both parties have their objectives furthered.</p>
<p>Let’s see how we use these relationships to drive the development of the Open Semantic Framework.</p>
<h3><strong>Open Source Project as a Pool of Resources</strong></h3>
<p>In the last three years, Structured Dynamics has attracted multiple companies and organizations that share our vision, and which are willing to invest in the Open Semantic Framework open source project. (See Mike's recent <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5ta2JlcmdtYW4uY29tLzk2OS9vZi1mbGFncG9sZXMtYW5kLWZpc2hlcy8=">post on business development</a> for a bit more on that aspect of things.) Each of these clients did want to use the OSF framework for their own needs. However, each of them did want to do something special that was not currently implemented in the framework.</p>
<p>What we created in these three years is a pool of resources that we used to develop the framework such that it accommodates the needs of each of our clients. Each of our clients then becomes a participant to the shared pool of innovation. Our clients have been willing to invest in the open source framework because they need their own features and because they know that they will benefit from what other participants of the pool will invest themselves down the road.</p>
<p>In that scenario, we are the managers of a pool of resources. We have the vision of where we want the framework to go, we know the roadmap of the project and we know the needs of each participant (our clients). What we do is to try to optimize the resources we get from each of our clients by developing the framework such that it can accommodate as broad of a spectrum of participants as possible. Then, we seek to find new participants that have some needs that will help us continue to develop the next steps of the roadmap. In this manner, we Jacob's Ladder our existing work to increase the capabilities for later clients, but earlier clients still benefit because they can upgrade to the later improvements. This is a self-sustaining model to continue to move the development of the framework forward.</p>
<p>By finding new clients, what we do is to give a return on investment to the other pool participants. Most of the new features that we develop for these new clients will benefit the other participants to the pool and will create new possibilities for them without any additional investment. All of our first clients have implemented what other participants later invest into the pool, thus crystallizing and augmenting their return on investment by using these new features.</p>
<h3><strong>Open Source is Not Just About Software</strong></h3>
<p>Open Source is not just about pieces of code, and this is quite important to understand. What we have open sourced with the Open Semantic Framework is much more than a series of code sources. We open sourced the <strong>entire</strong> framework:</p>
<ol start="1">
<li>The source codes</li>
<li>The documentation</li>
<li>The processes</li>
<li>The methodologies</li>
</ol>
<p>We term this comprehensive approach our <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5ta2JlcmdtYW4uY29tLzg4Mi9saXN0ZW5pbmctdG8tdGhlLWVudGVycHJpc2UtdG90YWwtb3Blbi1zb2x1dGlvbnMtcGFydC0xLw==">total</a> <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5ta2JlcmdtYW4uY29tLzg4My9saXN0ZW5pbmctdG8tdGhlLWVudGVycHJpc2UtdG90YWwtb3Blbi1zb2x1dGlvbnMtcGFydC0yLw==">open</a> <a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5ta2JlcmdtYW4uY29tLzg4NC9saXN0ZW5pbmctdG8tdGhlLWVudGVycHJpc2UtdG90YWwtb3Blbi1zb2x1dGlvbnMtcGFydC0zLw==">solution</a>.</p>
<p>This distinction with other open source projects is an essential differentiator with our approach. We choose to open source all of the pieces related to the framework. What drove this decision is a simple sentence that shows our philosophy behind it:</p>
<blockquote><p>"We're Successful When We're Not Needed"</p></blockquote>
<p>If the APIs, processes and methodologies are not properly documented, it means that we would certainly be needed by our clients, which would mean that we failed to open source our solution. But since we are working to open source our code, our processes and our methodologies, we are on the way to successfully open source the Open Semantic Framework since we won’t be needed by our clients.</p>
<p>This business approach is not as crazy as it sounds. We are free to work on new and important innovations, and are not basing our company culture on dependency and a constant drain by our customers. I know, it does not sound like Larry Ellison, but sounds good to us and our clients. It is certainly not a maximum revenue objective built on the backs of individual clients.</p>
<p>Our life is more fun and our clients trust us with new stuff. Further, each step of the way, we are able to leverage our own framework for unbelievable productivity in what we deliver for the money. But that is a topic for another day.</p>
<p>We think Structured Dynamics' business approach is a contemporary winning strategy. Our customers get good and advanced capabilities at low cost and risk, while we get to work on innovative extensions that are raising the semantic baseline for the marketplace. Who knows if we will always continue this path, but for now it is leading to sustained development and market growth for open semantic frameworks, including our own OSF.</p>
<p> </p>
<p> </p>
 <img height="1" src="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1558" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/tf1dt0bTLlQ" width="1"/></div>
    </content>
    <updated>2011-10-18T02:17:42Z</updated>
    <category term="conStruct"/>
    <category term="Open Semantic Framework"/>
    <category term="Programming"/>
    <category term="Semantic Components"/>
    <category term="Semantic Web"/>
    <category term="Structured Dynamics"/>
    <category term="structWSF"/>
    <category term="#business"/>
    <category term="#developer"/>
    <category term="#enterprise"/>
    <category term="#open source"/>
    <category term="#structured dynamics"/>
    <category term="#structwsf"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/10/17/open-sources-projects-as-a-pool-of-resources/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-03-30T00:56:29Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/10/11/volkswagens-rdf-data-management-workflow/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/rKjeBDdoujE/" rel="alternate" type="text/html"/>
    <title>Volkswagen’s RDF Data Management Workflow</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Volkswagen&#x2019;s RDF Data Management Workflow&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-10-11&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/10/11/volkswagens-rdf-data-management-workflow/&amp;rft.language=English"/>
TribalDDB UK’s team just published a new case study to the W3C: Case Study: Contextual Search for Volkswagen and the Automotive Industry. They discuss the benefits of some of the semantic web technologies, techniques and concepts that they use to help them managing their data. They describe their approach and outline their design. It covers [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Volkswagen&#x2019;s RDF Data Management Workflow&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-10-11&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/10/11/volkswagens-rdf-data-management-workflow/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>TribalDDB UK’s team just published a new case study to the W3C: <a title="">Case Study: Contextual Search for Volkswagen and the Automotive Industry</a>. They discuss the benefits of some of the semantic web technologies, techniques and concepts that they use to help them managing their data. They describe their approach and outline their design. It covers the technical aspects of their new Semantic Web Platform that <a title="">I wrote about a few weeks ago</a>.</td>
<td valign="top"><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL1ZvbGtzd2FnZW4ucG5n"><img alt="" class="aligncenter size-full wp-image-1618" height="128" src="http://fgiasson.com/blog/wp-content/uploads/2011/10/Volkswagen.png" title="Volkswagen" width="128"/></a></td>
</tr>
</tbody>
</table>
<p>In this blog post, I want to further explain their data management workflow, and how their data get exposed to different kind of users.</p>
<h3>Two Classes of Users</h3>
<p>Let’s take a look at their data ingest/management/publishing workflow:</p>
<p/><center><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL3Z3X3dvcmtmbG93LmpwZw=="><img alt="" class="size-medium wp-image-1594 alignnone" height="204" src="http://fgiasson.com/blog/wp-content/uploads/2011/10/vw_workflow-300x204.jpg" title="vw_workflow" width="300"/></a></center>As you can see, all their data get collected, transformed and imported into <a title="">structWSF</a>. As I explained in my <a title="">previous blog post</a>, they are using structWSF to manage all their RDF data and access all the functionalities from the different web service endpoints.<p/>
<p>However, how the data get exposed to the users is not that clear. In fact, it depends on the classes of users. A user can be multiple different things: it may be a person, it may be a computer software, it may be an organization, etc. However, there are two general classes of users:</p>
<ol>
<li>Public users, and</li>
<li>Private users</li>
</ol>
<p>Public users are users that have no direct relation with Volkswagen and that have no access to their internal network. Private users are generally internal departments or some internal software applications that have direct access to the structWSF instance.</p>
<h3>Private Users</h3>
<p>Private users generally have access to all structWSF web service endpoints. This means that all structWSF functionalities are accessible to them by querying the endpoints.</p>
<p>Two different kind of private users are specified in the use case’s schema:</p>
<ol>
<li>Volkswagen Site Search</li>
<li>Other / External Applications</li>
</ol>
<p>The Volkswagen site search is a software application that uses the <a title="">structWSF Search endpoint</a> to search, filter and expose their data to their users (the people who perform searches on the Volkswagen UK website).</p>
<p/><center><a href="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZnaWFzc29uLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDExLzEwL3Z3X3NpdGVfc2VhcmNoX3NjcmVlbnNob3QuanBn"><img alt="" class="size-medium wp-image-1599 alignnone" height="240" src="http://fgiasson.com/blog/wp-content/uploads/2011/10/vw_site_search_screenshot-300x240.jpg" title="vw_site_search_screenshot" width="300"/></a></center>The other/external applications are software applications that have access to the structWSF instance. These are generally internal applications that run in the same network. One of these applications is an internal software that exports all the RDF data from the <a title="">structWSF SPARQL endpoint</a>, and import it into <a title="">Kasabi</a>.<p/>
<p>These are two examples of software applications that Volkswagen created around the structWSF web services to re-purpose, re-contextualize and re-publish their RDF data.</p>
<h3>Public Users</h3>
<p>There is currently two kinds of public users of this new Volkswagen Semantic Platform:</p>
<ul>
<li>People, and</li>
<li>Software applications</li>
</ul>
<p>Two interfaces have been made publicly available for each of these kinds of users:</p>
<ul>
<li>A website search engine page for people, and</li>
<li>A SPARQL endpoint for software applications</li>
</ul>
<p>When a person user reaches the website’s search page, the search query get sent to the <a title="">structWSF Search web service endpoint</a>. The result is then returned to the engine, get templated and displayed to the person user.</p>
<p>A SPARQL endpoint is accessible to the software applications. This endpoint is hosted by the <a title="">Kasabi </a>information marketplace. Volkswagen chooses to export everything from their structWSF into Kasabi to outsource the maintenance of their public SPARQL endpoint.</p>
<h3>Unlock the Power</h3>
<p>As we saw in this blog post and in the W3C use case, all Volkswagen UK data is internally managed by structWSF; however they are not locked into that system. They can easily communicate with external services to add new functionalities to their stack or to take business decision such as outsourcing the management of some publicly accessible data access endpoints.</p>
<p>This is an important characteristic of their design:</p>
<blockquote><p><strong>By choosing semantic web technologies (such as structWSF), techniques and concepts (such as their <a title="">Vehicles OWL Ontology</a> and RDF), they are not locking themselves into a specific framework. They can easily communicate with external systems and applications. This means that they can quickly adapt their system to their constantly changing needs.<br/>
</strong></p></blockquote>
<h3>Conclusion</h3>
<p>I wrote this blog post to further explain Volkswagen’s data management workflow. I wanted to make sure that people were understanding the role that structWSF has in this use case, and the ecosystem it operates in.</p>
 <img height="1" src="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1593" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/rKjeBDdoujE" width="1"/></div>
    </content>
    <updated>2011-10-11T22:53:38Z</updated>
    <category term="Open Semantic Framework"/>
    <category term="Semantic Web"/>
    <category term="Structured Dynamics"/>
    <category term="structWSF"/>
    <category term="#rdf"/>
    <category term="#semantic web"/>
    <category term="#solr"/>
    <category term="#sparql"/>
    <category term="#structwsf"/>
    <category term="#volkswagen"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/10/11/volkswagens-rdf-data-management-workflow/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-03-30T00:56:29Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=979</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/IFzGL4M0-9I/" rel="alternate" type="text/html"/>
    <title>The Cobbler’s Shoes</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=The Cobbler&#x2019;s Shoes&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Structured Dynamics&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-10-11&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/979/the-cobblers-shoes/&amp;rft.language=English"/>
The Need to Enforce Periodic Checkups on Web Properties Face it, we all get busy and begin to overlook our own needs while we work for others on our jobs. The parable of the cobbler’s children going without shoes says it all.  It means that the shoemaker spends so much time looking after his customers’ [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=The Cobbler&#x2019;s Shoes&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Structured Dynamics&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-10-11&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/979/the-cobblers-shoes/&amp;rft.language=English"/>
<h2><a href="http://structureddynamics.com/"><img align="left" alt="Structured Dynamics" src="http://www.mkbergman.com/wp-content/themes/ai3/images/sd_logo_black.png" style="border: 0px solid; width: 359px; height: 104px; float: left; margin-right: 10px;" title="Structured Dynamics"/></a> The Need to Enforce Periodic Checkups on Web Properties</h2>
<p>Face it, we all get busy and begin to overlook our own needs while we work for others on our jobs. The parable of the cobbler’s children going without shoes says it all.  It means that the shoemaker spends so much time looking after his customers’ needs that he neglects the needs of his own children.</p>
<p>We see the same phenomena in relation to our own personal assets, home repairs and cleaning, and a myriad of chores and background requirements. One way we can overcome these neglects is by scheduling annual or periodic checkups or activities. Spring cleaning is one such effort, as is annual asset portfolio re-balancing or doctor’s appointments or 10,000 mile vehicle servicing.</p>
<p>One of the cobbler’s chores for <a href="http://structureddynamics.com/">Structured Dynamics</a> is the periodic care and feeding of our various Web sites. This has actually proven to be a non-trivial exercise, as our properties have grown to exceed 1400 static Web pages across some 30 diverse Web addresses and properties. As our client and code base expands, this exercise is increasingly demanding.</p>
<p>Taking advantage of a small break in the action, we have just completed another one of these reviews and revisions. Interestingly, as I was going through the various sites, I saw that date stamps for prior revisions tended to all occur in the September and October time frame. Last September, for example, SD went through a major redesign and new logo. Apparently, without consciously realizing it, we have been doing our own Web attic cleaning in the Fall.</p>
<p>Thus, as a way to formalize this process for us internally, I thought I’d briefly outline the Web site changes that we have cobbled together for this year. I suspect we’ll be doing another spiffing come Fall 2012.</p>
<h3>Rationalizing the Properties</h3>
<p>It is kind of frightening to realize that we have allowed our Web properties to grow to about 30 individual sites. This accretion happens gradually: a new initiative or capability arises that seems to warrant its own Web site. Yet each site carries with it a need to develop and maintain, as well as to explain its role and use in the Structured Dynamics information space.</p>
<p>Exclusive of internal development sites or ones dedicated to specific customers, here is the roster of existing SD properties that we have needed to rationalize:</p>
<ul>
<li><a href="http://structureddynamics.com">Structured Dynamics</a></li>
<li><a href="http://openstructs.org/">OpenStructs.org</a></li>
<li><span style="text-decoration: line-through;">structWSF</span> – moved to OpenStructs</li>
<li><span style="text-decoration: line-through;">conStructSCS</span> – moved to OpenStructs</li>
<li style="text-decoration: line-through;">OpenStructs community site</li>
<li>Open Semantic Framework <a href="http://groups.google.com/group/open-semantic-framework?hl=en">(OSF) Google community site</a></li>
<li><span style="text-decoration: line-through;">Earlier conStruct, irON and structWSF Google community sites</span> – moved to OSF Google<br/>
community site</li>
<li><a href="http://code.google.com/p/structwsf/">structWSF</a> – Google Code SVN</li>
<li><a href="http://drupal.org/project/construct">conStruct</a> – Drupal CVS</li>
<li><a href="http://code.google.com/p/semanticcomponents/">Semantic Components</a> – Google Code SVN</li>
<li><a href="http://code.google.com/p/iron-notation/source/browse/#svn/trunk/irJSON">irON Parsers</a> – Google Code SVN</li>
<li><a href="http://www.citizen-dan.org/">Citizen Dan</a> sandbox<a href="http://www.citizen-dan.org/"><br/>
</a></li>
<li><a href="http://vanilla.openstructs.org">Vanilla OSF</a> – client access only</li>
<li><a href="http://www.umbel.org/">UMBEL</a> – undergoing major update<a href="http://www.umbel.org/"><br/>
</a></li>
<li><a href="http://wiki.umbel.org">UMBEL wiki</a> – had been private; now being transitioned into main UMBEL site</li>
<li><a href="http://groups.google.com/group/umbel-ontology?hl=en">UMBEL Google community site</a></li>
<li><span style="text-decoration: line-through;">UMBEL Web services</span> – old version being replaced with new functionality, being moved to main UMBEL site</li>
<li><span style="text-decoration: line-through;">UMBEL vocabulary site</span> – replaced with new UMBEL functionality<a href="http://www.umbel.org/"><br/>
</a></li>
<li><a href="http://bibliontology.com/">Bibliographic Ontology (BIBO)</a></li>
<li><a href="http://groups.google.com/group/bibliographic-ontology-specification-group?hl=en">BIBO Google community site</a></li>
<li><a href="http://muni-ontology.org/">MUNI Ontology</a></li>
<li><span style="text-decoration: line-through;">MUNI vocabulary site</span> – to be replaced with new MUNI functionality</li>
<li><a href="http://groups.google.com/group/muni-ontology?hl=en">MUNI Ontology Google community site</a> – to be rationalized shortly</li>
<li><a href="http://musicontology.com/">Music Ontology</a> – hosting only<a href="http://musicontology.com/"><br/>
</a></li>
<li><a href="http://techwiki.openstructs.org/index.php/About_TechWiki" title="About TechWiki">TechWiki</a></li>
<li><span style="text-decoration: line-through;">DocWiki</span> – locus of updates has shifted to TechWiki</li>
<li>Mike Bergman’s <a href="http://mkbergman.com/">AI3 blog</a></li>
<li>Fred <a href="http://fgiasson.com/blog">Giasson’s blog</a></li>
</ul>
<p>Note that all properties with strike outs have now either been retired or consolidated with other properties. We have reduced the property count by 10, or by a third. Additional consolidations will be forthcoming.</p>
<h3>Providing a Consistent Entry to the Various Properties</h3>
<p>With the growth of our various Web properties and the diversity of the initiatives behind them, Fred and I have grown increasingly frustrated that our site visitors lacked a consistent way to access and understand these projects. Across all properties, Structured Dynamics has about 6,000 daily visitors or RSS tracking feeds.</p>
<p>Providing a consistent context of what these properties mean and their relation to one another is further compounded by the sheer size of our properties. Excluding dynamically generated pages (such as from <a href="http://feeds.feedburner.com/../sweet-tools/">search</a>, demonstration of our <a href="http://openstructs.org/semantic-components">semantic components</a>, or use of the <a href="http://demo.citizen-dan.org/conStruct/explorer">relation browser</a>), we have on the order of 1400 static Web pages across all properties and blogs. Users may enter our information space via any of these entry points.</p>
<p>The answer to how to provide a consistent context on any Web page throughout our properties resides in the nifty JavaScript popup Fred recently <a href="http://fgiasson.com/blog/index.php/2011/10/02/wordpresss-follow-button-for-non-wordpress-com-users/"> described for his own blog</a>. What we realized is that we could adapt this widget to provide a single overview of SD’s resources, and then add that widget to all of our properties such that it appears as a small tab at the bottom (sometimes side) of all property pages.</p>
<p>Then, when the tab <img align="middle" alt="SD Resource tab" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/2011Posts/111010_sd_resource_tab.png" title="SD Resource tab"/> is clicked, the following popup appears:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111010_sd_resource.png"><br/>
<img alt="SD Resources Popup" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/111010_sd_resource.png" style="border: 0px solid; width: 600px; height: 240px;" title="SD Resources Popup"/></a></div>
<p>So, whenever you are on one of our properties, look for the tab (generally) at the lower right corner of every Web page. That will take you to the common entry point across Structured Dynamics’ Web properties.</p>
<h3>Updating the Properties</h3>
<p>In this process we also went through some of our existing sites and made content, narrative and navigation changes consistent with this rationalization and consistent entry point. These updates were not nearly as extensive as the <a href="http://feeds.feedburner.com/../886/sd-gets-new-logo-look/">full re-designs from one year ago</a>.</p>
<h3>New Shoe Designs</h3>
<p>With a constant stream of new initiatives and new understandings, it will remain a challenge for us to describe our various products and services. An even greater challenge will be to provide coherent descriptions of how all of these initiatives fit together consistent with our overall vision. One attempt at that is our new <a href="http://structureddynamics.com/overview.html">Overview</a> page. Meanwhile, of course, we will occasionally be offering new Web goodies and sites as developments warrant. These will need to get integrated into this picture as well.</p>
<p>We think we have taken an itty-bitty step to improving this process with the SD Resources tab widget. Nonetheless, I’m sure that we will continue to craft new shoes to try to find ones that are still yet more comfortable and attractive. Thing is, we may have to wait another year before we get around to it again.</p>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/IFzGL4M0-9I" width="1"/></div>
    </content>
    <updated>2011-10-11T09:26:51Z</updated>
    <category term="Structured Dynamics"/>
    <category term="#webtools"/>
    <category term="JavaScript"/>
    <category term="Website"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/979/the-cobblers-shoes/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-11-04T22:50:39Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/10/05/a-men-dedicated-to-its-vision-and-that-changed-the-world/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/MZsKJdp5WmU/" rel="alternate" type="text/html"/>
    <title>A Men Dedicated To Its Vision (and that Changed the World)</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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 Men Dedicated To Its Vision (and that Changed the World)&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Other&amp;rft.subject=Quotes&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-10-05&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/10/05/a-men-dedicated-to-its-vision-and-that-changed-the-world/&amp;rft.language=English"/>
This men literally changed the World we live in. He had a vision, he failed, but he came back to change everybody’s daily habits. He pushed others to the limit and changed entire industries. Even if I don’t always agree with its company’s decisions, I will always respect its vision, its work and its dedication. [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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 Men Dedicated To Its Vision (and that Changed the World)&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Other&amp;rft.subject=Quotes&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-10-05&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/10/05/a-men-dedicated-to-its-vision-and-that-changed-the-world/&amp;rft.language=English"/>
<p>This men literally changed the World we live in. He had a vision, he failed, but he came back to change everybody’s daily habits. He pushed others to the limit and changed entire industries. Even if I don’t always agree with its company’s decisions, I will always respect its vision, its work and its dedication. Rest in peace Mr. Job.</p>
<p> </p>
<p>Here are my collection of Steve’s best quotes that I aggregated over time… I hope it helps you understanding who the men was.</p>
<p> </p>
<blockquote><p>"Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma – which is living with the results of other people's thinking. Don't let the noise of others' opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary. " <em>- Steve Jobs</em></p></blockquote>
<blockquote><p><em>"When I was 17, I read a quote that went something like: "If you live each day as if it was your last, someday you'll most certainly be right." It made an impression on me, and since then, for the past 33 years, I have looked in the mirror every morning and asked myself: "If today were the last day of my life, would I want to do what I am about to do today?" And whenever the answer has been "No" for too many days in a row, I know I need to change something."</em> <em><em>- </em>Steve Jobs</em></p></blockquote>
<blockquote><p><em>"Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don't settle." <em>- </em>Steve Jobs</em></p></blockquote>
<blockquote><p><em>"Again, you can't connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something – your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life."</em>  <em><em>- </em>Steve Jobs</em></p></blockquote>
<blockquote><p><em>"To design something really well you have to get it. You have to really grok what it's all about. It takes a passionate commitment to thoroughly understand something – chew it up, not just quickly swallow it. Most people don't take the time to do that. Creativity is just connecting things. When you ask a creative person how they did something, they may feel a little guilty because they didn't really do it, they just saw something. It seemed obvious to them after a while. That's because they were able to connect experiences they've had and synthesize new things. And the reason they were able to do that was that they've had more experiences or have thought more about their experiences than other people have. Unfortunately, that's too rare a commodity. A lot of people in our industry haven't had very diverse experiences. They don't have enough dots to connect, and they en up with very linear solutions, without a broad perspective on the problem. The broader one's understanding of the human experience, the better designs we will have." </em><em>- </em>Steve Jobs</p></blockquote>
<p> </p>
<p> </p>
 <img height="1" src="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1580" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/MZsKJdp5WmU" width="1"/></div>
    </content>
    <updated>2011-10-06T00:37:39Z</updated>
    <category term="Other"/>
    <category term="Quotes"/>
    <category term="#apple"/>
    <category term="#creativity"/>
    <category term="#design"/>
    <category term="#steve job"/>
    <category term="#vision"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/10/05/a-men-dedicated-to-its-vision-and-that-changed-the-world/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-03-30T00:56:29Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/10/05/unnatural-open-source/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/GkObxutr_Jk/" rel="alternate" type="text/html"/>
    <title>Unnatural Open Source</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Unnatural Open Source&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=conStruct&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Programming&amp;rft.subject=Semantic Components&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-10-05&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/10/05/unnatural-open-source/&amp;rft.language=English"/>
I have never been an open source software advocate. In fact, like most people, I always wondered how companies could find a business advantage in developing open source softwares and how they could make money out of it to grow. It is nice to have open source softwares, but it is hard to imagine how [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Unnatural Open Source&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=conStruct&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Programming&amp;rft.subject=Semantic Components&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-10-05&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/10/05/unnatural-open-source/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>I have never been an open source software advocate. In fact, like most people, I always wondered how companies could find a business advantage in developing open source softwares and how they could make money out of it to grow. It is nice to have open source softwares, but it is hard to imagine how you could justify putting thousands of hours in open source software projects if it is not only by passion.</td>
<td><div class="alignnone" style="margin: 10px; overflow: hidden; display: table; line-height: 0; text-align: center; width: 179px;"><img alt="" class=" size-medium wp-image-1538" height="180" src="http://fgiasson.com/blog/wp-content/uploads/2011/09/ESCHER-ROOM-298x300.jpg" title="ESCHER ROOM" width="179"/><br/><img class="shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div></td>
</tr>
</tbody>
</table>
<p><span style="color: #ff0000;"><span style="color: #000000;">In this post I will explain what I think is the main factor that put people, businesses and organizations on guard when come the time to think about open source softwares. In fact, I think it has much more to do with our nature: how we naturally are as human being, and much less to do with any real business related factors.</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;"> In a follow-up blog post, I will explain how <a title="">Structured Dynamics</a> embraced open source software, how we developed the company around the concept, and how we are managing the development of our project such that it benefits all our clients along with the company. But first, let’s try to figure out why much people are suspicious regarding open source softwares.</span><br/>
</span></p>
<h3>The Fear</h3>
<blockquote><p><em>"I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain."</em></p>
<p/><center><em>- Dune, Frank Herbert</em></center><p/></blockquote>
<p>Have you ever heard someone telling you:</p>
<blockquote><p><em>I found an incredible business idea! I am pretty sure that I am the first one to think about that. I will get some good money down the road!</em></p></blockquote>
<p>Then, you naturally asked for more information about this great idea! And then the answer you got was something like:</p>
<blockquote><p><em>Hooo! But I can’t tell you, this is really secret right now, at least until everything is ready to go.</em></p></blockquote>
<p>Does this sound familiar? I does to me. I hear it often. But, why does people react that way? It is simply by fear: fearing that someone “steal” their ideas, start a company based on them, build projects or services that implemented them, and get rich while you are flipping burgers at McDonald’s.</p>
<p>To me, this is the main reason why people, organizations and businesses are suspicious regarding open source software: because of fear; fear of loosing something they don’t even have.</p>
<p>But the question is: is that rational? From my experience, and my understanding of how things works, I can certainly say that it is not. This way of thinking is not rational because it doesn’t take into account a few things:</p>
<ul>
<li>The ability of others to do something with your ideas</li>
<li>The ability of others to have the vision you have for your ideas</li>
<li>The willingness of others to spend all their time and energy to make these ideas working</li>
<li>People tend to do what they want to do, and not what others wants­</li>
</ul>
<p>The same behavior seems to happen with open source projects. When I am explaining to people what we are doing, one of the first reaction is: why your work is open and free? Don’t you fear that someone steal your project and ideas? How can you make money if it is free, people will just run with it for themselves no?</p>
<p>The simple answer to all these question is: no. No we don’t feature that anybody steal our projects and ideas just by cloning them from the source control. We don’t because of the four reasons listed above. We don’t because we trust our vision and our abilities to implement it in our various open source projects. And yes we can sustain the company pretty well with these projects and it is what I will cover in my following blog post.</p>
<h3>Conclusion</h3>
<p>Non-Open Source softwares are just like when someone has a business idea “for the next big thing” and that doesn’t want to share it with anybody else because he think that someone will take that idea and run with it by himself. In fact, it is quite the opposite. I learned with experience that there is only one person (or organization) that can make such a great idea a relative success: the person (or organization) that lives for that idea. An idea is just an idea, and has nothing great in it, until it gets implemented, until the idea lives by itself, propelled by it most dedicated advocate: its creators and their boundless enthusiasm. Any idea would fail without this… and would worth nothing; it would just be an idea.</p>
 <img height="1" src="http://fgiasson.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&amp;post_id=1342" style="display: none;" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/GkObxutr_Jk" width="1"/></div>
    </content>
    <updated>2011-10-05T13:14:53Z</updated>
    <category term="conStruct"/>
    <category term="Open Semantic Framework"/>
    <category term="Programming"/>
    <category term="Semantic Components"/>
    <category term="Structured Dynamics"/>
    <category term="structWSF"/>
    <category term="#business"/>
    <category term="#developer"/>
    <category term="#enterprise"/>
    <category term="#fear"/>
    <category term="#open source"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/10/05/unnatural-open-source/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-01-25T20:18:30Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/10/02/wordpresss-follow-button-for-non-wordpress-com-users/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/6hOUQqdQr8w/" rel="alternate" type="text/html"/>
    <title>WordPress’s Follow Button for Non-WordPress.com Users</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=WordPress&#x2019;s Follow Button for Non-WordPress.com Users&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Blogging&amp;rft.subject=Programming&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-10-02&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/10/02/wordpresss-follow-button-for-non-wordpress-com-users/&amp;rft.language=English"/>
About two weeks ago, the WordPress.com team released a wonderful new tool called the Follow Button to all theirs WordPress.com users. This button is floating in the bottom-right corner of a blogs and let readers subscribing, by email, to the blog’s publications. Each time a new blog post is published, they receive an update in [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=WordPress&#x2019;s Follow Button for Non-WordPress.com Users&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Blogging&amp;rft.subject=Programming&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-10-02&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/10/02/wordpresss-follow-button-for-non-wordpress-com-users/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>About two weeks ago, the <a href="http://wordpress.com" title="Wordpress.com">WordPress.com</a> team released a wonderful new tool called the <a href="http://en.blog.wordpress.com/2011/09/21/more-traffic-for-your-blog-with-the-follow-button/" title="The Follow Button">Follow Button</a> to all theirs WordPress.com users. This button is floating in the bottom-right corner of a blogs and let readers subscribing, by email, to the blog’s publications. Each time a new blog post is published, they receive an update in their inbox.</td>
<td valign="top"><img alt="" class="alignnone size-full wp-image-1513" height="145" src="http://fgiasson.com/blog/wp-content/uploads/2011/10/wordpress-logo-stacked-bg.png" title="wordpress-logo-stacked-bg" width="176"/></td>
</tr>
</tbody>
</table>
<p>The idea is far from new, and may even looks like old-school. However, the implementation they did is simple, really well done and really clever. Also, the wording they used in the tool is perfect (for example, using the word <em>Follow</em> instead of <em>Subscribe</em>).</p>
<p>The only problem is that this wonderful new tool is only available for WordPress.com users! As you may know, this blog is using WordPress, but it is a self-hosted instance. After doing some research, I couldn’t find any plugins or methods to install it on my blog. Also, the email service under this user interface is built into WordPress.com. As last resort, I checked their <a href="http://jetpack.me/" title="Jetpack WordPress Plugin">Jetpack plugin</a>, to see if it got added the Follow Button to it, but apparently they didn’t (it is probably too recent).</p>
<p>So, I was in a dilemma: I wanted this feature for my blog, I didn’t want to migrate everything to WordPress.com, and I didn’t had the time to write a plugin that does exactly this. So what I did is to take a few hours to hack my own Follow Button using what is already existing out there. In fact, I have been quite surprised to see how easy it turned out to be.</p>
<p>It as been as easy as installing the really good <a href="http://wordpress.org/extend/plugins/subscribe2/" title="Subscribe2 WordPress Plugin">Subscribe2 plugin</a> and to create the UI, from the original Follow Button using some HTML, CSS and JQuery code. After some re-wiring, I ended-up with my own self-hosted Follow Button.</p>
<p>This is what I want to share with you here, in this <em>Hors Série</em> blog post. I am pretty sure that many self-hosted WordPress blogger will want it, so I took an additional hour to write and publish this blog post.</p>
<p>I did two additional “improvements” to the concept:</p>
<ol>
<li>I changed the icon to put some color in there. Not only to make it less dull, but also to bring a little bit mo attention to it.</li>
<li>I also added a link to my RSS feed. To me, “Follow” is not just about emails, but it is also about other syndication mediums too. However, I kept the email as the first option to keep the spirit of the tool.</li>
</ol>
<p>Finally, I didn’t want to hack any piece of code in WordPress nor in any other WordPress plugin. The only thing that we will modify is the theme, by adding some code to it. The current implementation could be improved by upgrading Subscriber2 for example, but I didn’t want people to have to do this to enable the Follow Button on their blog.</p>
<h3>Step #1: Install Subscribe2</h3>
<p>First thing first. The first thing you will have to do is to install the WordPress plugin that will enable your users to subscribe, and to manage their subscriptions, to your blog via emails. We are using the really good <a href="http://wordpress.org/extend/plugins/subscribe2/" title="Subscribe2 WordPress Plugin">Subscribe2 WordPress Plugin</a> that gives these features to your WordPress instance.</p>
<p>To install this plugin using WordPress’ automatic plugin installation system, follow these instructions. <a href="http://wordpress.org/extend/plugins/subscribe2/installation/" title="Subscribe2 installation instructions">Read the plugin’s installation instruction if you want to do this the manual way</a>:</p>
<blockquote>
<ol>
<li>Log in to your WordPress blog and visit Plugins-&gt;Add New.</li>
<li>Search for Subscribe2, click “Install Now” and then Activate the Plugin</li>
<li>Click the “Settings” admin menu link, and select “Subscribe2″</li>
<li>Configure the options to taste, including the email template and any categories which should be excluded from notification</li>
<li>Click the “Tools” admin menu link, and select “Subscribers”</li>
<li>Manually subscribe people as you see fit</li>
<li>Create a <a href="http://codex.wordpress.org/Pages">WordPress Page</a> to display the subscription form. When creating the page, you may click the “S2″ button on the QuickBar to automatically insert the subscribe2 token. Or, if you prefer, you may manually insert the subscribe2 shortcode or token: [subscribe2] or the HTML invisible <strong><em>Ensure the token is on a line by itself and that it has a blank line above and below.</em></strong> This token will automatically be replaced by dynamic subscription information and will display all forms and messages as necessary</li>
<li>In the WordPress “Settings” area for Subscribe2 select the page name in the “Appearance” section that of the WordPress page created in step 7</li>
</ol>
</blockquote>
<p>On this blog, I called the page created at step #7: <strong>Follow</strong>. Once you are done installing the plugin, you can test it by visiting your Follow page and by entering your own email (one that is not attached to any user of your account is preferable) and by checking in your inbox if you receive a subscription notification. If you haven’t, you may want to take a look at this <a href="http://wordpress.org/extend/plugins/subscribe2/faq/" title="Subscribe2 FAQ">FAQ </a>to debug any possible issue with your outgoing email service.</p>
<h3>Step #2: Customize your Follow Page</h3>
<p>This next step is optional. Since that the form generated by the Subscribe2 plugin is really minimalist, you may want to customize it a little bit, to change its design and to add some explanation in the page, to help your readers to understand what is going on. Take a look at <a href="http://fgiasson.com/blog/index.php/get-every-new-post-on-this-blog-delivered-to-your-inbox/">my own Follow page</a> to see what I did to customize that page.</p>
<h3>Step #3: Add the Follow Button code in you theme</h3>
<p>The third step is really what will morph the Subscribe2 plugin into the Follow Button. What we are doing here, is just to add the code, in your theme, to display the Follow Button.</p>
<p>The first thing you have to do, is to locate where the footer of the pages is generated in the theme. Open the theme folder of your blog: <code>/../wordpress/wp-content/themes/mytheme/</code>. Then you will have to open a few files to check where the <code>&lt;/body&gt;</code> ending HTML tag is generated. The file where that code is generated really depends on how the theme got designed. You can do a search, within all the PHP files in that folder for the string “<code>&lt;/body&gt;</code>“. This should give you the answer right away. Once you located that place, you are good to continue with the following instructions.</p>
<p><strong>Important note:</strong> It is possible that your Theme doesn’t use jQuery by default. If it is the case, then you have to edit the <code>header.php</code> (or whatever the name of the file where the header of your blog is generated) of your theme, and add the following line in the <code>&lt;head&gt;...&lt;/head&gt;</code> section of the page:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container html4strict railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/></div></td><td><div class="html4strict codecolorer"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span>”https:<span style="color: #66cc66;">//</span>ajax.googleapis.com<span style="color: #66cc66;">/</span>ajax<span style="color: #66cc66;">/</span>libs<span style="color: #66cc66;">/</span>jquery<span style="color: #66cc66;">/</span>1.6.4<span style="color: #66cc66;">/</span>jquery.min.js” <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span>”<span style="color: #000066;">text</span><span style="color: #66cc66;">/</span>javascript”&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>If you don’t have jQuery loaded, a JavaScript error will be returned, and the panel will “freeze” in the webpage. Once you make sure that jQuery was loaded, do proceed with this code:</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container html4strict railscasts" style="overflow: auto; white-space: nowrap; width: 435px; height: 300px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/>2<br/>3<br/>4<br/>5<br/>6<br/>7<br/>8<br/>9<br/>10<br/>11<br/>12<br/>13<br/>14<br/>15<br/>16<br/>17<br/>18<br/>19<br/>20<br/>21<br/>22<br/>23<br/>24<br/>25<br/>26<br/>27<br/>28<br/>29<br/>30<br/>31<br/>32<br/>33<br/>34<br/>35<br/>36<br/>37<br/>38<br/>39<br/>40<br/>41<br/>42<br/>43<br/>44<br/>45<br/>46<br/>47<br/>48<br/>49<br/>50<br/>51<br/>52<br/>53<br/>54<br/>55<br/>56<br/>57<br/>58<br/>59<br/>60<br/>61<br/>62<br/>63<br/>64<br/>65<br/>66<br/>67<br/>68<br/>69<br/>70<br/>71<br/>72<br/>73<br/>74<br/>75<br/>76<br/>77<br/>78<br/>79<br/>80<br/>81<br/>82<br/>83<br/>84<br/>85<br/>86<br/>87<br/>88<br/>89<br/>90<br/>91<br/>92<br/>93<br/>94<br/>95<br/>96<br/>97<br/>98<br/>99<br/>100<br/>101<br/>102<br/>103<br/>104<br/>105<br/>106<br/>107<br/>108<br/>109<br/>110<br/>111<br/>112<br/>113<br/>114<br/>115<br/>116<br/>117<br/>118<br/>119<br/>120<br/>121<br/>122<br/>123<br/>124<br/>125<br/>126<br/>127<br/>128<br/>129<br/>130<br/>131<br/>132<br/>133<br/>134<br/>135<br/>136<br/>137<br/>138<br/>139<br/>140<br/>141<br/>142<br/>143<br/>144<br/>145<br/>146<br/>147<br/>148<br/>149<br/>150<br/>151<br/>152<br/>153<br/>154<br/>155<br/>156<br/>157<br/>158<br/>159<br/>160<br/>161<br/>162<br/>163<br/>164<br/>165<br/>166<br/>167<br/>168<br/>169<br/>170<br/>171<br/>172<br/>173<br/>174<br/>175<br/>176<br/>177<br/>178<br/>179<br/>180<br/>181<br/>182<br/>183<br/>184<br/>185<br/>186<br/>187<br/>188<br/>189<br/>190<br/>191<br/>192<br/>193<br/>194<br/>195<br/>196<br/>197<br/>198<br/>199<br/>200<br/>201<br/>202<br/>203<br/>204<br/>205<br/>206<br/>207<br/>208<br/>209<br/>210<br/>211<br/>212<br/>213<br/>214<br/>215<br/>216<br/>217<br/>218<br/>219<br/>220<br/>221<br/>222<br/>223<br/>224<br/>225<br/>226<br/>227<br/>228<br/>229<br/>230<br/>231<br/>232<br/>233<br/>234<br/></div></td><td><div class="html4strict codecolorer"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">style</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"text/css"</span> <span style="color: #000066;">media</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"screen"</span>&gt;</span><br/>
  #bit, #bit * {}<br/>
  #bit {<br/>
      bottom: -300px;<br/>
      font: 13px "Helvetica Neue",sans-serif;<br/>
      position: fixed;<br/>
      right: 10px;<br/>
      z-index: 999999;<br/>
      width: 230px;<br/>
  }<br/>
  <br/>
  .loggedout-follow-typekit {<br/>
      margin-right: 4.5em;<br/>
  }<br/>
  <br/>
  #bit a.bsub {<br/>
      background-color: #464646;<br/>
      background-image: -moz-linear-gradient(center bottom , #3F3F3F, #464646 5px);<br/>
      border: 0 none;<br/>
      box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.2);<br/>
      color: #CCCCCC;<br/>
      display: block;<br/>
      float: right;<br/>
      font: 13px/28px "Helvetica Neue",sans-serif;<br/>
      letter-spacing: normal;<br/>
      outline-style: none;<br/>
      outline-width: 0;<br/>
      overflow: hidden;<br/>
      padding: 0 10px 0 8px;<br/>
      text-decoration: none !important;<br/>
      text-shadow: 0 -1px 0 #444444;<br/>
  }<br/>
  <br/>
  #bit a.bsub {<br/>
      border-radius: 2px 2px 0 0;<br/>
  }<br/>
  <br/>
  #bit a.bsub span {<br/>
      background-attachment: scroll;<br/>
      background-clip: border-box;<br/>
      background-color: transparent;<br/>
      background-image: url("[[PATH-TO-THE-FAMFAM-ICON]]asterisk_orange.png");<br/>
      background-origin: padding-box;<br/>
      background-position: 2px 3px;<br/>
      background-repeat: no-repeat;<br/>
      background-size: 20% auto;<br/>
      padding-left: 18px;<br/>
  }<br/>
  <br/>
  #bit a:hover span, #bit a.bsub.open span {<br/>
      /*background-position: 0 -117px;*/<br/>
      color: #FFFFFF !important;<br/>
  }<br/>
  <br/>
  #bit a.bsub.open {<br/>
      background: none repeat scroll 0 0 #333333;<br/>
  }<br/>
  <br/>
  #bitsubscribe {<br/>
      background: none repeat scroll 0 0 #464646;<br/>
      border-radius: 2px 0 0 0;<br/>
      color: #FFFFFF;<br/>
      margin-top: 27px;<br/>
      padding: 15px;<br/>
      width: 200px;<br/>
      float: right;<br/>
      margin-top: 0;<br/>
  }<br/>
  <br/>
  div#bitsubscribe.open {<br/>
      box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);<br/>
  }<br/>
  <br/>
  #bitsubscribe div {<br/>
      overflow: hidden;<br/>
  }<br/>
  <br/>
  #bit h3, #bit #bitsubscribe h3 {<br/>
      color: #FFFFFF;<br/>
      font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;<br/>
      font-size: 20px;<br/>
      font-weight: 300;<br/>
      margin: 0 0 0.5em !important;<br/>
      text-align: left;<br/>
      text-shadow: 0 1px 0 #333333;<br/>
  }<br/>
  <br/>
  #bit #bitsubscribe p {<br/>
      color: #FFFFFF;<br/>
      font: 300 15px/1.3em "Helvetica Neue",Helvetica,Arial,sans-serif;<br/>
      margin: 0 0 1em;<br/>
      text-shadow: 0 1px 0 #333333;<br/>
  }<br/>
  <br/>
  #bitsubscribe p a {<br/>
      margin: 20px 0 0;<br/>
  }<br/>
  <br/>
  #bit #bitsubscribe p.bit-follow-count {<br/>
      font-size: 13px;<br/>
  }<br/>
  <br/>
  #bitsubscribe input[type="submit"] {<br/>
      -moz-transition: all 0.25s ease-in-out 0s;<br/>
      background: -moz-linear-gradient(center top , #333333 0%, #111111 100%) repeat scroll 0 0 transparent;<br/>
      border: 1px solid #282828;<br/>
      border-radius: 11px 11px 11px 11px;<br/>
      box-shadow: 0 1px 0 #444444 inset;<br/>
      color: #CCCCCC;<br/>
      padding: 2px 20px;<br/>
      text-decoration: none;<br/>
      text-shadow: 0 1px 0 #000000;<br/>
  }<br/>
  <br/>
  #bitsubscribe input[type="submit"]:hover {<br/>
      background: -moz-linear-gradient(center top , #333333 0%, #222222 100%) repeat scroll 0 0 transparent;<br/>
      box-shadow: 0 1px 0 #4F4F4F inset;<br/>
      color: #FFFFFF;<br/>
      text-decoration: none;<br/>
  }<br/>
  <br/>
  #bitsubscribe input[type="submit"]:active {<br/>
      background: -moz-linear-gradient(center top , #111111 0%, #222222 100%) repeat scroll 0 0 transparent;<br/>
      box-shadow: 0 -1px 0 #333333 inset;<br/>
      color: #AAAAAA;<br/>
      text-decoration: none;<br/>
  }<br/>
  <br/>
  #bitsubscribe input[type="text"] {<br/>
      border-radius: 3px 3px 3px 3px;<br/>
      font: 300 15px "Helvetica Neue",Helvetica,Arial,sans-serif;<br/>
  }<br/>
  <br/>
  #bitsubscribe input[type="text"]:focus {<br/>
      border: 1px solid #000000;<br/>
  }<br/>
  <br/>
  #bitsubscribe.open {<br/>
      display: block;<br/>
  }<br/>
  <br/>
  #bsub-subscribe-button {<br/>
      margin: 0 auto;<br/>
      text-align: center;<br/>
  }<br/>
  <br/>
  #bitsubscribe #bsub-credit {<br/>
      border-top: 1px solid #3C3C3C;<br/>
      font: 11px "Helvetica Neue",sans-serif;<br/>
      margin: 0 0 -15px;<br/>
      padding: 7px 0;<br/>
      text-align: center;<br/>
  }<br/>
  <br/>
  #bitsubscribe #bsub-credit a {<br/>
      background: none repeat scroll 0 0 transparent;<br/>
      color: #AAAAAA;<br/>
      text-decoration: none;<br/>
      text-shadow: 0 1px 0 #262626;<br/>
  }<br/>
  <br/>
  #bitsubscribe #bsub-credit a:hover {<br/>
      background: none repeat scroll 0 0 transparent;<br/>
      color: #FFFFFF;<br/>
  }<br/>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">style</span>&gt;</span>    <br/>
<br/>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"text/javascript"</span> <span style="color: #000066;">charset</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"utf-8"</span>&gt;</span><br/>
  jQuery.extend(jQuery.easing, {<br/>
      easeOutCubic: function (x, t, b, c, d) {<br/>
          return c * ((t = t / d - 1) * t * t + 1) + b;<br/>
      }<br/>
  });<br/>
  jQuery(document).ready(function () {<br/>
      var isopen = false,<br/>
          bitHeight = jQuery('#bitsubscribe').height();<br/>
      setTimeout(function () {<br/>
          jQuery('#bit').animate({<br/>
              bottom: '-' + bitHeight - 30 + 'px'<br/>
          }, 200);<br/>
      }, 300);<br/>
      jQuery('#bit a.bsub').click(function () {<br/>
          if (!isopen) {<br/>
              isopen = true;<br/>
              jQuery('#bit a.bsub').addClass('open');<br/>
              jQuery('#bit #bitsubscribe').addClass('open')<br/>
              jQuery('#bit').stop();<br/>
              jQuery('#bit').animate({<br/>
                  bottom: '0px'<br/>
              }, {<br/>
                  duration: 400,<br/>
                  easing: "easeOutCubic"<br/>
              });<br/>
          } else {<br/>
              isopen = false;<br/>
              jQuery('#bit').stop();<br/>
              jQuery('#bit').animate({<br/>
                  bottom: '-' + bitHeight - 30 + 'px'<br/>
              }, 200, function () {<br/>
                  jQuery('#bit a.bsub').removeClass('open');<br/>
                  jQuery('#bit #bitsubscribe').removeClass('open');<br/>
              });<br/>
          }<br/>
      });<br/>
  });<br/>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span><br/>
<br/>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"bit"</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">""</span>&gt;</span><br/>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"bsub"</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"javascript:void(0)"</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">'bsub-text'</span>&gt;</span>Follow<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span><br/>
  <br/>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"bitsubscribe"</span>&gt;</span><br/>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h3</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">label</span> <span style="color: #000066;">for</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"loggedout-follow-field"</span>&gt;</span>Follow this Blog<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h3</span>&gt;</span><br/>
  <br/>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">form</span> <span style="color: #000066;">action</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"[[PATH-TO-YOUR-FOLLOW-WORDPRESS-PAGE]]"</span> <span style="color: #000066;">method</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"post"</span> <span style="color: #000066;">accept-charset</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"utf-8"</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"loggedout-follow"</span>&gt;</span><br/>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Get every new post on this blog delivered to your Inbox.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span><br/>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"bit-follow-count"</span>&gt;</span>Join <span style="color: #009900;">&lt;?php echo $wpdb-&gt;</span>get_var("SELECT COUNT(id) FROM wp_subscribe2 WHERE active='1'"); ?&gt; other followers:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span><br/>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span><br/>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"text"</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"email"</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"s2email"</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"width: 95%; padding: 1px 2px"</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"Enter email address"</span> <span style="color: #000066;">onfocus</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">'this.value=(this.value=="Enter email address") ? "" : this.value;'</span> <span style="color: #000066;">onblur</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">'this.value=(this.value=="") ? "Enter email address" : this.value;'</span>  <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"loggedout-follow-field"</span><span style="color: #66cc66;">/</span>&gt;</span><br/>
      <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span><br/>
       <br/>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"hidden"</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"ip"</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"&lt;?php echo $_SERVER['REMOTE_ADDR']; ?&gt;</span></span>"&gt;<br/>
      <br/>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">'bsub-subscribe-button'</span>&gt;</span><br/>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"submit"</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"subscribe"</span>  <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"Sign me up!"</span> <span style="color: #66cc66;">/</span>&gt;</span><br/>
      <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span><br/>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span><br/>
    <br/>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">"padding-top: 10px;"</span>&gt;</span>Or subscribe to the RSS feed by clicking on the counter:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>  <br/>
    <br/>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span><br/>
      [[ADD-YOUR-RSS-FEED-LINK-HERE]]<br/>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span><br/>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span><br/>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>The only thing you have to do is to copy/paste that code <strong>above</strong> the <code>&lt;/body&gt;</code> tag. Then, do the following three modifications to properly wire it in your blog:</p>
<ul>
<li>At line #41, replace <code>[[PATH-TO-THE-FAMFAM-ICON]]</code>with the path of the <code>asterisk_orange.png</code> icon, on your blog</li>
<li>At line #211, replace <code>[[PATH-TO-YOUR-FOLLOW-WORDPRESS-PAGE]]</code> by the URL of your <em>Follow</em> page (the one you created when you installed Subscribe2)</li>
<li>At line #228, replace <code>[[ADD-YOUR-RSS-FEED-LINK-HERE]]</code> by the link to your RSS feed</li>
</ul>
<p>You can get the free <code>asterisk_orange.png </code>icon image from the <a href="http://www.famfamfam.com/lab/icons/silk/">FamFamFam website</a>. The only thing you have to do, is to download that image, and to put it in the folder you defined for <code>[[PATH-TO-THE-FAMFAM-ICON]]</code>. However, you can use whatever image that you prefer, that may better fit the design of your blog.</p>
<h3>Step #4: Disable it For Mobile Devices</h3>
<p>Some mobile devices may have issues displaying this floating window. Sometimes, the window may be floating in the middle of the device’s screen without folding-back in the bottom of the page. For this reason, you may want to disable (remove) this option if the user is using a mobile device to read your blog. You can easily disable it if the web server detects that a mobile devise is requesting the webpage by adding these two blocks of code.</p>
<p>First, copy and paste this first block of code <strong>above</strong> the code of the Follow button (before line #1):</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container php railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/>2<br/>3<br/>4<br/>5<br/></div></td><td><div class="php codecolorer"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br/>
 <span style="color: #000088;">$useragent</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">[</span><span style="color: #0000ff;">'HTTP_USER_AGENT'</span><span style="color: #009900;">]</span><span style="color: #339933;">;</span><br/>
 <span style="color: #b1b100;">if</span><span style="color: #009900;">(</span><span style="color: #339933;">!</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">(</span><span style="color: #0000ff;">'/android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i'</span><span style="color: #339933;">,</span><span style="color: #000088;">$useragent</span><span style="color: #009900;">)</span><span style="color: #339933;">||</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">(</span><span style="color: #0000ff;">'/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i'</span><span style="color: #339933;">,</span><span style="color: #990000;">substr</span><span style="color: #009900;">(</span><span style="color: #000088;">$useragent</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">)</span><span style="color: #009900;">)</span><span style="color: #009900;">)</span><br/>
 <span style="color: #009900;">{</span><br/>
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>Then copy and paste this second block of code <strong>below</strong> the code of the follow button (after line #231):</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container php railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/>2<br/>3<br/></div></td><td><div class="php codecolorer"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br/>
  <span style="color: #009900;">}</span><br/>
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>This code come from the <a href="http://detectmobilebrowser.com/">Detect Mobile Browser project</a> and is the best mobile device detection code I saw so far. What this code does, is not to include the Follow Button if the device that is requesting the webpage is a mobile device. Otherwise, the Follow Button is added to the HTML page.</p>
<h3>Step #5: Test it!</h3>
<p>If you are reading this step #5, it means that you finished to create your own, self-hosted, Follow Button!</p>
<p>Congratulation!</p>
<p>But the last thing that remains to be done, is to test it. Once you saved your file with the code above, just refresh any page of your blog. You should see appearing the Follow button on the bottom-right corner of your blog. If you click on it, you should see the form that let your readers subscribing to the system. If you add one of your emails, and click the subscribe button, you should get redirected to the Follow page. Finally you should receive a confirmation email that ask you to confirm your subscription by clicking on a link.</p>
<p>If all these steps properly works, it means that you are done and ready to provide that new functionality to the readers of your blog!</p>
<h3>Conclusion</h3>
<p>Even if this blog post is few pages long, I hope you found it easy to install and setup. If you have any question regarding this hack, don’t hesitate to ask them down there, in the comments section of this post. I will be happy to answer all of them.</p>
<p>Happy Hacking!</p>
<p> </p>
<h4>Translations</h4>
<p>This blog post as been translated in Federico Bozo <a title="El ">in Spanish</a>. Other translations will be added to this section.</p>
<img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/6hOUQqdQr8w" width="1"/></div>
    </content>
    <updated>2011-10-02T22:19:38Z</updated>
    <category term="Blogging"/>
    <category term="Programming"/>
    <category term="#blog"/>
    <category term="#blogging"/>
    <category term="#email"/>
    <category term="#share"/>
    <category term="#wordpress"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/10/02/wordpresss-follow-button-for-non-wordpress-com-users/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2012-01-04T13:11:44Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://hyperdata.org/blog/2011/09/</id>
    <link href="http://hyperdata.org/blog/2011/09/" rel="alternate" type="text/html"/>
    <title>links for 2011-09-30</title>
    <summary>BaseX | The XML Database (tags: xml db xpath xquery) MIME and the Web (tags: mime web rfc) Oscar Godson, JavaScriptologist – Writings about JavaScript and the related (tags: javascript tutorial blog json) Son of RFC 3023 : XML Media Types (tags: rfc 3023 xml media types fragment mime) Understanding the Striped RDF/XML Syntax (tags: [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><ul class="delicious">
<li>
<div class="delicious-link"><a href="http://basex.org/">BaseX | The XML Database</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/xml">xml</a> <a href="http://www.delicious.com/danja/db">db</a> <a href="http://www.delicious.com/danja/xpath">xpath</a> <a href="http://www.delicious.com/danja/xquery">xquery</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://tools.ietf.org/id/draft-masinter-mime-web-info-02.html#anchor16">MIME and the Web</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/mime">mime</a> <a href="http://www.delicious.com/danja/web">web</a> <a href="http://www.delicious.com/danja/rfc">rfc</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://oscargodson.posterous.com/">Oscar Godson, JavaScriptologist – Writings about JavaScript and the related</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/javascript">javascript</a> <a href="http://www.delicious.com/danja/tutorial">tutorial</a> <a href="http://www.delicious.com/danja/blog">blog</a> <a href="http://www.delicious.com/danja/json">json</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.w3.org/2006/02/son-of-3023/draft-murata-kohn-lilley-xml-04.html">Son of RFC 3023 : XML Media Types</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/rfc">rfc</a> <a href="http://www.delicious.com/danja/3023">3023</a> <a href="http://www.delicious.com/danja/xml">xml</a> <a href="http://www.delicious.com/danja/media">media</a> <a href="http://www.delicious.com/danja/types">types</a> <a href="http://www.delicious.com/danja/fragment">fragment</a> <a href="http://www.delicious.com/danja/mime">mime</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.w3.org/2001/10/stripes/">Understanding the Striped RDF/XML Syntax</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/danbri">danbri</a> <a href="http://www.delicious.com/danja/rdfxml">rdfxml</a> <a href="http://www.delicious.com/danja/rdf">rdf</a> <a href="http://www.delicious.com/danja/xml">xml</a> <a href="http://www.delicious.com/danja/striped">striped</a> <a href="http://www.delicious.com/danja/striping">striping</a> <a href="http://www.delicious.com/danja/syntax">syntax</a> <a href="http://www.delicious.com/danja/format">format</a> <a href="http://www.delicious.com/danja/history">history</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://many.corante.com/archives/2004/11/06/the_tragedy_of_the_comments.php">The Tragedy of the Comments. Many-to-Many:</a></div>
<div class="delicious-extended">standing behind your words</div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/blogging">blogging</a> <a href="http://www.delicious.com/danja/comments">comments</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://jeffsayre.com/2011/03/05/its-time-for-blogging-to-evolve/">It’s Time for Blogging to Evolve</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/blogging">blogging</a> <a href="http://www.delicious.com/danja/comments">comments</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.microsoft.com/typography/ctfonts/wordrecognition.aspx">The Science of Word Recognition</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/word">word</a> <a href="http://www.delicious.com/danja/recognition">recognition</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://werner.yellowcouch.org/Papers/bpm10/">Biasremoval from BPM Counters and an argument for the use of Measures per Minute instead of Beats per Minute</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/bpm">bpm</a> <a href="http://www.delicious.com/danja/calculation">calculation</a> <a href="http://www.delicious.com/danja/maths">maths</a> <a href="http://www.delicious.com/danja/autocorrelation">autocorrelation</a> <a href="http://www.delicious.com/danja/tempo">tempo</a> <a href="http://www.delicious.com/danja/music">music</a> <a href="http://www.delicious.com/danja/analysis">analysis</a> <a href="http://www.delicious.com/danja/sound">sound</a> <a href="http://www.delicious.com/danja/acoustics">acoustics</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://departmentofimprobability.blogspot.com/">Using Different OS'es for Music</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/music">music</a> <a href="http://www.delicious.com/danja/os">os</a> <a href="http://www.delicious.com/danja/audio">audio</a> <a href="http://www.delicious.com/danja/windows">windows</a> <a href="http://www.delicious.com/danja/linux">linux</a> <a href="http://www.delicious.com/danja/osx">osx</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://blogs.hbr.org/haque/2011/09/was_marx_right.html">Was Marx Right? – Umair Haque – Harvard Business Review</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/marx">marx</a> <a href="http://www.delicious.com/danja/economy">economy</a> <a href="http://www.delicious.com/danja/blog">blog</a> <a href="http://www.delicious.com/danja/capitalism">capitalism</a> <a href="http://www.delicious.com/danja/business">business</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://richard.cyganiak.de/2007/10/lod/">The Linking Open Data cloud diagram</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/lod">lod</a> <a href="http://www.delicious.com/danja/cloud">cloud</a> <a href="http://www.delicious.com/danja/linkeddata">linkeddata</a> <a href="http://www.delicious.com/danja/rdf">rdf</a> <a href="http://www.delicious.com/danja/semweb">semweb</a> <a href="http://www.delicious.com/danja/data">data</a> <a href="http://www.delicious.com/danja/dbpedia">dbpedia</a> <a href="http://www.delicious.com/danja/diagram">diagram</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://lists.w3.org/Archives/Public/www-tag/2003Feb/0093.html">Proposed issue: site metadata hook from Tim Berners-Lee on 2003-02-10 (www-tag@w3.org from February 2003)</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/timbl">timbl</a> <a href="http://www.delicious.com/danja/quote">quote</a> <a href="http://www.delicious.com/danja/robots.txt">robots.txt</a> <a href="http://www.delicious.com/danja/breaks">breaks</a> <a href="http://www.delicious.com/danja/web">web</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.ohdeo.com/">Free Audio Samples, VSTi's and Drum Samples – Ohdeo</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/samples">samples</a> <a href="http://www.delicious.com/danja/vst">vst</a> <a href="http://www.delicious.com/danja/plugins">plugins</a> <a href="http://www.delicious.com/danja/drum">drum</a> <a href="http://www.delicious.com/danja/loops">loops</a> <a href="http://www.delicious.com/danja/free">free</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://jonudell.net/udell/2002-09-19-googles-sergey-brin.html">Jon Udell / 2002/09/19 / Google's Sergey Brin</a></div>
<div class="delicious-extended">putting angle brackets around things is not a technology, by itself</div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/brin">brin</a> <a href="http://www.delicious.com/danja/quote">quote</a> <a href="http://www.delicious.com/danja/angle">angle</a> <a href="http://www.delicious.com/danja/brackets">brackets</a> <a href="http://www.delicious.com/danja/google">google</a> <a href="http://www.delicious.com/danja/semweb">semweb</a> <a href="http://www.delicious.com/danja/rdf">rdf</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.mcld.co.uk/blog/blog.php?254">MCLD blog: Reverse-engineering the rave hoover</a></div>
<div class="delicious-extended">SuperCollider</div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/music">music</a> <a href="http://www.delicious.com/danja/analysis">analysis</a> <a href="http://www.delicious.com/danja/hoover">hoover</a> <a href="http://www.delicious.com/danja/synth">synth</a> <a href="http://www.delicious.com/danja/SuperCollider">SuperCollider</a> <a href="http://www.delicious.com/danja/rave">rave</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://supercollider.sourceforge.net/">SuperCollider –  realtime sound synthesis server</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/synth">synth</a> <a href="http://www.delicious.com/danja/code">code</a> <a href="http://www.delicious.com/danja/sound">sound</a> <a href="http://www.delicious.com/danja/music">music</a> <a href="http://www.delicious.com/danja/audio">audio</a> <a href="http://www.delicious.com/danja/server">server</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="https://github.com/acspike/GameClient">acspike/GameClient – GitHub</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/midi">midi</a> <a href="http://www.delicious.com/danja/xmpp">xmpp</a> <a href="http://www.delicious.com/danja/python">python</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.dubstepforum.com/tutorial-hoovers-reeses-explained-t159653.html">Hoover vs. Reese</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/dubstep">dubstep</a> <a href="http://www.delicious.com/danja/bass">bass</a> <a href="http://www.delicious.com/danja/synth">synth</a> <a href="http://www.delicious.com/danja/hoover">hoover</a> <a href="http://www.delicious.com/danja/reese">reese</a> <a href="http://www.delicious.com/danja/reece">reece</a> <a href="http://www.delicious.com/danja/dnb">dnb</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb">Understanding node.js » Debuggable Ltd</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/node.js">node.js</a> <a href="http://www.delicious.com/danja/intro">intro</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.nodebeginner.org/">The Node Beginner Book » A comprehensive Node.js tutorial</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/node.js">node.js</a> <a href="http://www.delicious.com/danja/primer">primer</a> <a href="http://www.delicious.com/danja/intro">intro</a> <a href="http://www.delicious.com/danja/tutorial">tutorial</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://en.wikipedia.org/wiki/File_descriptor">File descriptor – Wikipedia, the free encyclopedia</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/unix">unix</a> <a href="http://www.delicious.com/danja/linux">linux</a> <a href="http://www.delicious.com/danja/file">file</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://infomesh.net/2003/rdfpath">Pondering RDF Path</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/sbp">sbp</a> <a href="http://www.delicious.com/danja/rdfpath">rdfpath</a> <a href="http://www.delicious.com/danja/rdf">rdf</a> <a href="http://www.delicious.com/danja/paths">paths</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.pharo-project.org/home">Pharo Open Source Smalltalk</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/smalltalk">smalltalk</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://code.google.com/p/duke/">duke – Fast deduplication engine – Google Project Hosting</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/duplication">duplication</a> <a href="http://www.delicious.com/danja/dupes">dupes</a> <a href="http://www.delicious.com/danja/data">data</a> <a href="http://www.delicious.com/danja/cleaner">cleaner</a> <a href="http://www.delicious.com/danja/matching">matching</a> <a href="http://www.delicious.com/danja/entity">entity</a> <a href="http://www.delicious.com/danja/resolution">resolution</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.w3.org/wiki/TriplesInJSON">TriplesInJSON – W3C Wiki</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/sparql">sparql</a> <a href="http://www.delicious.com/danja/json">json</a> <a href="http://www.delicious.com/danja/triples">triples</a> <a href="http://www.delicious.com/danja/ntriples">ntriples</a> <a href="http://www.delicious.com/danja/rdf">rdf</a> <a href="http://www.delicious.com/danja/semweb">semweb</a> <a href="http://www.delicious.com/danja/wiki">wiki</a> <a href="http://www.delicious.com/danja/danja">danja</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="https://github.com/kasabi/kasabi-xsl">kasabi/kasabi-xsl – GitHub</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/sparql">sparql</a> <a href="http://www.delicious.com/danja/xslt">xslt</a> <a href="http://www.delicious.com/danja/ldodds">ldodds</a> <a href="http://www.delicious.com/danja/talis">talis</a> <a href="http://www.delicious.com/danja/kasabi">kasabi</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://www.youtube.com/watch?v=i_0DXxNeaQ0">What is up with Noises? (The Science and Mathematics of Sound, Frequency, and Pitch) – YouTube</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/sound">sound</a> <a href="http://www.delicious.com/danja/noise">noise</a> <a href="http://www.delicious.com/danja/music">music</a> <a href="http://www.delicious.com/danja/science">science</a> <a href="http://www.delicious.com/danja/audio">audio</a> <a href="http://www.delicious.com/danja/video">video</a> <a href="http://www.delicious.com/danja/maths">maths</a> <a href="http://www.delicious.com/danja/youtube">youtube</a>)</div>
</li>
</ul></div>
    </content>
    <updated>2011-09-30T23:15:17Z</updated>
    <author>
      <name>danja</name>
    </author>
    <source>
      <id>http://hyperdata.org/blog</id>
      <link href="http://hyperdata.org/blog" rel="alternate" type="text/html"/>
      <link href="http://hyperdata.org/blog/feed/rdf/" rel="self" type="application/rdf+xml"/>
      <subtitle>Danny's linkiness</subtitle>
      <title>Hyperdata Blog</title>
      <updated>2011-10-01T08:02:21Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/09/27/one-of-semantic-webs-added-value/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/YkwVrQpv_UI/" rel="alternate" type="text/html"/>
    <title>One of Semantic Web’s Core Added Value</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=One of Semantic Web&#x2019;s Core Added Value&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-09-27&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/09/27/one-of-semantic-webs-added-value/&amp;rft.language=English"/>
If I ask the question: "What added value(s) does the Semantic Web brings on the table?". So, what are the benefits that companies and organizations would get from using the Semantic Web? I am pretty sure that after asking this question, I would get answers such as: You will instantly be able to traverse graphs [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=One of Semantic Web&#x2019;s Core Added Value&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-09-27&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/09/27/one-of-semantic-webs-added-value/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>If I ask the question: "What added value(s) does the Semantic Web brings on the table?". So, what are the benefits that companies and organizations would get from using the Semantic Web? I am pretty sure that after asking this question, I would get answers such as:</td>
<td valign="top"><a href="http://www.theinspirationblog.net/showcases/25-clever-bizarre-animal-photo-manipulations-part-2/"><img alt="" class="alignnone size-medium wp-image-1441" height="137" src="http://fgiasson.com/blog/wp-content/uploads/2011/09/added-value-300x228.jpg" title="Beautiful image from The Inspiration Blog - This is what I call an Added Value!" width="180"/></a></td>
</tr>
</tbody>
</table>
<ul>
<li>You will instantly be able to traverse graphs of relationships</li>
<li>You will be able to infer facts (so create/persist new knowledge) from other existing facts</li>
<li>You will be able to check to make sure that your knowledge base is consistent and satisfiable</li>
<li>You will be able to modify your ontologies/vocabularies/schemas without impacting the description of your instance records or the usability of any software that use it (unlike relation databases)</li>
<li>And so on…</li>
</ul>
<p>All these answers would be accurate. However, what if these answers would only be a part of the real added value that the Semantic Web brings on the table?</p>
<p><em>Note: when I refer to the “Semantic Web” on this blog post (and across all my writings), I refer to a set of technologies, techniques and concepts referred as the Semantic Web. So it is not a single thing, but a complete set of things that creates new ways of working with, and manipulating, information.</em></p>
<p>Strong of about 7 years of research and development of Semantic Web technologies that includes about 3 years of developing the <a href="http://openstructs.org/open-semantic-framework">Open Semantic Framework</a>, that the biggest added value that I found from utilizing Semantic Web technologies is only partially related to these answers. In fact the biggest added value for me, as a developer can be resumed in one word:</p>
<p align="center"><strong>PRODUCTIVITY</strong></p>
<p>As simple as this. The biggest added value I gained from using and applying Semantic Web related technologies, techniques and concepts is an important increase in development, and data integration productivity.</p>
<p>Such productivity gain as to do with one of Semantic Web’s core attribute:</p>
<p style="text-align: center;"><strong>FLEXIBILITY</strong></p>
<p style="text-align: left;">This is what I was suggesting in my latest blog post about <a href="http://fgiasson.com/blog/index.php/2011/09/21/volkswagens-use-of-structwsf-in-their-semantic-web-platform/">Volkswagen’s use of the Open Semantic Framework</a>: how Volkswagen uses the <a href="http://openstructs.org/open-semantic-framework" title="Open Semantic Framework">Open Semantic Framework</a> to get flexibility that will lead to a gain in productivity to integrate, publish, and re-contextualize their data assets. The few gains that I listed above are part of the reason why the Semantic Web gives you flexibility that leads to an increase in productivity.</p>
<p style="text-align: left;">This same point as been re-affirmed today by Lee Feigenbaum in its latest blog post <a href="http://www.thefigtrees.net/lee/blog/2011/09/saving_months_not_milliseconds.html" title="Saving Months, Not Milliseconds: Do More Faster with the Semantic Web">Saving Months, Not Milliseconds: Do More Faster with the Semantic Web</a>:</p>
<blockquote>
<p style="text-align: left;"><em>Why is this? Ultimately, it’s because of the inherent flexibility of the Semantic Web data model (RDF). This flexibility has been described in many different ways. RDF relies on an adaptive, resilient schema (from Mike Bergman); it enables cooperation without coordination (from David Wood via Kendall Clark); it can be incrementally evolved; changes to one part of a system don’t require re-designs to the rest of the system. These are all dimensions of the same core flexibility of Semantic Web technologies, and it is this flexibility that lets you do things fast with the Semantic Web.</em></p>
</blockquote>
<h3>Warning: Productivity is not synonymous with simplicity</h3>
<p>However, I would warn people that think that productivity gains are possible because semantic web technologies are simpler to use, manage and implement than other existing technologies.</p>
<p>It is certainly not the case, and I don't think it will ever be. Semantic Web technologies, techniques and concepts are not easy to understand, and have a big learning curve. This is partly true because these techniques, technologies and concepts are relatively new in the field of the computer sciences, and because they are not fully understood, defined, implemented and used.</p>
<img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/YkwVrQpv_UI" width="1"/></div>
    </content>
    <updated>2011-09-27T17:34:12Z</updated>
    <category term="Open Semantic Framework"/>
    <category term="Semantic Web"/>
    <category term="#data"/>
    <category term="#developer"/>
    <category term="#integration"/>
    <category term="#linked data"/>
    <category term="#semantic web"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/09/27/one-of-semantic-webs-added-value/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2011-12-28T16:12:14Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=977</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/Ypm_BOUGBNQ/" rel="alternate" type="text/html"/>
    <title>Thirty OWL API Tools</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Thirty OWL API Tools&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Ontologies&amp;rft.subject=Semantic Web Tools&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-09-26&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/977/thirty-owl-api-tools/&amp;rft.language=English"/>
Documenting the Emerging Ecosystem Around OWL 2 We have been touting the importance of OWL 2 as the language of choice for federating and reasoning over RDF and ontologies. An absolutely essential enabler of the OWL 2 language is version 3 of the OWL API (actually, version 3.2.4 at the time of this writing), a [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Thirty OWL API Tools&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Ontologies&amp;rft.subject=Semantic Web Tools&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-09-26&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/977/thirty-owl-api-tools/&amp;rft.language=English"/>
<h2><a href="http://www.w3.org/TR/2009/REC-owl2-overview-20091027/"><img align="left" alt="OWL - Web Ontology Language" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/owl.jpg" title="OWL - Web Ontology Language"/></a>Documenting the Emerging Ecosystem Around OWL 2</h2>
<p>We have been touting the importance of OWL 2 as the language of choice for federating and reasoning over RDF and ontologies. An absolutely essential enabler of the <a href="http://www.w3.org/TR/2009/REC-owl2-overview-20091027/">OWL 2 language</a> is version 3 of the <a href="http://owlapi.sourceforge.net/2.x.x/index.html">OWL API</a> (actually, <a href="http://sourceforge.net/projects/owlapi/files/OWL%20API%20%28for%20OWL%202.0%29/3.2.4/owlapi-3.2.4.zip/download"> version 3.2.4</a> at the time of this writing), a Java-based framework for accessing and managing the language. <a href="http://protege.stanford.edu/">Protégé 4</a>, the most popular open source ontology editor and integrated development environment (<a href="http://en.wikipedia.org/wiki/Integrated_development_environment">IDE</a>), for example, is built around the OWL API.</p>
<p>As we laid out a bit <a href="http://feeds.feedburner.com/../909/a-new-landscape-in-ontology-development-tools/"> more than a year ago</a>, now codified on our <a href="http://techwiki.openstructs.org/index.php/Main_Page">TechWiki</a> as the <em><a href="http://techwiki.openstructs.org/index.php/Normative_Landscape_of_Ontology_Tools"> Normative Landscape of Ontology Tools</a></em> (especially the second figure), we see the OWL API as the essential pivot point for all forms of ontology tools moving forward.</p>
<p>We have attempted to assemble a definitive and comprehensive list of all known tools presently based around version 3 of the OWL API. (We have surely missed some and welcome comments to this post that identify missing ones; we promise to add them and keep tracking them.) Herein is a listing of the 30 or so known OWL API-based tools:</p>
<ul>
<li><a href="http://protege.stanford.edu/">Protégé 4</a> is a free, open source ontology editor and knowledge-base framework based on OWL 2 and centered on the OWL API</li>
<li><a href="http://lat.inf.tu-dresden.de/systems/cel/">CEL</a>, <a href="http://owl.man.ac.uk/factplusplus/">FaCT++</a>, <a href="http://hermit-reasoner.com/">HermiT</a>, <a href="http://clarkparsia.com/pellet/">Pellet</a>, and <a href="http://www.racer-systems.com/products/racerpro/">Racer Pro</a> reasoners provide OWL API wrappers and are also available as reasoner plugins to Protégé 4</li>
<li>There is also a <a href="http://jfact.sourceforge.net/">FaCT++ port to Java</a> that is also implementing the OWLReasoner and is available as a plugin for Protégé 4.1; it is at version 0.9 with user feedback welcomed</li>
<li><a href="http://openstructs.org/structontology">structOntology</a> is an open source ontology editor and manager supporting <a href="http://structureddynamics.com/">Structured Dynamics</a>‘ <a href="http://openstructs.org/construct">conStruct</a> implementation of the Open Semantic Framework (<a href="http://openstructs.org/open-semantic-framework">OSF</a>) in <a href="http://drupal.org/">Drupal</a>; more information is provided <a href="http://techwiki.openstructs.org/index.php/StructOntology:_Overview">here</a></li>
<li><a href="http://trowl.eu/?page_id=2">TrOWL</a> is a Tractable reasoning infrastructure for OWL 2. TrOWL supports both standard TBox and ABox reasoning, as well as conjunctive query answering</li>
<li><a href="http://code.google.com/p/skoseditor/">SKOSEd</a> is a SKOS editor for Protege; just recently made compatible with Protégé 4.1</li>
</ul>
<div class="boxYellowSolid" style="margin: 8px 0pt 8px 8px; width: 320px; float: right; text-align: center;"><big>Please let us know of any missing OWL API tools that should be added to this list by submitting a comment to this post. We will keep this listing current.</big></div>
<ul>
<li><a href="http://code.google.com/p/owlpopulous/">Populus</a> is a semantic spreadsheet framework using <a href="http://www.sysmo-db.org/rightfield">RightField</a> and <a href="http://oppl2.sourceforge.net/">OPPL</a> for creating OWL ontologies</li>
<li><a href="http://wwwdev.ebi.ac.uk/efo/bubastis/">Bubastis</a> is a tool for detecting asserted logical differences between two ontologies, such as between versions. A stand alone version of the tool is also available for download from the <a href="http://www.ebi.ac.uk/efo/tools">EFO tools page</a>. Bubastis is powered by the OWL API</li>
<li><a href="http://www.ebi.ac.uk/efo/tools">Tab2OWL</a> and its <a href="https://sourceforge.net/projects/efo/files/tab%20to%20owl%20class/"> download</a> is a Java tool for importing classes into an already existing OWL file. The script uses the OWL API to read in a tab delimited file of class details and create OWL classes from these rows, adding them to an existing ontology</li>
<li><a href="http://semanticmatching.org/s-match.html">S-Match</a> is a semantic matching framework, which provides several semantic matching algorithms and facilities for developing new ones. Currently S-Match contains implementations of the original S-Match semantic matching algorithm, as well as minimal semantic matching algorithm and structure preserving semantic matching algorithm</li>
<li>The <a href="http://alignapi.gforge.inria.fr/">Alignment API</a> is an API and implementation for expressing and sharing ontology alignments. It uses an RDF format for expressing alignments in a uniform way. Its four main interfaces (Alignment, Cell, Relation and Evaluator) provides these services: storing, finding, and sharing alignments; piping alignment algorithms (improving an existing alignment); manipulating (thresholding and hardening); generating processing output; and comparing alignments</li>
<li>The <a href="http://owllink-owlapi.sourceforge.net/index.html">OWLlink API</a> is a Java interface and implementation of the <a href="http://owllink-owlapi.sourceforge.net/owllink.org">OWLlink protocol</a> on top of the Java-based <a href="http://owllink-owlapi.sourceforge.net/owlapi.sourceforge.net">OWL API</a>. The OWLlink API enables OWL API-based applications to access remote reasoners (so-called OWLlink servers), and it turns any OWL API aware reasoner into an OWLlink server</li>
<li><a href="http://oppl2.sourceforge.net/">OPPL2</a> (ontology pre-processing language) is an abstract formalism that allows for manipulating ontologies written in OWL. It is 100% based on the <a href="http://www.co-ode.org/resources/reference/manchester_syntax/">Manchester OWL Syntax</a>; a query language based on OWL (logical) axioms and variables; a scripting language that allows the addition/removal of OWL (logical) axioms. It is available as an Protégé 4.1 <a href="http://sourceforge.net/projects/oppl2/files/OPPL%20Protege%204.1%20plugin/"> plug-in</a></li>
<li><a href="http://oppl2.sourceforge.net/patterns/index.html">OPPL Patterns</a> It is available as an Protégé 4.1 <a href="http://sourceforge.net/projects/oppl2/files/Patterns%20Protege%204.1%20plugin/"> plug-in</a></li>
<li><a href="http://blipkit.wordpress.com/posh/">Posh</a> (Prolog OWL Shell) is a command line utility that wraps the Thea OWL library to allow for advanced querying and processing of ontologies, combining the power of Prolog and OWL reasoning</li>
<li><a href="http://blipkit.wordpress.com/popl/">POPL</a> (Prolog Ontology Processing Language) allows you to write expressive ontology rewrite rules in a high-level declarative fashion using a syntax similar to Manchester syntax</li>
<li><a href="http://wiki.geneontology.org/index.php/OWLTools">OWLTools</a> (aka OWL2LS – OWL2 Life Sciences) is a convenience Java API on top of the OWL API. Code is available <a href="http://code.google.com/p/owltools/">here</a></li>
<li><a href="http://precedings.nature.com/documents/3468/version/1">LexOWL</a> is a plug-in for Protégé 4. In order to add more powerful functionality (<em>e.g.</em>, inferencing, editing) to the existing infrastructure and align LexGrid more closely with various Semantic Web technologies, the LexOWL plugin for Protégé 4 provides a way for representing the ontologies modeled within the LexGrid environment in OWL. A source for downloading this tool has not been found</li>
<li>Apero, a Protégé plug-in that is an ontology debugging tool based on the use of anti-patterns; see <a href="http://www.emcl-study.eu/fileadmin/master_theses/thesis_tahwil.pdf">http://www.emcl-study.eu/fileadmin/master_theses/thesis_tahwil.pdf</a></li>
<li><a href="http://www.kr.tuwien.ac.at/research/systems/drew/">DReW</a> is a prototype DL reasoner over LDL+ ontologies and a prototype reasoner for dl-programs over LDL+ ontologies under well-founded semantics. It is not well developed or documented; it can be <a href="http://www.kr.tuwien.ac.at/research/systems/drew/download.html">downloaded here</a></li>
<li>The LingInfo, <a href="http://ontoware.org/projects/lexonto/">LexOnto</a>, LexInfo and LMF ontologies are available from the project website, as well as a corresponding Java API with an implementation for the commonly used OWL API</li>
<li><a href="http://www.semanticweb.gr/thea/index.html">Thea2</a> is a Prolog library that provides complete support for querying and processing OWL 2 ontologies directly from within Prolog programs. Thea2 also offers additional capabilities including a bridge to the Java OWL API and translation of ontologies to Description Logic programs</li>
<li><a href="http://www.glowvis.org/Main_Page">GLOW</a> is a visualization for OWL ontologies, based on Hierarchical Edge Bundles. Hierarchical Edge Bundles is a new visually attractive technique for displaying adjacency relations in hierarchical data, such as concept structures formed by `subclass-of’ and `type-of’ relations. The displayed adjacency relations can be selected from an ontology using a set of common configurations, allowing for intuitive discovery of information. It is a visualization library based on OWL API, as well as a plug-in for Protégé</li>
<li><a href="http://www.dis.uniroma1.it/quonto/?q=node/26">ROWLKit</a> is a simple GUI to reason and query over ontologies written in the OWL 2 QL profile of OWL</li>
<li><a href="https://babbage.inf.unibz.it/trac/obdapublic/wiki/ObdalibPlugin">OBDA Plugin</a> (Ontology-based data access) is an add-on for the Protégé ontology editor aimed at transforming Protégé into a fully fledged OBDA model editor. It provides data source and mapping editors, as well as querying facilities that, in conjunction with an OBDA-enabled reasoner, allows you to design and test every aspect of an OBDA system</li>
<li><a href="http://www.ontocat.org/">OntoCAT</a> provides high level abstraction for interacting with ontology resources including local ontology files in standard OWL and OBO formats (via OWL API)</li>
<li><a href="http://semarule.com/navigator.htm">SemaRule Navigator</a> is an Eclipse-based toolkit of multiple semWeb tools, built around the OWL API, organized into a pipeline-like system (appears quite complicated)</li>
<li><a href="http://owldb.sourceforge.net/">OWLDB</a> (alias Mnemosyne) is a storage system based on object-relational mappings utilising the OWL-API for the W3C Web Ontology Language OWL</li>
<li>Finally, for a periodically updated list of “official” extensions, see <a href="https://owlapi.svn.sourceforge.net/svnroot/owlapi/v3/branches/owlextensions/"> https://owlapi.svn.sourceforge.net/svnroot/owlapi/v3/branches/owlextensions/</a>.</li>
</ul>
<h3>Addendum</h3>
<p>Ignazio Palmisano also graciously suggested these additional sources:</p>
<ul>
<li><a href="http://owl.cs.manchester.ac.uk/tools/">http://owl.cs.manchester.ac.uk/tools/</a></li>
</ul>
<p>which also further leads to this additional listing:</p>
<ul>
<li><a href="http://www.w3.org/2007/OWL/wiki/Implementations">http://www.w3.org/2007/OWL/wiki/Implementations</a></li>
</ul>
<p>It is not clear if all of these offer OWL 2 support, let along work with the current OWL API.</p>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/Ypm_BOUGBNQ" width="1"/></div>
    </content>
    <updated>2011-09-26T08:52:07Z</updated>
    <category term="Ontologies"/>
    <category term="Semantic Web Tools"/>
    <category term="owl"/>
    <category term="owlapi"/>
    <category term="Semantic Web"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/977/thirty-owl-api-tools/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-10-30T22:50:40Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/09/21/volkswagens-use-of-structwsf-in-their-semantic-web-platform/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/SfV8kf6hicE/" rel="alternate" type="text/html"/>
    <title>Volkswagen’s Use of structWSF in their Semantic Web Platform</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Volkswagen&#x2019;s Use of structWSF in their Semantic Web Platform&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.subject=UMBEL&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-09-21&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/09/21/volkswagens-use-of-structwsf-in-their-semantic-web-platform/&amp;rft.language=English"/>
TribalDDB London, Volkswagen UK‘s partner, mentioned earlier this week that Volkswagen are using some parts of the Open Semantic Framework to develop the next generation of their online platform. This story has been published by Jennifer Zaino’s in her article: Volkswagen: Das Auto Company is Das Semantic Web Company! I can now talk about this [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Volkswagen&#x2019;s Use of structWSF in their Semantic Web Platform&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Dynamics&amp;rft.subject=structWSF&amp;rft.subject=UMBEL&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-09-21&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/09/21/volkswagens-use-of-structwsf-in-their-semantic-web-platform/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>
<blockquote><p><a href="http://www.ddbuk.com/tribalddb" title="TribalDDB London">TribalDDB London</a>, <a href="http://www.volkswagen.co.uk/" title="Volkswagen UK">Volkswagen UK</a>‘s partner, mentioned earlier this week that Volkswagen are using some parts of the <a href="http://openstructs.org/open-semantic-framework" title="Open Semantic Framework">Open Semantic Framework</a> to develop the next generation of their online platform.</p></blockquote>
</td>
<td><img alt="" class="alignnone size-medium wp-image-1413" height="68" src="http://fgiasson.com/blog/wp-content/uploads/2011/09/volkswagen-beetle-300x114.gif" title="volkswagen-beetle" width="180"/></td>
</tr>
</tbody>
</table>
<p>This story has been published by Jennifer Zaino’s in her article: <a href="http://semanticweb.com/volkswagen-das-auto-company-is-das-semantic-web-company_b23233" title="Volkswagen uses structWSF in their new platform">Volkswagen: Das Auto Company is Das Semantic Web Company!</a></p>
<p>I can now talk about this project that uses some pieces of the <a href="http://openstructs.org/open-semantic-framework" title="Open Semantic Framework">framework </a>that we have been developing for more than 3 years now.</p>
<h3>The Objective</h3>
<p>Volkswagen’s main objective behind the development of the next version of their Web platform started by improving their online search engine, but as William Greenly mentioned, it quickly became a strategic decision:</p>
<blockquote><p>"So the objectives were about site search and improving it, but in the long-run it was always the idea to contextualize content, to facet content, to promote it in different contexts."</p></blockquote>
<p>The objective is to create a platform that gives them the <strong>flexibility</strong> to <strong>leverage</strong> all the data assets they own. This flexibility will help them to leverage the data assests they have to improve not only their search engine, but also to contextualize it in different parts of their websites, partner’s websites or to promote, and publish that same information on different communication channels or devices.</p>
<h3>The Flexibility</h3>
<table>
<tbody>
<tr>
<td><div class="alignnone" style="margin: 10px; overflow: hidden; display: table; line-height: 0; text-align: center; width: 101px;"><img alt="" class=" size-medium wp-image-1416 shadow_curl" height="144" src="http://fgiasson.com/blog/wp-content/uploads/2011/09/ganesha-211x300.jpg" style="padding: 0 !important; margin: 0 !important;" title="ganesha" width="101"/><br/><img class="shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div></td>
<td>What is a flexible platform in that context? A flexible platform is one that can integrate any kind of information sources. Such information sources in the context of Volkswagen can be a series of relational dataset schemas spread around the World, Excel spreadsheets, CSV files, old plain text technical documents about past model of cars, semi-structured documents such as webpages, etc.</td>
</tr>
</tbody>
</table>
<p>A flexible platform is also one that minimally impact (if at all) the data consumers if the data structure changes in the system. This is really important since the World we live in constantly changes. This means that things constantly change and we have to reflect these changes in the data we own and maintain. This is why this point is so important, because we want to minimize the impact of the data structure changes that will happen all the time.</p>
<p>Having the flexibility to constantly adapt your data, while minimally impacting the data consumers of the system, enables you to make quick decision to adapt your strategy in a highly competitive World. This flexibility gives you a clear business advantage.</p>
<p>A flexible platform is also one that let you publish your data the way you want, in the format that is needed. Such a flexible platform has to give you access to an interface that give you access to all the functionalities of the platform without having to care about what happens under the hood.</p>
<p>A flexible system is one that can communicate your information on any kind of communication channels, and to any devices that have access to the Web.</p>
<h3>Under the Hood</h3>
<p>That next generation platform that Volkswagen is currently developing is partly based on a few of the main pieces of the Open Semantic Framework. These pieces help them to reach their goal by helping them giving the flexibility their platform needs.</p>
<p>The first step they gone thru was to create their <a href="http://www.volkswagen.co.uk/vocabularies/vvo/ns" title="Volkswagen Vehicles Ontology">Volkswagen Vehicles Ontology</a> that is used to describe all the entities they want to index into their platform. The <a href="http://www.w3.org/TR/owl2-overview/" title="OWL 2">Web Ontology Language</a> (OWL), along with the <a href="http://www.w3.org/TR/REC-rdf-syntax/" title="RDF">Resource Description Framework</a> (RDF) is what gives them the complete flexibility on how they can integrate all the pieces of information they want, in a canonical format.</p>
<table>
<tbody>
<tr>
<td>Then they choose to use <a>structWSF </a>(the structured data web services framework). This piece gives them the flexibility to get a series of web interfaces (web service endpoints) to create, update, manage and query their data. This web service layer enables them to do anything they want with their data, from anywhere on the Web. This is possible because all the functionalities of the framework are exposed as web service endpoints. StructWSF also gives them the possibility to communicate their data in multiple different formats. This makes it the perfect flexible system to feed their information in different contexts, in different communication channels or on different devices.</td>
<td><img alt="" class="alignnone size-full wp-image-941" height="120" src="http://fgiasson.com/blog/wp-content/uploads/2009/06/triple_120.png" title="triple_120" width="120"/></td>
</tr>
</tbody>
</table>
<p>At Volkswagen, structWSF is used to populate, and keep in sync, their Solr and Triple Store instances. It gives them the time to care about the more important aspects of their platform, and to care about how the data should be synced between the various specialized data management systems.</p>
<p>By using structWSF to manage their data, they are able to reach some objectives to make their platform as flexible as possible:</p>
<ul>
<li>To be able to minimize the impact of data changes to the data consumers</li>
<ul>
<li><em>Because structWSF uses OWL &amp; RDF to describe all the data it index</em></li>
</ul>
<li>To be able to manipulate their data from anywhere</li>
<ul>
<li><em>Because all the functionalities of structWSF are exposed as web service endpoints</em></li>
</ul>
<li>To be able to communicate the information in different contexts, communication channels and devices</li>
<ul>
<li><em>Because structWSF has, in its core, is designed to transform all the data it indexes in any other kind of format</em></li>
</ul>
</ul>
<h3>The Next Step</h3>
<p>One of their longer term goal and objective is to analyze their unstructured and semi-structured textual documents to extract some structure out of them, and to index them into their semantic platform. To do this, they are looking at using <a href="http://structureddynamics.com/scones.html" title="Scones web service endpoint">Scones</a>, which is the structWSF semantic tagger web service endpoint. Scones will use some subject reference structures such as <a href="http://umbel.org" title="UMBEL Ontology">UMBEL </a>to semantically tag the textual document. Once the document as been processed by Scones, and indexed in structWSF, it can now be re-published in different contexts based on the reference concepts that have been tagged to it. This gives them the flexibility to leverage non-structured sources of data and to re-purpose it in different ways by publishing it in different context and in different systems.</p>
<p>This second system will enable them to leverage the investment they made in the past, by writing all these textual documents, and to re-purpose, and re-contextualizing, them in all kind of different contexts.</p>
<h3>Conclusion</h3>
<p>I think that TribalDDB and Volkswagen make the good decision for their future. Taking the business decision to develop and maintain a completely new kind of information system is not an easy decision to take. I am not saying that they made the good choice to use our pieces of the stack. The decision goes far beyond this. Such a Semantic Platform challenges everything in an organization: the people that takes the decisions, the people that create and manage the data, the people that develop the system, the people that maintain that system, the consumers of the system, the customers, the partners, etc. This is a <strong>big</strong> decision; whatever the technology stack you plan to use. I congratulate them for the decision they took.</p>
<p>I strongly believe that this was the right decision to take considering the future opportunities they are creating to themselves.</p>
<p> </p>
<p> </p>
<img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/SfV8kf6hicE" width="1"/></div>
    </content>
    <updated>2011-09-21T20:59:20Z</updated>
    <category term="Open Semantic Framework"/>
    <category term="Semantic Web"/>
    <category term="Structured Dynamics"/>
    <category term="structWSF"/>
    <category term="UMBEL"/>
    <category term="#linkeddata"/>
    <category term="#rdf"/>
    <category term="#semantic web"/>
    <category term="#structwsf"/>
    <category term="#volkswagen"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/09/21/volkswagens-use-of-structwsf-in-their-semantic-web-platform/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2011-12-19T16:15:16Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/09/19/benchmark-of-phps-main-string-search-functions/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/tT960Mcx_CU/" rel="alternate" type="text/html"/>
    <title>Benchmark of PHP’s main String Search Functions</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Benchmark of PHP&#x2019;s main String Search Functions&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Programming&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-09-19&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/09/19/benchmark-of-phps-main-string-search-functions/&amp;rft.language=English"/>
I am currently upgrading the structWSF ontologies related web service endpoints along with the structOntology conStruct module to make them more performing so that we can load ontologies that have thousands of classes and properties (at least up to 30 000 of them). While testing these new upgrades with them UMBEL ontology, I noticed that [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Benchmark of PHP&#x2019;s main String Search Functions&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Programming&amp;rft.subject=structWSF&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-09-19&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/09/19/benchmark-of-phps-main-string-search-functions/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>I am currently upgrading the <a href="http://openstructs.org/structwsf" title="structWSF">structWSF</a> ontologies related web service endpoints along with the structOntology <a href="http://drupal.org/project/construct" title="conStruct">conStruct</a> module to make them more performing so that we can load ontologies that have thousands of classes and properties (at least up to 30 000 of them).</td>
<td valign="top"><div class="alignleft" style="margin: 10px; overflow: hidden; display: table; line-height: 0; text-align: center; width: 180px;"><img alt="" class=" size-medium wp-image-1367 shadow_curl" height="137" src="http://fgiasson.com/blog/wp-content/uploads/2011/09/benchmark-300x229.jpg" style="padding: 0 !important; margin: 0 !important;" title="benchmark" width="180"/><br/><img class="shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div></td>
</tr>
</tbody>
</table>
<p>While testing these new upgrades with them <a href="http://umbel.org" title="UMBEL Ontology">UMBEL ontology</a>, I noticed that much of the time was spent by a few number of <code>stripos()</code> calls located in the <code>loadXML()</code> function of the <a href="http://code.google.com/p/structwsf/source/browse/branches/dev/framework/ProcessorXML.php"><code>ProcessorXML.php</code></a> internal <a href="http://techwiki.openstructs.org/index.php/StructXML" title="structXML">structXML</a> parser. They were used to extract the prefixes in the header of the structXML files, and then to resolve them into the XML file. I was using <code>stripos()</code> instead of <code>strpos()</code> to make the parsing of these structXML files case-insensitive even if XML is case-sensitive itself. However, due to their processing cost, I did change this behaviors by using the <code>strpos()</code> function instead. Here are the main reasons to this change:</p>
<ul>
<li>XML is itself case-sensitive, so don’t try to be too clever</li>
<li>These structXML files that are exchanged are mostly internal to structXML</li>
<li>Their parsing performances is critical</li>
</ul>
<h3>The Tests</h3>
<p>This is a non-scientific post about some experimentation I made related to the various PHP 5.3 string search functions. These tests have been performed on a small Amazon EC2 instance using <a href="http://www.php-debugger.com/dbg/">DBG</a> and <a href="http://www.nusphere.com/products/phped.htm" title="PhpED">PHPeD</a>.</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container php railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/>2<br/>3<br/>4<br/>5<br/>6<br/>7<br/>8<br/>9<br/>10<br/>11<br/>12<br/>13<br/>14<br/>15<br/>16<br/></div></td><td><div class="php codecolorer"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br/>
  <br/>
<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce malesuada aliquet pharetra. Nunc tincidunt tempus eleifend. Cras aliquet risus eget tortor elementum at molestie erat auctor. Sed sapien nulla, auctor a aliquam in, ornare eget enim. Ut ac luctus nunc. Etiam et tortor felis, sed fringilla orci. Fusce laoreet ligula turpis, quis sodales enim. Pellentesque at sapien ut dolor malesuada placerat eu ac quam. Pellentesque purus elit, sodales in fringilla eu, egestas vitae ipsum. Nam condimentum, nisi ac tincidunt luctus, odio erat porta turpis, eget varius felis leo sit amet lorem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas quis pulvinar dui. Integer quis eros nibh. Donec in lectus vitae ligula euismod vulputate ut euismod enim. Ut vehicula, sapien at faucibus ornare, nulla lorem luctus purus, sed imperdiet augue purus quis enim."</span><span style="color: #339933;">;</span><br/>
<span style="color: #000088;">$explodedText</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">(</span><span style="color: #0000ff;">" "</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
  <br/>
<span style="color: #b1b100;">for</span><span style="color: #009900;">(</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">10000</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">)</span><br/>
<span style="color: #009900;">{</span><br/>
  <span style="color: #000088;">$word</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$word</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_rand</span><span style="color: #009900;">(</span><span style="color: #000088;">$explodedText</span> <span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
    <br/>
  <span style="color: #990000;">strpos</span><span style="color: #009900;">(</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$word</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
  <span style="color: #990000;">stripos</span><span style="color: #009900;">(</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$word</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
  <span style="color: #990000;">strstr</span><span style="color: #009900;">(</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$word</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
  <span style="color: #990000;">stristr</span><span style="color: #009900;">(</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$word</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
<span style="color: #009900;">}</span><br/>
<br/>
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>The first test uses a text of 138 words. That text get exploded into an array where each value is a word of that text. Then, before each iteration, we randomly select a word that we will search, within the text, using each of the 4 search functions.</p>
<blockquote><p><em>Note that in the result images below, each of the line in the left-most column are the ones of the PHP code above.</em></p></blockquote>
<p>That first test starts with 10 000 iterations. Here are the results of the first run:</p>
<p style="text-align: center;"><a href="http://fgiasson.com/blog/wp-content/uploads/2011/09/test1.gif"><img alt="" class="aligncenter size-full wp-image-1275" height="68" src="http://fgiasson.com/blog/wp-content/uploads/2011/09/test1.gif" title="PHP string search test #1" width="450"/></a><a href="http://fgiasson.com/blog/wp-content/uploads/2011/09/test11.gif"><br/>
</a></p>
<p>The second test uses the same 138 words, but the test is performed 100 000 times:</p>
<p style="text-align: center;"><a href="http://fgiasson.com/blog/wp-content/uploads/2011/09/test2.gif"><img alt="" class="aligncenter size-full wp-image-1285" height="68" src="http://fgiasson.com/blog/wp-content/uploads/2011/09/test2.gif" title="test2" width="450"/></a></p>
<p>As we can see, <code>strpos()</code> and <code>strstr()</code> are clearly faster than their case-insensitive counterparts.</p>
<p>Now, let’s see what is the impact of the size of the text to search. We will now perform the two tests with 10 000 and 100 000 iterations but with a text that has 497 words.</p>
<div class="alignnone">
<div class="shadow_curl" style="margin: 0 !important;"><div class="codecolorer-container php railscasts" style="overflow: auto; white-space: nowrap; width: 435px;"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div>1<br/>2<br/>3<br/>4<br/>5<br/>6<br/>7<br/>8<br/>9<br/>10<br/>11<br/>12<br/>13<br/>14<br/>15<br/>16<br/></div></td><td><div class="php codecolorer"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br/>
  <br/>
<span style="color: #000088;">$longText</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce malesuada aliquet pharetra. Nunc tincidunt tempus eleifend. Cras aliquet risus eget tortor elementum at molestie erat auctor. Sed sapien nulla, auctor a aliquam in, ornare eget enim. Ut ac luctus nunc. Etiam et tortor felis, sed fringilla orci. Fusce laoreet ligula turpis, quis sodales enim. Pellentesque at sapien ut dolor malesuada placerat eu ac quam. Pellentesque purus elit, sodales in fringilla eu, egestas vitae ipsum. Nam condimentum, nisi ac tincidunt luctus, odio erat porta turpis, eget varius felis leo sit amet lorem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas quis pulvinar dui. Integer quis eros nibh. Donec in lectus vitae ligula euismod vulputate ut euismod enim. Ut vehicula, sapien at faucibus ornare, nulla lorem luctus purus, sed imperdiet augue purus quis enim. Nunc eu consectetur quam. Duis nulla sem, tincidunt vel placerat at, ultricies eu est. Vestibulum sed nulla nunc, et tristique orci. Aliquam nulla sapien, lobortis in sagittis vitae, tincidunt ut felis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut condimentum, orci venenatis mollis faucibus, purus enim euismod massa, a imperdiet sapien arcu in sapien. Nulla convallis sodales pretium. Nulla facilisi. Maecenas molestie est tortor. Fusce congue, leo eu tristique sodales, odio leo facilisis lectus, in euismod odio tellus ut sapien. Fusce odio orci, facilisis eu convallis et, consectetur nec mauris. Nullam nulla lacus, volutpat sit amet pulvinar quis, pulvinar eget dolor. Curabitur sit amet odio sem, at dapibus tellus. Donec nec dictum eros. Morbi convallis libero ultrices magna varius suscipit. Duis bibendum volutpat felis non fermentum. Phasellus nunc mi, ornare et vulputate sed, pellentesque sed enim. Mauris suscipit, nisl quis tempor mollis, tortor nunc varius odio, eu dictum odio mi quis sapien. Morbi placerat, erat quis mattis iaculis, urna nisi faucibus nisi, eu mattis elit mauris eu quam. Mauris euismod tincidunt ante quis interdum. Phasellus elementum libero in arcu tempus tincidunt. Praesent in nunc eget nibh porta imperdiet eget eget mauris. Morbi pellentesque dapibus lacus, rutrum sollicitudin nisi fermentum vel. Cras tempor mattis urna, sit amet semper eros varius ut. Fusce erat elit, tempus non commodo et, egestas sit amet odio. Suspendisse libero neque, porttitor vel volutpat eget, placerat in mi. Proin pharetra leo in ligula porttitor vestibulum. Curabitur vel mauris nec lorem sollicitudin porttitor. Sed suscipit, mauris ac sollicitudin tempus, orci velit aliquet leo, vitae ornare mi nulla a tellus. Morbi turpis justo, vestibulum ac auctor sed, vulputate nec nisl. Quisque ut ultricies orci. Sed vel dolor at felis egestas venenatis in ut elit. Nam quis neque sem. Morbi turpis magna, porttitor vulputate dignissim commodo, auctor eu nibh. Ut at nisl tortor. Quisque cursus interdum mi ut molestie. Vivamus nec ipsum ipsum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed quis ipsum erat, quis dignissim nunc. Sed eu diam dapibus tortor fermentum dignissim. Phasellus ac turpis nisl, dictum consequat elit. Suspendisse at turpis quis eros pharetra imperdiet. Mauris ut nisl augue. "</span><span style="color: #339933;">;</span><br/>
<span style="color: #000088;">$explodedLongText</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">(</span><span style="color: #0000ff;">" "</span><span style="color: #339933;">,</span> <span style="color: #000088;">$longText</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
  <br/>
<span style="color: #b1b100;">for</span><span style="color: #009900;">(</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">500000</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">)</span><br/>
<span style="color: #009900;">{</span><br/>
  <span style="color: #000088;">$word</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_rand</span><span style="color: #009900;">(</span><span style="color: #000088;">$explodedLongText</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
    <br/>
  <span style="color: #990000;">strpos</span><span style="color: #009900;">(</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$word</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
  <span style="color: #990000;">stripos</span><span style="color: #009900;">(</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$word</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
  <span style="color: #990000;">strstr</span><span style="color: #009900;">(</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$word</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
  <span style="color: #990000;">stristr</span><span style="color: #009900;">(</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$word</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span><br/>
<span style="color: #009900;">}</span><br/>
<br/>
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<img class="aligncenter shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div>
</div>
<p>That third test starts with 10 000 iterations. Here are the results of the third run:</p>
<p style="text-align: center;"><a href="http://fgiasson.com/blog/wp-content/uploads/2011/09/test3.gif"><img alt="" class="aligncenter size-full wp-image-1286" height="68" src="http://fgiasson.com/blog/wp-content/uploads/2011/09/test3.gif" title="test3" width="450"/></a></p>
<p>The fourth test uses the same 497 words, but the test is performed 100 000 times:</p>
<p style="text-align: center;"><a href="http://fgiasson.com/blog/wp-content/uploads/2011/09/test4.gif"><img alt="" class="aligncenter size-full wp-image-1287" height="68" src="http://fgiasson.com/blog/wp-content/uploads/2011/09/test4.gif" title="test4" width="450"/></a></p>
<p>As we can see, even if we add more words, the same kind of performances are experienced.</p>
<h3>Conclusion</h3>
<p>After many runs (I only demonstrated a few here). I think I can affirm that <code>strpos()</code> and <code>strstr()</code> are way faster than their case-insensitive counterparts. However, <code>strpos()</code> seems a little bit faster than <code>strstr()</code>, but it seems to depends of the context, and which random words are being searched for. In any cases, according to PHP’s documentation, we should always use <code>strpos()</code> instead of <code>strstr()</code> because it supposedly use less memory.</p>
<p>There may also be some unknown memory considerations that may affect the code I used to test these functions. In any case, I can affirm that in a real context, where queries are sent to the Ontology: Read web service endpoint that hosts the UMBEL ontology, that <code>strpos()</code> is a way faster than <code>stripos()</code>.</p>
<img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/tT960Mcx_CU" width="1"/></div>
    </content>
    <updated>2011-09-19T17:57:51Z</updated>
    <category term="Programming"/>
    <category term="structWSF"/>
    <category term="#code"/>
    <category term="#optimization"/>
    <category term="#osf"/>
    <category term="#php"/>
    <category term="#umbel"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/09/19/benchmark-of-phps-main-string-search-functions/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2011-12-13T13:25:06Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://fgiasson.com/blog/index.php/2011/09/18/what-is-an-ontology/</id>
    <link href="http://feedproxy.google.com/~r/FredOnSomething/~3/iiKkB-Ss0Jg/" rel="alternate" type="text/html"/>
    <title>What is an Ontology?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=What is an Ontology?&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-09-18&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/09/18/what-is-an-ontology/&amp;rft.language=English"/>
An ontology is the definition of a vocabulary, and the rules for combining its terms, used to describe things that needs to be communicated. This is yet another tentative definition of what is an ontology applied for the semantic web. Before explaining that definition, I would like to continue by stating what I think is [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=What is an Ontology?&amp;rft.aulast=Giasson&amp;rft.aufirst=Frederick&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Semantic Web&amp;rft.source=Frederick Giasson&#x2019;s Weblog&amp;rft.date=2011-09-18&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://fgiasson.com/blog/index.php/2011/09/18/what-is-an-ontology/&amp;rft.language=English"/>
<table>
<tbody>
<tr>
<td>
<blockquote><p><em>An ontology is the definition of a vocabulary, and the rules for combining its t</em><em/><em>erms, used to describe things that needs to be communicated.</em></p></blockquote>
</td>
<td valign="top"><img alt="" class="alignright size-medium wp-image-1300" height="83" src="http://fgiasson.com/blog/wp-content/uploads/2011/09/isaiah-scroll.l-300x158.jpg" title="Old Ontology Scroll" width="160"/></td>
</tr>
</tbody>
</table>
<p>This is yet another tentative definition of what is an ontology applied for the semantic web. Before explaining that definition, I would like to continue by stating what I think is the main purpose of an ontology:</p>
<blockquote><p><em>An ontology as for main purpose to communicate coherent and consistent information.</em></p></blockquote>
<h3>Different Kinds of Ontologies</h3>
<p>Over the years, I tended to use the word “vocabulary,” along with the word “ontology,” in different blog posts and technical documents. However, the usage of each word may not always have been clear. Is an vocabulary an ontology? Is an ontology a vocabulary? Are these concepts synonymous? There is an important distinction to make: an ontology <em>can</em> be a vocabulary, but an ontology is much more than a simple vocabulary.</p>
<p>Ontologies can describe all kind of well-known knowledge representation structures, some simple, and others much more complex. Here is a small list of some of them:</p>
<ul>
<li>lexicons</li>
<li>taxonomies, or</li>
<li>higher order knowledge description frameworks</li>
</ul>
<p>In its most basic usage, an ontology will define a vocabulary. It will simply define the terms (words) that belongs to that vocabulary without saying anything regarding the usage of these words.</p>
<p>Then, an ontology could evolve into a taxonomy by defined hierarchical relationships between the terms that compose the vocabulary.</p>
<p>Finally, it can evolve further to become a higher order knowledge description framework that defines more complex usage rules such as: usage restrictions, all kind of relationships between described entities, etc. New knowledge could also be inferred. It is why I say that an ontology is not strictly a simple vocabulary, but that it powerful knowledge description framework.</p>
<h3>Knowledge Base</h3>
<p>As we saw above, the main purpose of an ontology is to be able to create a coherent and consistent knowledge base of information that can get communicated. So an ontology is a kind of language that let you create knowledge bases that are consistent, coherent and where new knowledge can be inferred. That is done by following the usage rules defined in the ontology.</p>
<p>However, there is another important aspect to take into account: an ontology will describe knowledge that is coherent and consistent, <strong>but according to the own <em>World view of that ontology</em></strong>. This means that two ontologies, describing the same domain of knowledge, could consistently and coherently describe information according to <em>their</em> view of the World.</p>
<p>Let's take an example. Let's say that two book stores developed their own ontologies to describe the books they sell. Both companies sell books. There are good chances that they will use the same vocabulary to describe their books. However, the usage rules between these terms may differ between the two book stores. One of the book stores could say that a <em>proceeding</em> is a specialized kind of <em>book</em>. But the other book store could say that no, a <em>proceeding</em> is not a specialized kind of <em>book</em>, but that it is a <em>document</em> just like a <em>book</em>. So, both would describe a <em>proceeding</em> as a <em>document</em>, but one would have different interpretation rules about what a <em>book</em> really is. As you see, both book stores use the same vocabulary to define their library of books, but they interpret their meaning differently. If the two stores would have to exchange information about books in the future, they won't have many difficulties because they are probably sharing the same vocabulary, but the interpretation of that information may differ. The result of these potential differences in their interpretations may be where a book will be classified into the store; or how their customers could search for a specific book, using different filtering criterias; etc.</p>
<table>
<tbody>
<tr>
<td>This is not different than what happens in our daily lives: is there a day in your life when you don't hear people arguing about different point of views? It is exactly the same thing that happens here. We potentially all live and see and the exact same events, images, sound, etc.; but we may all have a different interpretation of these things.</td>
<td valign="top"><div class="alignright" style="margin: 10px; overflow: hidden; display: table; line-height: 0; text-align: center; width: 180px;"><img alt="" class=" size-medium wp-image-1304 shadow_curl" height="128" src="http://fgiasson.com/blog/wp-content/uploads/2011/09/disagreement-300x214.jpg" style="padding: 0 !important; margin: 0 !important;" title="Different World Views" width="180"/><br/><img class="shadow_img" src="http://fgiasson.com/blog/wp-content/plugins/shadows/shadow_curl.png" style="margin: 0 !important; height: 10px; width: 100%;"/></div></td>
</tr>
</tbody>
</table>
<h3>Ontologies in the Open Semantic Framework?</h3>
<p>Ontologies are so flexible that we choose to make ontologies the "brain" of the <a href="http://openstructs.org/open-semantic-framework">Open Semantic Framework</a>.</p>
<p>We wanted to use the most flexible knowledge description framework that would enable us to integrate any possible information sources that have been describe using any existing kind of simple, or really complex, knowledge representation structures such as simple: lexicons, taxonomies, relational schemas, etc. By using ontologies as its central piece, OSF is a flexibly data integration framework that can consolidate information from various, heterogeneous, sources of information.</p>
<table>
<tbody>
<tr>
<td valign="top"><img alt="" class="alignleft size-full wp-image-941" height="80" src="http://fgiasson.com/blog/wp-content/uploads/2009/06/triple_120.png" style="margin: 10px;" title="triple_120" width="80"/></td>
<td>If we remember the definition we started with, ontologies are not just about describing terms and their relationships in a coherent and consistent way. The ultimate purpose is to communicate that information. It is what the <a href="http://openstructs.org/structwsf">structWSF</a> part of the Open Semantic Framework does: it let any kind of system that have access to the Internet to send, receive and manipulate information in multiple formats from a series of web service endpoints.</td>
</tr>
</tbody>
</table>
<h3>More Reading</h3>
<p>Finally, I would suggest you to read Mike's <a href="http://www.mkbergman.com/936/brown-bag-lunch-an-intrepid-guide-to-ontologies/">Intrepid Guide to Ontologies</a> to have a better understanding of where ontologies come from, how they works, what other formats exists, what are the different approaches to ontologies and what tools currently exists to work with ontologies.</p>
<img height="1" src="http://feeds.feedburner.com/~r/FredOnSomething/~4/iiKkB-Ss0Jg" width="1"/></div>
    </content>
    <updated>2011-09-18T15:55:31Z</updated>
    <category term="Open Semantic Framework"/>
    <category term="Semantic Web"/>
    <category term="#data integration"/>
    <category term="#ontology"/>
    <category term="#open semantic framework"/>
    <category term="#semantic web"/>
    <category term="#structwsf"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://fgiasson.com/blog/index.php/2011/09/18/what-is-an-ontology/</feedburner:origLink>
    <author>
      <name>Frederick Giasson</name>
    </author>
    <source>
      <id>http://fgiasson.com/blog</id>
      <link href="http://fgiasson.com/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/FredOnSomething" rel="self" type="application/rdf+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Frederick Giasson's Weblog</title>
      <updated>2011-11-21T21:29:50Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=974</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/PFjG18QQu_o/" rel="alternate" type="text/html"/>
    <title>Making the Argument for Semantic Technologies</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Making the Argument for Semantic Technologies&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Linked Data&amp;rft.subject=Semantic Enterprise&amp;rft.subject=Semantic Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-09-12&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/974/making-the-argument-for-semantic-technologies/&amp;rft.language=English"/>
Five Unique Advantages for the Enterprise There have been some notable attempts of late to make elevator pitches [1] for semantic technologies, as well as Lee Feigenbaum’s recent series on Are We Asking the Wrong Question? about semantic technologies [2]. Some have attempted to downplay semantic Web connotations entirely and to replace the pitch with [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Making the Argument for Semantic Technologies&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Linked Data&amp;rft.subject=Semantic Enterprise&amp;rft.subject=Semantic Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-09-12&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/974/making-the-argument-for-semantic-technologies/&amp;rft.language=English"/>
<h2><a><img align="left" alt="Judgment for Semantic Technologies" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110913_gavel_250.png" style="border: 0px solid; width: 249px; height: 279px; float: left; margin-right: 10px;" title="Judgment for Semantic Technologies"/></a>Five Unique Advantages for the Enterprise</h2>
<p>There have been some notable attempts of late to make <a href="http://answers.semanticweb.com/questions/744/what-is-a-good-elevator-pitch-for-linked-data"> elevator pitches</a> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#argument1">[1]</a> for semantic technologies, as well as Lee Feigenbaum’s recent series on <em>Are We Asking the Wrong Question?</em> about semantic technologies <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#argument2">[2]</a>. Some have attempted to downplay semantic Web connotations entirely and to replace the pitch with Linked Data (capitalized). These are part of a history of various ways to try to make a business case around semantic approaches <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#argument3">[3]</a>.</p>
<p>What all of these attempts have in common is a view — an <em>angst</em>, if you will — that somehow semantic approaches have not fulfilled their promise. Marketing has failed semantic approaches. Killer apps have not appeared. The public has not embraced the semantic Web consonant with its destiny. Academics and researchers can not make the semantic argument like entrepreneurs can.</p>
<p>Such hand wringing, I believe, is misplaced on two grounds. First, if one looks to end user apps that solely distinguish themselves by the sizzle they offer, semantic technologies are clearly not essential. There are very effective mash-up and data-intensive sites such as many of the investment sites (<a href="https://www.fidelity.com/">Fidelity</a>, <a href="http://www.tdameritrade.com/welcome4.html">TDAmeritrade</a>, <a href="http://www.morningstar.com/">Morningstar</a>, among many), real estate sites (<a href="http://trulia.com/">Trulia</a>, <a href="http://www.zillow.com/">Zillow</a>, among many), community data sites (<a href="http://factfinder2.census.gov/faces/nav/jsf/pages/index.xhtml">American FactFinder</a>, <a href="http://www.censusscope.org/">CensusScope</a>, <a href="http://www.city-data.com/">City-Data.com</a>, among many), shopping sites (<a href="http://www.amazon.com/">Amazon</a>, <a href="http://www.kayak.com/">Kayak</a>, among many), data visualization sites (<a href="http://www.tableausoftware.com/">Tableau</a>, <a href="http://www.factual.com/">Factual</a>, among many), etc. , etc., that work well, are intuitive and integrate much disparate information. For the most part, these sites rely on conventional relational database backends and have little semantic grounding. Effective data-intensive sites do not require semantics <em>per se</em> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#argument4">[4]</a>.</p>
<p>Second, despite common perceptions, semantics are in fact becoming pervasive components of many common and conventional Web sites. We see natural language processing (NLP) and extraction technologies becoming common for most search services. Google and Bing sprinkle semantic results and characterizations across their standard search results. Recommendation engines and targeted ad technologies now routinely use semantic approaches. Ontologies are creeping into the commercial spaces once occupied by taxonomies and controlled vocabularies. Semantics-based suggestion systems are now the common technology used. A surprising number of smartphone apps have semantics at their core.</p>
<p>So, I agree with Lee Feigenbaum that we are asking the wrong question. But I would also add that we are not even looking in the right places when we try to understand the role and place of semantic technologies.</p>
<p>The unwise attempt to supplant the idea of semantic technologies with linked data is only furthering this confusion. Linked data is merely a means for publishing and exposing structured data. While linked data can lead to easier automatic consumption of data, it is not necessary to effective semantic approaches and is actually a burden on data publishers <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#argument5">[5]</a>. While that burden may be willingly taken by publishers because of its consumption advantages, linked data is by no means an essential precursor to semantic approaches. None of the unique advantages for semantic technologies noted below rely on or need to be preceded by linked data. In semantic speak, linked data is not the same as semantic technologies.</p>
<p>The essential thing to know about semantic technologies is that they are a conceptual and logical foundation to how information is modeled and interrelated. In these senses, semantic technologies are infrastructural and groundings, not applications <em>per se</em>. There is a mindset and worldview associated with the use of semantic technologies that is far more essential to understand than linked data techniques and is certainly more fundamental than elevator pitches or “killer apps.”</p>
<h3>Five Unique Advantages</h3>
<p>Thus, the argument for semantic technologies needs to be grounded in their foundations. It is within the five unique advantages of semantic technologies described below that the benefits to enterprises ultimately reside.</p>
<h4>#1: Modern, Back-end Data Federation</h4>
<p>The RDF data model — and its ability to represent the simplest of data up through complicated domain schema and vocabularies via the OWL ontology language — means that any existing schema or structure can be represented. Because of this expressiveness and flexibility, any extant data source or schema can be represented via RDF and its extensions. This breadth means that a common representation for any existing schema may be expressed. That expressiveness, in turn, means that any and all data representations can be described in a canonical way.</p>
<p>A shared, canonical representation of all existing schema and data types means that all of that information can now be federated and interrelated. The canonical means of federating information via the RDF data model is the foundational benefit of semantic technologies. Further, the practice of giving URIs as unique identifiers to all of the constituent items in this approach makes it perfectly suitable to today’s reality of distributed data accessible via the Web <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#argument6">[6]</a>.</p>
<h4>#2: Universal Solvent for Structure</h4>
<p>I have stated many times that I have not met a form of structured data I did not like <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#argument7">[7]</a>. Any extant data structure or format can be represented as RDF. RDF can readily express information contained within structured (conventional databases), semi-structured (Web page or XML data streams), or unstructured (documents and images) information sources. Indeed, the use of ontologies and entity instance records in RDF is a powerful basis for driving the extraction systems now common for tagging unstructured sources.</p>
<p>(One of the disservices perpetuated by an insistence on linked data is to undercut this representational flexibility of RDF. Since most linked data is merely communicating value-attribute pairs for instance data, virtually any common data format can be used as the transmittal form.)</p>
<p>The ease of representing any existing data format or structure and the ability to extract meaningful structure from unstructured sources makes RDF a “universal solvent” for any and all information. Thus, with only minor conversion or extraction penalties, all information in its extant form can be staged and related together via RDF.</p>
<h4>#3: Adaptive, Resilient Schema</h4>
<p>A singular difference between semantic technologies (as <a href="http://structureddynamics.com/">we</a> practice them) and conventional relational data systems is the use of an <a href="http://en.wikipedia.org/wiki/Open_world_assumption">open world approach</a> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#argument8">[8]</a>. The relational model is a paradigm where the information must be complete and it must be described by a schema defined in advance. The relational model assumes that the only objects and relationships that exist in the domain are those that are explicitly represented in the database. This makes the closed world of relational systems a very poor choice when attempting to combine information from multiple sources, to deal with uncertainty or incompleteness in the world, or to try to integrate internal, proprietary information with external data.</p>
<p>Semantic technologies, on the other hand, allow domains to be captured and modeled in an incremental manner. As new knowledge is gained or new integrations occur, the underlying schema can be added to and modified without affecting the information that already exists in the system. This adaptability is generally the biggest source of economic benefits to the enterprise from semantic technologies. It is also a benefit that enables experimentation and lowers risk.</p>
<h4>#4: Unmatched Productivity</h4>
<p>Having all information in a canonical form means that generic tools and applications can be designed to work against that form. That, in turn, leads to user productivity and developer productivity. New datasets, structure and relationships can be added at any time to the system, but how the tools that manipulate that information behave remains unchanged.</p>
<p>User productivity arises from only needing to learn and master a limited number of toolsets. The relationships in the constituent datasets are modeled at the schema (that is, ontology) level. Since manipulation of the information at the user interface level consists of generic paradigms regarding the selection, view or modification of the simple constructs of datasets, types and instances, adding or changing out new data does not change the interface behavior whatsoever. The same bases for manipulating information can be applied no matter the datasets, the types of things within them, or the relationships between things. The behavior of semantic technology applications is very much akin to having generic mashups.</p>
<p>Developer productivity results from leveraging generic interfaces and APIs and not bespoke ones that change every time a new dataset is added to the system. In this regard, ontology-driven applications <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#argument9">[9]</a> arising from a properly designed semantic technology framework also work on the simple constructs of datasets, types and instances. The resulting generalization enables the developer to focus on creating logical “packages” of functionality (mapping, viewing, editing, filtering, etc.) designed to operate at the construct level, and not the level of the atomic data.</p>
<h4>#5: Natural, Connected Knowledge Systems</h4>
<p>All of these factors combine to enable more and disparate information to be assembled and related to one another. That, in turn, supports the idea of capturing entire knowledge domains, which can then be expanded and shifted in direction and emphasis at will. These combinations begin to finally achieve knowledge capture and representation in its desired form.</p>
<p>Any kind of information, any relationship between information, and any perspective on that information can be captured and modeled. When done, the information remains amenable to inspection and manipulation through a set of generic tools. Rather simple and direct converters can move that canonical information to other external forms for use by existing external tools. Similarly, external information in its various forms can be readily converted to the internal canonical form.</p>
<p>These capabilities are the direct opposite to today’s information silos. From its very foundations, semantic technologies are perfectly suited to capture the natural connections and nature of relevant knowledge systems.</p>
<h3>A Summary of Advantages Greater than the Parts</h3>
<p>There are no other IT approaches available to the enterprise that can come close to matching these unique advantages. The ideal of total information integration, both public and private, with the potential for incremental changes to how that information is captured, manipulated and combined, is exciting. And, it is achievable today.</p>
<p>With semantic technologies, more can be done with less and done faster. It can be done with less risk. And, it can be implemented on a pay-as-you-benefit basis <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#argument10">[10]</a> responsive to the current economic climate.</p>
<p>But awareness of this reality is not yet widespread. This lack of awareness is the result of a couple of factors. One factor is that semantic technologies are relatively new and embody a different mindset. Enterprises are only beginning to get acquainted with these potentials. Semantic technologies require both new concepts to be learned, and old prejudices and practices to be questioned.</p>
<p>A second factor is the semantic community itself. The early idea of autonomic agents and the heavy AI emphasis of the initial semantic Web advocacy now feels dated and premature at best. Then, the community hardly improved matters with its shift in emphasis to linked data, which is merely a technique and which completely overlooks the advantages noted above.</p>
<p>However, none of this likely matters. The five unique advantages for enterprises from semantic technologies are real and demonstrable today. While my crystal ball is cloudy as to how fast these realities will become understood and widely embraced, I have no question they will be. The foundational benefits of semantic technologies are compelling.</p>
<p>I think I’ll take this to the bank while others ride the elevator.</p>
<hr align="left" size="1" width="33%"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="argument1"/>[1] This series was <a href="http://semanticweb.com/semantic-web-whats-your-pitch_b17400">called for</a> by Eric Franzon of <a href="http://semanticweb.com/">SemanticWeb.com</a>. Contributions to date have been provided by <a href="http://semanticweb.com/semantic-web-pitch-of-the-week_b17527">Sandro Hawke</a>, <a href="http://semanticweb.com/semantic-web-elevator-pitch-for-journalistic-research_b17662"> David Wood</a>, and <a href="http://semanticweb.com/semantic-web-elevator-pitch-for-enterprise-decision-makers_b17651"> Mark Montgomery</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="argument2"/>[2] See Lee Feigenbaum, 2011. “Why Semantic Web Technologies: Are We Asking the Wrong Question?,” <a href="http://thefigtrees.net/blog/"><em>TechnicaLee Speaking</em> blog</a>, August 22, 2011; see <a href="http://www.thefigtrees.net/lee/blog/2011/08/why_semantic_web_technologies.html"> http://www.thefigtrees.net/lee/blog/2011/08/why_semantic_web_technologies.html</a>, and its follow up on “The Magic Crank,” August 29, 2011; see <a href="http://www.thefigtrees.net/lee/blog/2011/08/the_magic_crank.html">http://www.thefigtrees.net/lee/blog/2011/08/the_magic_crank.html</a>. For a further perspective on this issue from Lee’s firm, Cambridge Semantics, see Sean Martin, 2010. “Taking the Tech Out of SemTech,” presentation at the <em>2010 Semantic Technology Conference</em>, June 23, 2010. See <a href="http://www.slideshare.net/LeeFeigenbaum/taking-the-tech-out-of-semtech"> http://www.slideshare.net/LeeFeigenbaum/taking-the-tech-out-of-semtech</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="argument3"/>[3] See, for example, Jeff Pollock, 2008. “A Semantic Web Business Case,” Oracle Corporation; see <a href="http://www.w3.org/2001/sw/sweo/public/BusinessCase/BusinessCase.pdf">http://www.w3.org/2001/sw/sweo/public/BusinessCase/BusinessCase.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="argument4"/>[4] Indeed, many semantics-based sites are disappointingly ugly with data and triples and URIs shoved in the user’s face rather than sizzle.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="argument5"/>[5] Linked data and its linking predicates are also all too often misused or misapplied, leading to poor quality of integrations. See, for example, M.K. Bergman and F. Giasson, 2009. “When Linked Data Rules Fail,” <a href="http://feeds.feedburner.com/../">AI3:::Adaptive Innovation</a> blog, November 16, 2009. See <a href="http://feeds.feedburner.com/../846/when-linked-data-rules-fail/">http://www.mkbergman.com/846/when-linked-data-rules-fail/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="argument6"/>[6] Greater elaboration on all of these advantages is provided in M. K. Bergman, 2009. “Advantages and Myths of RDF,” <em><a href="http://feeds.feedburner.com/../">AI3:::Adaptive Innovation</a></em> blog, April 8, 2009. See <a href="http://feeds.feedburner.com/../483/advantages-and-myths-of-rdf/">http://www.mkbergman.com/483/advantages-and-myths-of-rdf/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="argument7"/>[7] See M.K. Bergman, 2009. “‘Structs’: Naïve Data Formats and the ABox,” <em><a href="http://feeds.feedburner.com/../">AI3:::Adaptive Innovation</a></em> blog, January 22, 2009. See <a href="http://feeds.feedburner.com/../471/structs-naive-data-formats-and-the-abox/"> http://www.mkbergman.com/471/structs-naive-data-formats-and-the-abox/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="argument8"/>[8] A considerable expansion on this theme is provided in M.K. Bergman, 2009. “‘The Open World Assumption: Elephant in the Room,”<em> <a href="http://feeds.feedburner.com/../">AI3:::Adaptive Innovation</a></em> blog, December 21, 2009. See <a href="http://feeds.feedburner.com/../852/the-open-world-assumption-elephant-in-the-room/"> http://www.mkbergman.com/852/the-open-world-assumption-elephant-in-the-room/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="argument9"/>[9] For a full expansion on this topic, see M.K. Bergman, 2011. “Ontology-driven Apps Using Generic Applications,” <em><a href="http://feeds.feedburner.com/../">AI3:::Adaptive Innovation</a></em> blog, March 7, 2011. See <a href="http://feeds.feedburner.com/../948/ontology-driven-apps-using-generic-applications/"> http://www.mkbergman.com/948/ontology-driven-apps-using-generic-applications/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="argument10"/>[10] See M.K. Bergman, 2010. “‘Pay as You Benefit’: A New Enterprise IT Strategy,” <em><a href="http://feeds.feedburner.com/../">AI3:::Adaptive Innovation</a></em> blog, July 12, 2010. See <a href="http://feeds.feedburner.com/../896/pay-as-you-benefit-a-new-enterprise-it-strategy/"> http://www.mkbergman.com/896/pay-as-you-benefit-a-new-enterprise-it-strategy/</a>.</div>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/PFjG18QQu_o" width="1"/></div>
    </content>
    <updated>2011-09-12T09:11:43Z</updated>
    <category term="Linked Data"/>
    <category term="Semantic Enterprise"/>
    <category term="Semantic Web"/>
    <category term="elevator pitches"/>
    <category term="rdf"/>
    <category term="semantic technologies"/>
    <category term="semantics"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/974/making-the-argument-for-semantic-technologies/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-10-18T04:50:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.dbpedia.org/2011/09/11/dbpedia-37-released-including-15-localized-editions/</id>
    <link href="http://blog.dbpedia.org/2011/09/11/dbpedia-37-released-including-15-localized-editions/" rel="alternate" type="text/html"/>
    <title>DBpedia 3.7 released, including 15 localized Editions</title>
    <summary>Hi all,
we are happy to announce the release of DBpedia 3.7. The new release is based on Wikipedia dumps dating from late July 2011.
The new DBpedia data set describes more than 3.64 million things, of which 1.83 million are classified in a consistent ontology, including 416,000 persons, 526,000 places, 106,000 music albums, 60,000 films, 17,500 [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Hi all,</p>
<p>we are happy to announce the release of DBpedia 3.7. The new release is based on Wikipedia dumps dating from late July 2011.</p>
<p>The new DBpedia data set describes more than 3.64 million things, of which 1.83 million are classified in a consistent ontology, including 416,000 persons, 526,000 places, 106,000 music albums, 60,000 films, 17,500 video games, 169,000 organizations, 183,000 species and 5,400 diseases.</p>
<p>The DBpedia data set features labels and abstracts for 3.64 million things in up to 97 different languages; 2,724,000 links to images and 6,300,000 links to external web pages; 6,200,000 external links into other RDF datasets, and 740,000 Wikipedia categories. The dataset consists of 1 billion pieces of information (RDF triples) out of which 385 million were extracted from the English edition of Wikipedia and roughly 665 million were extracted from other language editions and links to external datasets.</p>
<p class="auto" id="p29854-34"><strong>Localized Editions </strong></p>
<p class="auto">Up till now, we extracted data from non-English Wikipedia pages only if there exists an equivalent English page, as we wanted to have a single URI to identify a resource across all 97 languages. However, since there are many pages in the non-English Wikipedia editions that do not have an equivalent English page (especially small towns in different countries, e.g. the Austrian village Endach, or legal and administrative terms that are just relevant for a single country) relying on English URIs only had the negative effect that DBpedia did not contain data for these entities and many DBpedia users have complained about this shortcoming.</p>
<p class="auto">As part of the DBpedia 3.7 release, we now provide 15 localized DBpedia editions for download that contain data from all Wikipedia pages in a specific language. These localized editions cover the following languages: ca, de, el, es, fr, ga, hr, hu, it, nl, pl, pt, ru, sl, tr. The URIs identifying entities in these i18n data sets are constructed directly from the non-English title and a language-specific URI namespaces (e.g. http://ru.dbpedia.org/resource/Berlin), so there are now 16 different URIs in DBpedia that refer to Berlin. We also extract the inter-language links from the different Wikipedia editions. Thus, whenever a inter-language links between a non-English Wikipedia page and its English equivalent exists, the resulting owl:sameAs link can be used to relate the localized DBpedia URI to the equivalent in the main (English) DBpedia edition. The localized DBpedia editions are provided for download on the DBpedia download page (<a href="http://wiki.dbpedia.org/Downloads37">http://wiki.dbpedia.org/Downloads37</a>). Note that we have not provide public SPARQL endpoints for the localized editions, nor do the localized URIs dereference. This might change in the future, as more local DBpedia chapters are set up in different countries as part of the DBpedia internationalization effort (<a href="http://dbpedia.org/Internationalization">http://dbpedia.org/Internationalization</a>).</p>
<p class="auto"><strong>Other Changes </strong></p>
<p>Beside the new localized editions, the DBpedia 3.7 release provides the following improvements and changes compared to the last release:</p>
<p><strong>1. Framework</strong></p>
<ul>
<li>Redirects are resolved in a post-processing step for increased inter-connectivity of 13% (applied for English data sets)</li>
<li>Extractor configuration using the dependency injection principle</li>
<li>Simple threaded loading of mappings in server</li>
<li>Improved international language parsing support thanks to the members of the Internationalization Committee: <a href="http://dbpedia.org/Internationalization">http://dbpedia.org/Internationalization</a></li>
</ul>
<p><strong>2. Bugfixes</strong></p>
<ul>
<li>Encode homepage URLs to conform with N-Triples spec</li>
<li>Correct reference parsing</li>
<li>Recognize MediaWiki parser functions</li>
<li>Raw infobox extraction produces more object properties again</li>
<li>skos:related for category links starting with “:” and having and anchor text</li>
<li>Restrict objects to Main namespace in MappingExtractor</li>
<li>Double rounding (e.g. a person’s height should not be 1800.00000001 cm)</li>
<li>Start position in abstract extractor</li>
<li>Server can handle template names containing a slash</li>
<li>Encoding issues in YAGO dumps</li>
</ul>
<p><strong>3. Ontology</strong></p>
<ul>
<li>320 ontology classes</li>
<li>750 object properties</li>
<li>893 datatype properties</li>
<li>owl:equivalentClass and owl:equivalentProperty mappings to <a href="http://schema.org/">http://schema.org</a></li>
</ul>
<p>Note that the ontology now is a directed-acyclic graph. Classes can have multiple superclasses, which was important for the mappings to schema.org. A taxonomy can still be constructed by ignoring all superclass but the one that is specified first in the list and is considered the most important.</p>
<p><strong>4. Mappings</strong></p>
<ul>
<li>Dynamic statistics for infobox mappings showing the overall and individual coverage of the mappings in each language: <a href="http://mappings.dbpedia.org/index.php/Mapping_Statistics">http://mappings.dbpedia.org/index.php/Mapping_Statistics</a></li>
<li>Improved DBpedia Ontology as well as improved Infobox mappings using <a href="http://mappings.dbpedia.org/">http://mappings.dbpedia.org/</a>. These improvements are largely due to collective work by the community before and during the DBpedia Mapping Creation Sprint. For English, there are 17.5 million RDF statements based on mappings (13.8 million in version 3.6) (see also <a href="http://dbpedia.org/Downloads37#ontologyinfoboxproperties">http://dbpedia.org/Downloads37#ontologyinfoboxproperties</a>).</li>
<li>ConstantProperty mappings to capture information from the template title (e.g. Infobox_Australian_Road {{TemplateMapping | mapToClass = Road | mappings = {{ConstantMapping | ontologyProperty = country | value = Australia }}}})</li>
<li>Language specification for string properties in PropertyMappings (e.g. Infobox_japan_station: {{PropertyMapping | templateProperty = name | ontologyProperty = foaf:name | language = ja}} )</li>
<li>Multiplication factor in PropertyMappings (e.g. Infobox_GB_station: {{PropertyMapping | templateProperty = usage0910 | ontologyProperty = passengersPerYear | factor = 1000000}}, because it’s always specified in millions)</li>
</ul>
<p><strong>5. RDF Links to External Data Sources</strong></p>
<ul>
<li>New RDF links pointing at resources in the following Linked Data sources: Umbel, EUnis, LinkedMDB, Geospecis</li>
<li>Updated RDF links pointing at resources in the following Linked Data sources: Freebase, WordNet, Opencyc, New York Times, Drugbank, Diseasome, Flickrwrapper, Sider, Factbook, DBLP, Eurostat, Dailymed, Revyu</li>
</ul>
<p><strong>Accessing the new DBpedia Release </strong></p>
<p>You can download the new DBpedia dataset from <a href="http://dbpedia.org/Downloads37">http://dbpedia.org/Downloads37</a>.</p>
<p>As usual, the dataset is also available as Linked Data and via the DBpedia SPARQL endpoint (<a href="http://dbpedia.org/sparql">http://dbpedia.org/sparql</a>).</p>
<p><strong>Credits </strong></p>
<p>Lots of thanks to</p>
<ul>
<li>All editors that contributed to the DBpedia ontology mappings via the Mappings Wiki.</li>
<li>Max Jakob (Freie Universität Berlin, Germany) for improving the DBpedia extraction framework and for extracting the new datasets.</li>
<li>Dimitris Kontokostas (Aristotle University of Thessaloniki, Greece) for providing language generalizations to the extraction framework.</li>
<li>Paul Kreis (Freie Universität Berlin, Germany) for administering the ontology and for delivering the mapping statistics and schema.org mappings.</li>
<li>Uli Zellbeck (Freie Universität Berlin, Germany) for providing the links to external datasets using the Silk framework.</li>
<li>The whole Internationalization Committee for expanding some DBpedia extractors to a number of languages:<br/>
<a href="http://dbpedia.org/Internationalization">http://dbpedia.org/Internationalization</a>.</li>
<li>Kingsley Idehen and Mitko Iliev (both OpenLink Software) for loading the dataset into the Virtuoso instance that serves the Linked Data view and SPARQL endpoint. OpenLink Software (<a href="http://www.openlinksw.com/">http://www.openlinksw.com/</a>) altogether for providing the server infrastructure for DBpedia.</li>
</ul>
<p>The work on the new release was financially supported by:</p>
<ul>
<li>The European Commission through the project LOD2 - Creating Knowledge out of Linked Data (<a href="http://lod2.eu/">http://lod2.eu/</a>, improvements to the extraction framework).</li>
<li>The European Commission through the project LATC - LOD Around the Clock (<a href="http://latc-project.eu/">http://latc-project.eu/</a>, creation of external RDF links).</li>
<li>Vulcan Inc. as part of its Project Halo (<a href="http://www.projecthalo.com/">http://www.projecthalo.com/</a>).</li>
</ul>
<p>More information about DBpedia is found at <a href="http://dbpedia.org/About">http://dbpedia.org/About</a></p>
<p>Have fun with the new data set!</p>
<p>Cheers,</p>
<p>Chris Bizer</p></div>
    </content>
    <updated>2011-09-11T09:14:36Z</updated>
    <category term="Inter-linkage"/>
    <category term="Dataset releases"/>
    <author>
      <name>ChrisBizer</name>
    </author>
    <source>
      <id>http://blog.dbpedia.org</id>
      <link href="http://blog.dbpedia.org" rel="alternate" type="text/html"/>
      <link href="http://blog.dbpedia.org/feed/rss2" rel="self" type="application/rss+xml"/>
      <subtitle>Querying Wikipedia like a Database.</subtitle>
      <title>DBpedia</title>
      <updated>2012-03-22T12:18:41Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://hyperdata.org/blog/2011/08/</id>
    <link href="http://hyperdata.org/blog/2011/08/" rel="alternate" type="text/html"/>
    <title>links for 2011-08-29</title>
    <summary>Bootstrap, from Twitter (tags: html css javascript templates)</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><ul class="delicious">
<li>
<div class="delicious-link"><a href="http://twitter.github.com/bootstrap/">Bootstrap, from Twitter</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/html">html</a> <a href="http://www.delicious.com/danja/css">css</a> <a href="http://www.delicious.com/danja/javascript">javascript</a> <a href="http://www.delicious.com/danja/templates">templates</a>)</div>
</li>
</ul></div>
    </content>
    <updated>2011-08-30T00:11:00Z</updated>
    <author>
      <name>danja</name>
    </author>
    <source>
      <id>http://hyperdata.org/blog</id>
      <link href="http://hyperdata.org/blog" rel="alternate" type="text/html"/>
      <link href="http://hyperdata.org/blog/feed/rdf/" rel="self" type="application/rdf+xml"/>
      <subtitle>Danny's linkiness</subtitle>
      <title>Hyperdata Blog</title>
      <updated>2011-09-02T07:40:46Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>urn:md5:19d320f950e8ab9486ca6f849a03ebd0</id>
    <link href="http://blog.dbtune.org/post/2009/08/14/4Store-stuff" rel="alternate" type="text/html"/>
    <title>4Store stuff</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Update:</strong> The repository below is not maintained anymore, as
official packages have been pushed into Debian. They are not yet available for
Ubuntu 11.04 though. In order install 4store on Natty you'd have to install the
following packages from the <a href="http://packages.ubuntu.com/oneiric/">Oneiric repository</a>, in order:</p>
<ul>
<li>libyajl1</li>
<li>libgmp10</li>
<li>libraptor2</li>
<li>librasqal3</li>
<li>lib4store0</li>
<li>4store</li>
</ul>
<p>And you should have a running 4store (1.1.3).</p>
<p><strong>Old post, for reference:</strong> I've been playing a lot with
Garlik's <a href="http://4store.org">4store</a> recently, and I have been
building a few things around it. I just finished building packages for <a href="http://ubuntu.com/">Ubuntu Jaunty</a>, which you can get by adding the
following lines in your <code>/etc/apt/sources.list</code>:</p>
<pre>deb http://moustaki.org/apt jaunty main
deb-src http://moustaki.org/apt jaunty main
</pre>
<p>And then, an <code>apt-get update &amp;&amp; apt-get install 4store</code>
should do the trick. The packages are available for i386 and amd64. It is also
one of my first packages, so feedback is welcomed (I may have gotten it
completely wrong). After being installed, you can <a href="http://4store.org/trac/wiki/CreateDatabase">create a database</a> and <a href="http://4store.org/trac/wiki/SparqlServer">start a SPARQL server</a>.</p>
<p>I've also been writing two client libraries for 4store, all available on
<a href="http://github.com/moustaki">Github</a>:</p>
<ul>
<li><a href="http://github.com/moustaki/4store-php/tree/master">4store-php</a>,
a PHP library to interact with 4store over HTTP (so not exactly similar to
<a href="http://apassant.net/blog/2009/07/27/simple-php-library-4store">Alexandre's PHP
library</a>, which interacts with 4store through the command-line tools);</li>
<li><a href="http://github.com/moustaki/4store-ruby/tree">4store-ruby</a>, a
Ruby library to interact with 4store over HTTP or HTTPS.</li>
</ul></div>
    </summary>
    <updated>2011-08-19T09:29:00Z</updated>
    <category term="4store"/>
    <category term="code"/>
    <author>
      <name>Yves</name>
    </author>
    <source>
      <id>http://blog.dbtune.org/</id>
      <link href="http://blog.dbtune.org/" rel="alternate" type="text/html"/>
      <link href="http://blog.dbtune.org:82/feed/rss2" rel="self" type="application/rss+xml"/>
      <subtitle>Creating a music-related web of data. These are my views and not those of the BBC.</subtitle>
      <title>DBTune blog</title>
      <updated>2012-05-16T13:07:17Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://tomheath.com/blog/?p=189</id>
    <link href="http://tomheath.com/blog/2011/08/back-online-after-the-spam-fest/" rel="alternate" type="text/html"/>
    <title>Back Online after the Spam-fest</title>
    <summary>Just a quick post now this blog is back online after being badly compromised by spammers. I took everything down and let the links 404 for a while in the hope that it would encourage search engines to clear out their indexes, and the search engine referrals seems to be getting cleaner now, which is [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Just a quick post now this blog is back online after being badly compromised by spammers. I took everything down and let the links 404 for a while in the hope that it would encourage search engines to clear out their indexes, and the search engine referrals seems to be getting cleaner now, which is a relief. May this be the last of it.</p></div>
    </content>
    <updated>2011-08-15T10:01:48Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Tom Heath</name>
    </author>
    <source>
      <id>http://tomheath.com/blog</id>
      <link href="http://tomheath.com/blog/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://tomheath.com/blog" rel="alternate" type="text/html"/>
      <title>Tom Heath's Displacement Activities</title>
      <updated>2012-05-16T14:50:13Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=969</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/QyD86pwcRgg/" rel="alternate" type="text/html"/>
    <title>Of Flagpoles and Fishes</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Of Flagpoles and Fishes&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Source&amp;rft.subject=Software and Venture Capital&amp;rft.subject=Structured Dynamics&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-08-15&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/969/of-flagpoles-and-fishes/&amp;rft.language=English"/>
The New Paradigm of ‘Substantive Marketing’ for Innovative IT This decade has clearly marked a sea change in the move of enterprise software from proprietary to open source, as I have recently discussed [1]. It is instructive that only a mere six years ago I was in heated fights with my then Board about open [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Of Flagpoles and Fishes&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Open Source&amp;rft.subject=Software and Venture Capital&amp;rft.subject=Structured Dynamics&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-08-15&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/969/of-flagpoles-and-fishes/&amp;rft.language=English"/>
<h2><a><img align="left" alt="World's Tallest Flagpole; see ref [9]" hspace="5" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/2011Posts/110815_tallest_flagpole.jpg" title="World's Tallest Flagpole; see ref [9]" vspace="5"/></a>The New Paradigm of ‘Substantive Marketing’ for Innovative IT</h2>
<p>This decade has clearly marked a sea change in the move of enterprise         software from proprietary to open source, as I have recently <a href="http://feeds.feedburner.com/../940/declining-it-innovation-in-the-enterprise/"> discussed</a> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#flagpole1">[1]</a>. It is instructive that only a mere six years ago I         was in heated fights with my then Board about open source; today, that         seems so quaint and dated.</p>
<p>Also during this period many have noted how open source has changed the capital required to begin a new software startup <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#flagpole2">[2]</a>. Open         source both provides the tooling and the components for cobbling         together specialty apps and extensions. Six and seven and even eight         figure startup costs common just a decade ago have now dropped to four         or five figures. When we see the explosion of hundreds of thousands of         smartphone apps we are seeing the glowing residue of these additional         sea changes. Dropping startup costs by one to three orders of magnitude         is truly democratizing innovation.</p>
<p>But something else has been going on that is changing the face of         enterprise software (besides consolidation, another factor I also         recently <a href="http://feeds.feedburner.com/../940/declining-it-innovation-in-the-enterprise/"> commented on</a>). And that factor is “marketing”. Much less commentary         is made about this change, but it, too, is greatly lowering costs and         fundamentally changing market penetration strategies. That topic — and         my personal experience with it — is the focus of this article.</p>
<h3>The Obsolete Recent Past</h3>
<p>Besides the few remaining big providers of enterprise software — like         IBM, Oracle, HP, SAP — most vendors have totally remade their sales         practices of just a few years ago. Large sales forces with big         commissions and a year to two year sales cycles can no longer be         justified when software license fees and the percentage maintenance         annuities that flow from them are dropping rapidly. Today’s mantras are         doing more with less and doing it faster, hardly consistent with the         traditional enterprise software model. Sure, big enterprises,         especially big government and big business, have large sunk costs in         legacy systems that will continue to be milked by existing vendors. But         the flow is constricting with longer-term trends clear to see. The old         enterprise software model is obsolete.</p>
<p>Even if it were not dying, it is hard to square huge investments in         sales and marketing when product development has become inexpensive and         agile. The proliferation of three-letter marketing acronyms for         branding “new” product areas and standard formulas for product hype of         just a few years ago also feels old and dated. Cozy relationships with         conventional trade press pundits and market analysts seem to be         diminishing in importance, possibly because the authoritativeness of         their influence is also diminishing. It is harder to justify market         firm subscription costs when priority budget items are being cut and         new information outlets have emerged.</p>
<p>In response to this, many developers have forsaken the enterprise         market for the consumer one. Indeed enterprises themselves are looking         more and more to the consumer sector and commodity apps for innovation         and answers. But, still, problems unique to enterprises remain and how         to effectively reach them in this brave new world is today’s marketing         problem for enterprise software vendors.</p>
<p>Most entities today, when opining about these challenges, tend to         emphasize the need for “laser focus” and “rifle-shot” targeting of         prospects. The advice takes the form of: 1) emphasize well-defined         verticals; 2) know your market well; and 3) target and go after your         likely prospects. Prospect data mining and targeted ad analysis are the         proferred elixirs.</p>
<p>But, there is little evidence such refined methods for prospect         identification and targeting are really working. Like politicians doing         focus groups and opinion polling to capture the desired “message” of         their potential electorates, these are all still “push” models of         marketing. Yet we are swamped with pushed messages and marketing         everywhere we turn. The model is failing.</p>
<p>Besides message overload, there are two issues with laser targeting.         First, despite all that we try to know about ready buyers (for         enterprise software), we really don’t know if any particular individual is truly needful,         in a position to buy, has the authority to buy, or is the right         advocate to make the internal sell. Second, though the idea of “laser”         carries with it the image of focus and not flailing, it is in fact         expensive to identify the targets and send a focused message their way.         Because of these issues, decay rates for laser prospects throughout         conventional sales pipelines continue to rise.</p>
<h3>A New Marketing Paradigm<img align="right" alt="New Paradigm Roadsign" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110815_new_paradigm_sign.jpg" style="width: 225px; height: 207px;" title="New Paradigm Roadsign"/></h3>
<p>There has always been the phenomenon of the “<a href="http://www.youtube.com/watch?v=InENM6fwIwE">fish jumping into the         boat</a>“; that is, the unanticipated inbound inquiry from a previously         unknown prospect leading to a surprisingly swift sale. But we have seen         this phenomenon increase markedly in recent years. <a href="http://structureddynamics.com/">Structured Dynamics</a>‘ current         customer base — including recurring customers — comes almost         exclusively from this source. As we have noted this trend in comparison         with more targeted outreach, we have spent much time trying to         understand why it is occurring and how we can leverage what Peter         Drucker called the “unexpected success” <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#flagpole3">[3]</a>.</p>
<p>What we are seeing, I believe, is a shift from sales to marketing, and         within marketing from direct or outbound marketing to a new paradigm of         marketing. Others have likened this to <a href="http://en.wikipedia.org/wiki/Inbound_marketing">inbound marketing</a> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#flagpole4">[4]</a> or <a href="http://en.wikipedia.org/wiki/Content_marketing">content         marketing</a> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#flagpole5">[5]</a> or <a href="http://en.wikipedia.org/wiki/Permission_marketing">permission         marketing</a> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#flagpole6">[6]</a>. What we are seeing at Structured Dynamics bears many         resemblances to parts of what is claimed for these other approaches,         but not all. And, it is also true that what we are seeing may pertain         mostly to innovative IT for emerging enterprise markets, and not a         generalized paradigm suitable to other products or markets.</p>
<p>For lack of a better term, what we are seeing we can term “substantive         marketing”. By this we mean offering valuable content and         solutions-oriented systems for free and without restriction. This         shares aspects with content marketing. Then, in keeping with the trend         for buyers doing their own research and analysis to fulfill their own         needs, similar to the premises of inbound or permission marketing,         potential consumers can make their own judgments as to relevance and         value of our offerings.</p>
<p>Sometimes, of course, some prospects find our approaches and solutions         lacking. Sometimes, they may grab what we have offered for free and use         them on their own without compensation to us. But where the match is         right — and we need to be honest with both ourselves and the customer         when it is <em><strong>not</strong></em> — we can better         spend the customer’s limited time and resources to tailor our generic         solutions to their specific needs. In doing so, we offer higher value         (tailored services) while learning better about another spectrum of         consumer need that can virtuously enhance our substantive offerings for         the next prospect.</p>
<p>So, let’s decompose these components further to see what they can tell         us about this new practice of substantive marketing and how to use it         as an engine for moving forward.</p>
<p><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110815_substantive_marketing.png"><img alt="Substantive Marketing" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110815_substantive_marketing.png" style="border: 0px solid; width: 600px; height: 524px;" title="Substantive Marketing"/></a></p>
<h4>The Virtuous Cycle Begins with Substantive Solutions</h4>
<p>The premise of substantive marketing is to offer square-deal value to         the marketplace in the form of solutions-based content. Like content         marketing that offers “the creation or sharing of content for the         purpose of engaging current and potential consumer bases” <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#flagpole5">[5]</a>,         substantive marketing goes even further. The whole basis and premise of         the approach is to provide substantive content, in one of more of these         areas, preferably all:</p>
<ul>
<li>Knowledge — this substantive area includes papers, commentary,         survey results or listings of tools and references useful to the target         market</li>
<li>Analysis — this content area includes unique analysis of market         trends, data, technologies or reviews that pertain to the target market</li>
<li>Code — this area relates to the provision of open source code and         tools, preferably under licenses that allow users to use the software         without restriction (two examples are the <a href="http://en.wikipedia.org/wiki/Apache_License">Apache 2 license</a> and         the <a href="http://en.wikipedia.org/wiki/MIT_License">MIT license</a>)</li>
<li>Documentation — a critical substantive area is the documentation         in how to install, use, modify or customize these tools, including a         prejudice to <a href="http://en.wikipedia.org/wiki/API">APIs</a> and         tutorial information</li>
<li>Methodologies, workflows and best practices — it is important to         also discuss how to properly operate and utilize these tools and         information. Taking care to document lessons learned and best practices         also helps the user community avoid common mistakes and to speed         adoption and utility, and</li>
<li>Demos — this area involves setting up (and sharing code and         procedures for same) demos that show how the code and its methods         actually work. Demos also become first use cases to aid the new user in         learning and setting up the code bases.</li>
</ul>
<p>Further, this substantive content is offered without strings,         restrictions or customer fill-in forms. The content is not a come on or         a teaser. We are not trying to gather leads or prospect names, because         we have no intent to dun them with emails or follow-ups.</p>
<p>This substantive content is as complete as can be to enable new users         to adopt the information and tools in their current state without         further assistance. (In some cases, the information also educates the         marketplace in order to prepare future customers for adoption.) Most         importantly, this substantive content is offered for free, either open source         (for code) or <a href="http://en.wikipedia.org/wiki/Creative_Commons_licenses">creative         commons</a> for documentation and other content. In return, it is fair         to request — and we do — attribution when this material is used.</p>
<p>We have previously termed this complete panoply of substantive content         a <em><a href="http://feeds.feedburner.com/../882/listening-to-the-enterprise-total-open-solutions-part-1/"> total open solution</a></em><a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#flagpole7"> [7]</a>.         Some might find the provision of such robust information crazy: How can         we give away the store of our proprietary knowledge and systems? But we         find this kind of thinking old school. In an open source world where so         much information is now available online, with a bit of effort         customers can find this information anyway. Rather, our mindset is that         customers do not want to pay again for what has already been done, but         are willing to pay for what can be done with that knowledge for their         own specific problems. Offering the complete storehouse of our         knowledge in fact signals our interest in only charging the customer         for new answers, new value or new formulations. The customers we like         to work with feel they are getting an honest, square deal.</p>
<h4>Flagpole Venues Help Increase Awareness</h4>
<p>Consider your substantive content to be your flag, a unique banner for         conveying and packaging your specific brand. It is thus important to         find appropriate flagpoles — in the virtual territories that your         customers visit — for raising this content high for them to see. Since         the role of these flagpoles is to create awareness in potential         prospects — who you do not likely know individually or even by group         in advance — it makes sense to raise your offerings up on many         flagpoles and on the highest flagpoles. Visibility is the object of the         approach.</p>
<p>This approach is distinctly not leafletting or cramming links or emails         into as many spaces as possible. The idea of substantive marketing is         to fly valuable content high enough that desirous potential customers         can discover and then inspect the information on their own, and only if         they so choose. In this regard, substantive marketing resembles         permission marketing <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#flagpole6">[6]</a>.</p>
<p>Being visible helps ensure that the needful, questing prospect that you         would never have been able to target on your own is able to see and be         aware of your offerings. And, since they are seeking information and         answers, your collateral needs to be of a similar nature. Solutions and         substance are what they are seeking; what you have run up the flagpole         should respond to that.</p>
<p>The mindset here is to respect your prospective customers and to allow         them to chose to receive and inspect your offerings, but only if they         so choose. If flown in the right venues with the right visibility,         customers will see your flags and inspect them if they meet their         requirements.</p>
<p>Some of the venues at which you can raise your flags include:</p>
<ul>
<li>Blogs — this venue is especially helpful, since you have complete         control over content, message, voice and packaging</li>
<li>Social networks — the value of social networks is now accepted,         and should be a core component of any visibility strategy. However, it         is also important to make sure that your contributions are driven by         substance and value and do not become part of the cacophonous         background noise</li>
<li>Vertical media — there are always existing outlets well-read and         -respected by your customer propects. Establishing relationships and         value with these third-party outlets can extend your reach</li>
<li>Web sites — this venue includes your standard Web sites, of         course. But, you should also consider setting up specific         project-related sites or sites dedicated to documentation (c.f., our         <a href="http://techwiki.openstructs.org/index.php/Main_Page">TechWiki</a> site         of 300+ technical articles) or to methodologies (the excellent           <a href="http://mike2.openmethodology.org/">MIKE2.0</a> site is one           great example) or to other ways by which particular content (such as           tools with the <a href="http://feeds.feedburner.com/../sweet-tools/">Sweet           Tools</a> site) can raise another flag</li>
<li>User forums — user discussion groups and forums also become their         own attractants for like-interested prospects, and</li>
<li>Conferences and tradeshows — while potentially valuable, presence         at conferences and tradeshows must be carefully evaluated. Since         participation and opportunity costs are high, the venues should be         clearly relevant to your market space with likely decision makers in         attendance.</li>
</ul>
<p>The observant reader will have already concluded that each of these         venues develops slowly, and therefore raising visibility is generally a         slow-and-steady game that requires patience. Start-up vendors backed by         venture firms or those looking for quick visibility and cashout will         not find this approach suitable. On the other hand, customer prospects         looking for answers and self-sustaining solutions are not much         interested in flash in the pan vendors, either.</p>
<h4>A Model Responsive to the Changing Nature of Customer Prospects</h4>
<p>The real drivers for this changing paradigm come from customer         prospects. Sophisticated buyers of enterprise IT and instrumental         change agents within organizations share most if not all of these         characteristics:</p>
<ul>
<li>They are inundated with marketing messages and jaded about hype and         “pushed” messages</li>
<li>They are generally knowledgeable about their needs and problem         spaces and about approximate technologies. They are eager and desirous         of learning independently and know that their recommendations affect         their personal reputations and standing within their enterprises</li>
<li>With the many volatile external and internal changes, including         staff reductions and fluid assignments, leadership for new technology         adoption can come from many different and unknown corners of the         organization; it is extremely difficult to identify and target         prospects</li>
<li>The economic and competitive environment places a premium on         affordability and low-risk evaluations of new technologies</li>
<li>Lock-ins of any kind — be it to specific vendors or technologies         — are understood as inherently risky. This understanding is raising         the importance of open and standards-based approaches</li>
<li>Being the subject of a pushy sales effort is distasteful and a         negative to an eventual sale. Education and learning, however, is         respected</li>
<li>Because of all that is at stake, honesty with no bullshit is highly         appreciated. If you as a vendor do not offer an appropriate solution or         have fulfillment weaknesses, tell the prospect so. Further, tell them         who can supply the solution. One never knows when and where the next         problem may arise, and providing trustworthy advice can lead to later         engagements.</li>
</ul>
<p>More often than not we find our customers to have already installed and         used our existing substantive materials for some time before they         approach us about further work. They appreciate the tutorial         information and have taught themselves much in advance. By the time we         engage, both parties are able to cost-effectively focus on what is         truly missing and needed and to deliver those answers in a quick way.         Re-engagements tend to occur when a next set of gaps or challenges         arise.</p>
<p>Though it may sound trite or even unbelievable to those who have not         yet experienced such a relationship, the square deal value offered by         substantive marketing can really lead to true partnerships and trust         between vendor and customer. We experience it daily with our customers,         and <em>vice versa</em>. We also think         this is the adaptive approach that our new environment demands.</p>
<h4>The Free Path to Open Source and Solutions</h4>
<p>Once prospects learn of our substantive offerings, many may decide         independently that what we have is not suitable. Others may simply         download and use the information on their own, for which we often never         know let alone receive revenue. We are completely fine with this, as         shown for three different cases.</p>
<p>First, some of these prospects need no more than what we already have.         This increases our user base, increases our visibility and often         results in contributions to our forums and documentation.</p>
<p>Then, some of these prospects come to learn they need or want more than         what our current offerings provide, leading to two possible forks. In one         fork, the second case, they may have sufficient skills internally or         with other suppliers to extend the system on their own. Some of this         flows back to an improved code base or improved installation or         documentation bases.</p>
<p>In the other fork, the third case, they may decide to engage us in         tailoring a solution for them. That case is the only one of the three that         leads to a direct revenue path.</p>
<p>In all three cases we win, and the customer wins. Maybe enterprise         software vendors of decades past rue this reality of lower margins and         shared benefits; we agree that the absolute profit potential of         substantive marketing is much less. But we gladly accept the more         enjoyable work and steady revenue relationships resulting from these         changes. We are not engaged in some pollyann-ish altruism here, but in         a steely-eyed honest brokering that best serves our own self-interest         (and fairly that of the customer, as well).</p>
<h4>A Square Deal Baseline for Tailored Services</h4>
<p>Great IT product does not come from idle musings or dreamed up         functionality. It comes solely and directly from solving customer         problems. Only via customers can software be refined and made more         broadly usable.</p>
<p>A slipstream of those who have previously become aware and tested our         offerings will choose to engage our services. This generally takes the         form of an inbound call, where the prospect not only qualifies itself,         but also establishes the terms and conditions for the sale. They have         chosen to select us; they are fish that have jumped into the boat.</p>
<p>To again quote Peter Drucker, “. . . the aim of marketing is to make         selling superfluous. The aim of marketing is to know and understand the         customer so well that the product or service fits him and sells itself.         Ideally, marketing should result in a customer who is ready to buy. All         that should be needed then is to make the product or service available         . . .” <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#flagpole8">[8]</a>. This is precisely what I meant earlier about the shift in         emphasis from sales to marketing.</p>
<p>Even at this point there may be mismatches in needs and our skills and         availabilities. If such is the case, we do not hesitate to say so, and         attempt to point the prospect in another direction (from which we also         gain invaluable market knowledge). If there is indeed a match, we then         proceed to try to find common ground on schedule and budget.</p>
<p>Paradoxically, this square deal and honesty about the readiness and         weaknesses of our offerings often leads to forgiveness from our         customers. For example, for some time we have lacked automated         installation scripts that would make it easier for prospects to install         our <a href="http://openstructs.org/open-semantic-framework">open         semantic framework</a>. But, because of compensating value in other         areas, such gaps can be overlooked and tackled later on (indeed, as a         current customer is now funding). By not pretending to be everything to         everyone, we can offer what we do have without embarrassment and get on         with the job of solving problems.</p>
<p>For larger potential engagements, we typically suggest a fixed price         initial effort to develop an implementation plan. The interviews and         research to support this typical 4- to 6-weeks effort (generally in the $5         K to $10 K range, depending) then result in a detailed fulfillment         proposal, with firm tasks, budget and schedule, specific to that customer’s requirements. Just as we respect our         prospects’ time and budget, we expect the same and do not conduct these         detailed plans without compensation. With respect to fulfillment         contracts, we cap contract amount and limit milestone payments to         pre-set percentages or time expended, whichever is lower.</p>
<p>This approach ensures we understand the customer’s needs and have         budgeted and tasked accordingly. Capped contracts also put the onus on         us the contractor to understand our own effort and tasking structures         and realities, which leads to better future estimating. For the         customer, this approach caps risk and potential exposure, and ensures         milestones are being met no matter the time expenditures by us, the         contractor. This approach extends our square-deal basis to also embrace         risks and payments.</p>
<h4>New (and Open Source) Developments Fuel the Substance Pipeline</h4>
<p>Thus, when customers engage us, they spend almost solely on new functionality         specifically tailored to their needs. In doing so, we suggest they         agree to release the new developments they fund as open source. We         argue — and customers predominantly agree — that they are already         benefitting from lower overall costs because other customers have         funded sharable, open source before them. We point out that the new         customers that follow them will also be independently creating new         functionality, to which they will also later benefit.</p>
<p>(This argument does not apply to specific customer data or ontologies,         which are naturally proprietary to the customer. Also, if the customer         wants to retain intellectual ownership of extensions, we charge higher         development fees.)</p>
<p>Once these new developments are completed, they are fed back into a new         baseline of valuable content and code. From this new baseline the cycle         of substantive marketing can be augmented anew and perpetuated.</p>
<h3>Three Guidelines to Leverage Substantive Marketing</h3>
<p>All of these points can really be boiled down to three guidelines for         how to make substantive marketing effective:</p>
<ul>
<li>First, whatever your domain or market, provide useful and         substantive content. The content you offer is indeed your marketing         collateral. Prospective customers can gauge from it directly whether it         meets their needs, appears sound and workable, and has value. If you         have little of substance to offer, this paradigm is not for you</li>
<li>Second, plant many flagpoles and raise your flags high in         territories your market prospects are likely to visit. This is a         process that requires thoughtfulness and patience. Thoughtfulness,         because that is how you determine where to plant your flags. If you         yourself are a consumer of what you offer, it is easier to find those         venues. And patience, because it takes time to stack valuable content         upon valuable content in order to raise visibility</li>
<li>And, third, be honest and respectful. Help your prospect work         within available budget to achieve the most possible at lowest risk.         And help them find others, if need be, who might be better able than         you to truly solve their problems.</li>
</ul>
<p>What we are finding — as we continue to refine our understanding of         this new paradigm — is that through substantive marketing the fish are         finding us and they sometimes jump into the boat. We like our         enterprise customers to pre-qualify themselves and already be “sold”         once they knock on the door. One never knows when that phone might ring         or the email might come in. But when it does, it often results in a         collaborative customer as a partner who is a joy to work with to solve         exciting new problems.</p>
<hr size="1" style="margin: 15px 0px;"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="flagpole1"/>[1] M.K. Bergman, 2011. “Declining IT Innovation in the Enterprise,” in<em> AI3:::Adaptive Innovation </em> blog, January 17, 2011. See <a href="http://feeds.feedburner.com/../940/declining-it-innovation-in-the-enterprise/"> http://www.mkbergman.com/940/declining-it-innovation-in-the-enterprise/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="flagpole2"/>[2] Paul Graham has been the most prominent observer of this scene; see         P. Graham, 2008. “Why There Aren’t Any More Googles,” April 2008 (see         <a href="http://www.paulgraham.com/googles.html">http://www.paulgraham.com/googles.html</a>)         and subsequent articles.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="flagpole3"/>[3] See esp. Peter F. Drucker, 1985. <em>Innovation and Entrepreneurialship: Practice and         Principals</em>, Harper &amp; Row, New York, NY, 277 pp.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="flagpole4"/>[4] <a href="http://en.wikipedia.org/wiki/Inbound_marketing">Inbound         marketing</a> is a marketing strategy that focuses on getting found by         customers. According to <a href="http://en.wikipedia.org/wiki/David_Meerman_Scott" title="David Meerman Scott">David Meerman Scott</a>, inbound marketers         “earn their way in” (via publishing helpful information on a blog etc.)         in contrast to outbound marketing where they used to have to “buy, beg,         or bug their way in” (via paid advertisements, issuing press releases         in the hope they get picked up by the trade press, or paying         commissioned sales people, respectively). <a href="http://en.wikipedia.org/wiki/Brian_Halligan" title="Brian Halligan">Brian Halligan</a>, cofounder and CEO of <a href="http://en.wikipedia.org/wiki/HubSpot" title="HubSpot">HubSpot</a>,         claims he first coined the term of inbound marketing.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="flagpole5"/>[5] <a href="http://en.wikipedia.org/wiki/Content_marketing" target="_blank">Content marketing</a> is an umbrella term encompassing         all marketing formats that involve the creation or sharing of content         for the purpose of engaging current and potential consumer bases. In         contrast to traditional marketing methods that aim to increase sales or         awareness through interruption techniques, content marketing subscribes         to the notion that delivering high-quality, relevant and valuable         information to prospects and customers drives profitable consumer         action. See also Holger Shulze, 2011. <em>B2B Content Marketing Trends</em> slideshow,         see <a href="http://www.slideshare.net/hschulze/b2b-content-marketing-report">http://www.slideshare.net/hschulze/b2b-content-marketing-report</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="flagpole6"/>[6] <a href="http://en.wikipedia.org/wiki/Seth_Godin">Seth Godin</a> coined the term <a href="http://en.wikipedia.org/wiki/Permission_marketing">permission         marketing</a> wherein marketers obtain permission before advancing to         the next step in the purchasing process. It is mostly used by online         marketers, notably email marketers and search marketers, as well as         certain direct marketers who send a catalog in response to a request.         Godin contrasts this approach to traditional “interruption marketing”         where messages are sent without prior permission.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="flagpole7"/>[7] See the three-part series, M.K. Bergman, 2010. “Listening to the         Enterprise: Total Open Solutions,” “<a href="http://feeds.feedburner.com/../882/listening-to-the-enterprise-total-open-solutions-part-1/">Part         1</a>,” “<a href="http://feeds.feedburner.com/../883/listening-to-the-enterprise-total-open-solutions-part-2/">Part         2</a>” and “<a href="http://feeds.feedburner.com/../884/listening-to-the-enterprise-total-open-solutions-part-3/">Part         3</a>,”<em> AI3:::Adaptive         Information</em> blog, May 12 – 31, 2010.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="flagpole8"/>[8] Peter F. Drucker, 1974. <em>Management: Tasks, Responsibilities,         Practices</em>. New York, NY: Harper &amp; Row. pp. 864. ISBN         0-06-011092-9.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="flagpole9"/>[9] The intro photo is of the world’s tallest flagpole (at 165 m), in         Dushanbe, Tajikistan. The photo is courtesy of <em>CentralAsiaOnline.com.</em></div>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/QyD86pwcRgg" width="1"/></div>
    </content>
    <updated>2011-08-15T08:25:48Z</updated>
    <category term="Open Source"/>
    <category term="Software and Venture Capital"/>
    <category term="Structured Dynamics"/>
    <category term="enterprise software"/>
    <category term="Inbound marketing"/>
    <category term="market penetration strategies"/>
    <category term="Marketing"/>
    <category term="new paradigm"/>
    <category term="permission marketing"/>
    <category term="sales practices"/>
    <category term="software license fees"/>
    <category term="substantive marketing"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/969/of-flagpoles-and-fishes/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-10-18T02:50:34Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=968</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/T_ezCQ16aBo/" rel="alternate" type="text/html"/>
    <title>A New Best Friend: Gephi for Large-scale Networks</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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 New Best Friend: Gephi for Large-scale Networks&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Ontologies&amp;rft.subject=Open Source&amp;rft.subject=Semantic Web Tools&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-08-08&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/968/a-new-best-friend-gephi-for-large-scale-networks/&amp;rft.language=English"/>
Visualization + Analysis Pushes Aside Cytoscape Though I never intended it, some posts of mine from a few years back dealing with 26 tools for large-scale graph visualization have been some of the most popular on this site. Indeed, my recommendation for Cytoscape for viewing large-scale graphs ranks within the top 5 posts all time [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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 New Best Friend: Gephi for Large-scale Networks&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Ontologies&amp;rft.subject=Open Source&amp;rft.subject=Semantic Web Tools&amp;rft.subject=UMBEL&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-08-08&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/968/a-new-best-friend-gephi-for-large-scale-networks/&amp;rft.language=English"/>
<h2><a><img align="left" alt="Geshi Network" hspace="5" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110808_geshi.png" style="border: 0px solid; width: 250px; height: 246px; float: left; margin-right: 10px;" title="Geshi Network" vspace="5"/></a>Visualization + Analysis Pushes Aside Cytoscape</h2>
<p>Though I never intended it, some posts of mine from a few years back         dealing with <a href="http://feeds.feedburner.com/../414/large-scale-rdf-graph-visualization-tools/"> 26 tools for large-scale graph visualization</a> have been some of the         most popular on this site. Indeed, my <a href="http://feeds.feedburner.com/../415/cytoscape-hands-down-winner-for-large-scale-graph-visualization/"> recommendation for Cytoscape</a> for viewing large-scale graphs ranks         within the top 5 posts all time on this site.</p>
<p>When that analysis was done in January 2008 <a href="http://structureddynamics.com/">my company</a> was in the midst         of needing to process the large <a href="http://www.umbel.org/">UMBEL</a> vocabulary, which now consists of         28,000 concepts. Like anything else, need drives research and demand,         and after reviewing <a href="http://feeds.feedburner.com/../414/large-scale-rdf-graph-visualization-tools/"> many graphing programs</a>, we <a href="http://feeds.feedburner.com/../415/cytoscape-hands-down-winner-for-large-scale-graph-visualization/"> chose Cytoscape</a>, then provided some ongoing guidelines in its use         for semantic Web purposes. We have continued to use it productively in         the intervening years.</p>
<p>Like for any tool, one reviews and picks the best at the time of need.         Most recently, however, with growing customer usage of large ontologies and the development of our         own <a href="http://feeds.feedburner.com/../959/intro-to-structontology/">structOntology</a> editing and managing framework, we have begun to butt up against the         limitations of large-scale graph and network analysis. With this post,         we announce our new favorite tool for semantic Web network and graph         analysis — <a href="http://gephi.org/">Gephi</a> — and explain its         use and showcase a current example.</p>
<h3>The Cytoscape Baseline and Limitations</h3>
<p>Three and one-half years ago when I first wrote about <a href="http://feeds.feedburner.com/../415/cytoscape-hands-down-winner-for-large-scale-graph-visualization/"> Cytoscape</a>, it was at version 2.5. Today, it is at version 2.8, and         many aspects have seen improvement (including its Web site). However,         in other respects, development has slowed. For example, version         3.x was first discussed more than three years ago; it is still not         available today.</p>
<p>Though the system is open source, Cytoscape has also largely been         developed with external grant funds. Like other similarly funded         projects, once and when grant funds slow, development slows as well.         While there has clearly been an active community behind Cytoscape, it         is beginning to feel tired and a bit long in the tooth. From a semantic         Web standpoint, some of the limitations of the current Cytoscape         include:</p>
<ul>
<li>Difficult conversion of existing ontologies — Cytoscape requires         creating a CSV input; there was an earlier <a href="http://bioinformatics.org/rdfscape/">RDFscape</a> plug-in that held         great promise to bridge the software into the RDF and semantic Web         sphere, but it has not remained active</li>
<li>Network analysis — one of the early and valuable generalized         network analysis plug-ins was <a href="http://med.bioinf.mpi-inf.mpg.de/netanalyzer/">NetworkAnalyzer</a>;         however, that component has not seen active development in three years,         and dynamic new generalized modules suitable for social network         analysis (<a href="http://en.wikipedia.org/wiki/Social_network_analysis">SNA</a>) and         <a href="http://en.wikipedia.org/wiki/Small-world_network">small-world         networks</a> have not been apparent</li>
<li>Slow performance and too-frequent crashes — Cytoscape has always         had a quirky interface and frequent crashes; later versions are a bit         more stable, but usability remains a challenge</li>
<li>Largely supported by the biomedical community — from the         beginning, Cytoscape was a project of the biomedical community. Most         plug-ins still pertain to that space. Because of support for <a href="http://www.obofoundry.org/">OBO</a> (Open Biomedical and Biological         Ontologies) formats and a lack of uptake by the broader semantic Web         community, RDF- and OWL-based development has been keenly lacking</li>
<li>Aside from PDFs, poor ability to output large graphs in a viewable         manner</li>
<li>Limited layout support — and poor performance for many of those         included with the standard package.</li>
</ul>
<p>Undoubtedly, were we doing semantic technologies in the biomedical         space, we might well develop our own plug-ins and contribute to the         Cytoscape project to help overcome some of these limitations. But,         because I am a tools geek (see my <a href="http://feeds.feedburner.com/../sweet-tools/">Sweet Tools listing</a> with         nearly 1000 semantic Web and -related tools), I decided to check out         the current state of large-scale visualization tools and see if any had         made progress on some of our outstanding objectives.</p>
<h3>Choosing Geshi and Using It</h3>
<p>There are three classes of graph tools in the semantic technology         space:</p>
<ol>
<li>Ontology navigation and discovery, to which the <a href="http://techwiki.openstructs.org/index.php/SRelationBrowser_Examples"> Relation Browser</a> and <a href="http://www.visualdataweb.org/relfinder.php">RelFinder</a> are           notable examples</li>
<li>Ontology structure visualization (and sometimes editing), such as         the <a href="http://graphviz.org/">GraphViz</a> (OWLViz) or <a href="http://protegewiki.stanford.edu/wiki/OntoGraf">OntoGraf</a> tools used         in <a href="http://protege.stanford.edu/">Protégé</a> (or the nice         <a href="http://www.thechiselgroup.org/flexviz">FlexViz</a>, again used         by the OBO community), and</li>
<li>Large-scale graph visualization in order to gain a complete picture         and macro relationships in the ontology.</li>
</ol>
<p>One could argue that the first two categories have received the most         current development attention. But, I would also argue that the third         class is one of the most critical:  to understand where one is in         a large knowledge space, much better larger-scale visualization and         navigation tools are needed. Unfortunately, this third category is also         the one that appears to be receiving the least development attention.         (To be sure, large-scale graphs pose computational and performance         challenges.)</p>
<p>In the nearly four years since my <a href="http://feeds.feedburner.com/../414/large-scale-rdf-graph-visualization-tools/"> last major survey of 26 tools</a> in this category, the new entrants         appear <a href="http://en.wikipedia.org/wiki/Social_network_analysis_software">quite         limited</a>. I’ve surely overlooked some, but the most notable are         <a href="http://www.franz.com/agraph/gruff/">Gruff</a>, <a href="http://ophid.utoronto.ca/navigator/">NAViGaTOR</a>, <a href="http://networkx.lanl.gov/">NetworkX</a> and <a href="http://gephi.org/">Gephi</a> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#gephi1">[1]</a>. Gruff actually appears to belong         most in Category #2; I could find no examples of graphs on the scale of         thousands of nodes. NAViGaTOR is biomedical only. NetworkX has no direct         semantic graph importing and — while apparently some RDF libraries can         be used for manipulating imports — alternative workflows were too         complex for me to tackle for initial evaluation. This leaves Gephi as         the only potential new candidate.</p>
<p>From a clean Web site to well-designed intro tutorials, first         impressions of Gephi are strongly positive. The real proof, of course,         was getting it to perform against my real use case tests. For that, I         used a “big” ontology for a current client that captures about 3000         different concepts and their relationships and more than 100         properties. What I recount here — from first installing the program         and plug-ins and then setting up, analyzing, defining display         parameters, and then publishing the results — took me less than a day         from a totally cold start. The Gephi program and environment is         surprisingly easy to learn, aided by some great tutorials and online info         (see concluding section).</p>
<p>The critical enabler for being able to use Gephi for this source and         for my purposes is the <a href="http://gephi.org/plugins/semanticwebimport/">SemanticWebImport</a> plug-in, recently developed by Fabien Gandon and his team at <a href="http://www.inria.fr/en/">Inria</a> as part of the <a href="http://www-sop.inria.fr/edelweiss/">Edelweiss</a> project <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#gephi2">[2]</a>. Once         the plug-in is installed, you need only open up the SemanticWebImport         tab, give it the URL of your source ontology, and pick the Start button         (middle panel):</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110509_intangibles_trends.png" title="SemWeb Plug-in for Gephi"> </a><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110808_gephi_semwebimport.png"><img alt="SemWeb Plug-in for Gephi" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110808_gephi_semwebimport.png" style="border: 0px solid; width: 600px; height: 488px;" title="SemWeb Plug-in for Gephi"/></a>Note the SemanticWebImport tool also has the ability (middle panel) to         issue queries to a SPARQL endpoint, the results of which return a         results graph (partial) from the source ontology. (This feature is not         further discussed herein.) This ontology load and display capability         worked without error for the five or six OWL 2 ontologies I initially         tested against the system. <p/>
</div>
<p>Once loaded, an ontology (graph) can be manipulated with a conventional         IDE-like interface of tabs and views. In the right-hand panels above we         are selecting various network analysis routines to run, in this case         Average Degrees. Once one or more of these analysis options is run, we can use the results to then cluster or         visualize the graph; the upper left panel shows highlighting the         Modularity Class, which is how I did the community (clustering)         analysis of our big test ontology. (When run you can also assign         different colors to the cluster families.) I also did some filtering of         extraneous nodes and properties at this stage and also instructed the         system via the ranking analysis to show nodes with more link         connections as larger than those nodes with fewer links.</p>
<p>At this juncture, you can also set the scale for varying such display         options as linear or some power function. You can also select different         graph layout options (lower left panel). There are many layout plug-in         options for Gephi. The layout plugin called <a href="http://gephi.org/2010/openord-new-layout-plugin-the-fastest-algorithm-so-far/" rel="nofollow">OpenOrd</a>, for instance, is reported to be able to         scale to millions of nodes.</p>
<p>At this point I played extensively with the combination of filters,          analysis, clusters, partitions and rankings (as may be separately          applied to nodes and edges) to: 1) begin to understand the gross          structure and characteristics of the big graph; and 2) refine the          ultimate look I wanted my published graph to have.</p>
<p>In our example, I ultimately chose the standard Yifan Hu layout in order to         get the communities (clusters) to aggregate close to one another on the         graph. I then applied the Parallel Force Atlas layout to organize the nodes and make the         spacings more uniform. The parallel aspect of this force-based layout         allows these intense calculations to run faster. The result of these         two layouts in sequence is then what was used for the results displays.</p>
<p>Upon completion of this analysis, I was ready to publish the graph. One         of the best aspects of Gephi is its flexibility and control over         outputs. Via the main Preview tab, I was able to do my final         configurations for the published graph:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110509_intangibles_trends.png" title="Publication Options for Gephi"> </a><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110808_gephi_preview.png"><img alt="Publication Options for Gephi" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110808_gephi_preview.png" style="border: 0px solid; width: 600px; height: 489px;" title="Publication Options for Gephi"/></a>The graph results from the earlier-worked out filters and clusters and colors are         shown in the right-hand Preview pane. On the left-hand side, many         aspects of the final display are set, such as labels on or off, font         sizes, colors, etc. It is worth looking at the figure above in full         size to see some of the options available. <p/>
</div>
<p>Standard output options include either SVG (vector image) or PDFs, as         shown at the lower left, with output size scaling via slider bar. Also,         it is possible to do standard saves under a variety of file formats or         to do targeted exports.</p>
<p>One really excellent publication option is to create a dynamically         zoomable display using the <a href="http://www.seadragon.com/">Seadragon</a> technology via a separate         <a href="http://gephi.org/plugins/seadragon/">Seadragon Web Export</a> plug-in. (However, because of cross-site scripting limitations due to         security concerns, I only use that option for specific sites. See next         section for the <a href="http://zoom.it/">Zoom It</a> option — based on Seadragon — to         workaround that limitation.)</p>
<h3>Outputs Speak for Themselves</h3>
<p>I am very pleased with the advances in display and analysis provided by         Gephi. Using the <a href="http://zoom.it/">Zoom It</a> alternative <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#gephi3">[3]</a> to embedded Seadragon, we can see our big ontology example with:</p>
<ul>
<li>All 3000 nodes labeled, with connections shown (though you must must zoom to see)         and</li>
<li>When zooming (use scroll wheel or + icon) or panning (via mouse down moves), wait a couple of seconds to get the         clearest image refresh:</li>
</ul>
<div/>
<p><strong>Note</strong>: at standard resolution,         if this graph were to be rendered in actual size, it would be larger than         7 feet by 7 feet square at full zoom !!!</p>
<p>To compare output options, you may also;</p>
<ul>
<li> <a href="http://feeds.feedburner.com/../network/big_ontology.pdf">Download a           PDF</a> of this big graph, OR</li>
<li> <a href="http://feeds.feedburner.com/../network/big_ontology.svg">Download an           SVG</a> (Inkscape readable version) of this big graph.</li>
</ul>
<h3>Still, Some Improvements Would be Welcomed</h3>
<p>It is notable that Gephi still only versions itself as an “alpha”.         There is already a robust user community with promise for much more         technology to come.</p>
<p>As an alpha, Gephi is remarkably stable and well-developed. Though         clearly useful as is, I measure the state of Gephi against my complete         list of desired functionality, with these items still missing:</p>
<ul>
<li>Real-time and interactive navigation — the ability to move through         the graph interactively and to issue queries and discover relationships</li>
<li>Huge node numbers — perhaps the <a href="http://gephi.org/2010/openord-new-layout-plugin-the-fastest-algorithm-so-far/" rel="nofollow">OpenOrd</a> plug-in somewhat addresses this need. We           will be testing Gephi against <a href="http://www.umbel.org/">UMBEL</a>, which is an order of magnitude           larger than our test big ontology</li>
<li>More node and edge control — Cytoscape still retains the advantage         in the degree to which nodes and edges can be graphically styled</li>
<li>Full round-tripping — being able to use Gephi in an edit mode         would be fantastic; the edit functionality is fairly straightforward,         but the ability to round-trip in appropriate formats (OWL, RDF or         otherwise) may be the greater sticking point.</li>
</ul>
<p>Ultimately, of course, as I explained in an earlier presentation on a         <em><a href="http://techwiki.openstructs.org/index.php/Normative_Landscape_of_Ontology_Tools"> Normative Landscape for Ontology Tools</a></em>, we would like to see a         full-blown graphical program tie in directly with the <a href="http://owlapi.sourceforge.net/">OWL API</a>. Some initial attempts         toward that have been made with the non-Gephi <a href="http://glowvis.org/Main_Page">GLOW visualization</a> approach, but it         is still in very early phases with ongoing commitments unknown.         Optimally, it would be great to see a Gephi plug-in that ties directly to the OWL API.</p>
<p>In any event, while perhaps Cytoscape development has stalled a bit for         semantic technology purposes, Gephi and its SemanticWebImport plug-in         have come roaring into the lead. This is a fine toolset that promises         usefulness for many years to come.</p>
<h3>Some Further Gephi Links</h3>
<p>To learn more about Gephi, also see the:</p>
<ul>
<li>Terrific introductory tutorials on <a href="http://gephi.org/users/quick-start/">quick start</a>, <a href="http://gephi.org/users/tutorial-visualization/">visualization</a> and         <a href="http://gephi.org/users/tutorial-layouts/">layouts</a></li>
<li>Fast videos on the use of the <a href="http://wiki.gephi.org/index.php/SemanticWebImport">SemanticWebImport</a> plug-in for <a href="http://www-sop.inria.fr/teams/edelweiss/wiki/wakka.php?wiki=DBpediaGephi"> DBpedia</a> and <a href="http://www-sop.inria.fr/teams/edelweiss/wiki/wakka.php?wiki=BBCinGephi"> BBC programs</a></li>
<li>Gephi <a href="http://wiki.gephi.org/index.php/Main_Page">community         wiki.</a></li>
</ul>
<p>Also, for future developments across the graph visualization spectrum,         check out the Wikipedia <a href="http://www.wikiviz.org/wiki/Tools">general visualization tools</a> listing on a periodic basis.</p>
<hr size="1" style="margin: 15px 0px;"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="gephi1"/>[1] The <a href="http://www.r-project.org/">R</a> open source math and statistics package is very rich with apparently some graph visualization capabilities, such as the dedicated network analysis and visualization project <a href="http://statnetproject.org/">statnet</a>. <a href="http://cran.r-project.org/web/packages/rrdf/index.html">rrdf</a> may also provide an interesting path for RDF imports. R and its family of tools may indeed be quite promising, but the commitment necessary to R appears quite daunting. Longer-term, R may represent a more powerful upgrade path for our general toolsets. <a href="http://neo4j.org/">Neo4j</a> is also a rising star in graph databases, with its own visualization components. However, since we did not want to convert our underlying data stores, we also did not test this option.</div>
<div style="margin-top: 10px; font-size: 90%;"><a name="gephi2"/>[2] Erwan Demairy is the lead developer and committer for <a href="http://wiki.gephi.org/index.php/SemanticWebImport">SemanticWebImport</a>. The first version was released in mid-April 2011.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="gephi3"/>[3] For presentations like this blog post, the Seadragon JavaScript enforces some security restrictions against cross-site scripting. To overcome that, the option I followed was to:</div>
<div style="font-size: 90%;">
<ul>
<li>Use Gephi’s SVG export option</li>
<li>Open the SVG in Inkscape</li>
<li>Expand the size of the diagram as needed (with locked dimensions to prevent distortion)</li>
<li>Save As a PNG</li>
<li>Go to <a href="http://zoom.it/">Zoom It</a> and submit the image file</li>
<li>Choose the embed function, and</li>
<li>Embed the link provided, which is what is shown above.</li>
</ul>
</div>
<div style="font-size: 90%;">(Though Zoom.it also accepts SVG files directly, I found performance to be spotty, with many graphical elements dropped in the final rendering.)</div>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/T_ezCQ16aBo" width="1"/></div>
    </content>
    <updated>2011-08-08T09:27:47Z</updated>
    <category term="Ontologies"/>
    <category term="Open Source"/>
    <category term="Semantic Web Tools"/>
    <category term="UMBEL"/>
    <category term="cytoscape"/>
    <category term="Gephi"/>
    <category term="graph"/>
    <category term="graph analysis"/>
    <category term="graph visualization"/>
    <category term="graphing programs"/>
    <category term="network"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/968/a-new-best-friend-gephi-for-large-scale-networks/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-10-03T13:50:29Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://richard.cyganiak.de/blog/2011/08/multiple-itemtypes-in-microdata/</id>
    <link href="http://richard.cyganiak.de/blog/2011/08/multiple-itemtypes-in-microdata/" rel="alternate" type="text/html"/>
    <title>Multiple itemtypes in Microdata</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">There’s a lot of discussion recently around HTML5′s microdata proposal, and how it relates to W3C’s earlier RDFa standard that is currently being updated for HTML5. Microdata solves many of the use cases of RDFa in a much simpler way. … <a href="http://richard.cyganiak.de/blog/2011/08/multiple-itemtypes-in-microdata/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <updated>2011-08-02T14:50:27Z</updated>
    <source>
      <id>http://richard.cyganiak.de/blog</id>
      <author>
        <name>Do What I Mean (Richard Cyganiak)</name>
      </author>
      <link href="http://richard.cyganiak.de/blog" rel="alternate" type="text/html"/>
      <link href="http://richard.cyganiak.de/blog/feed/rss/" rel="self" type="application/rss+xml"/>
      <subtitle>A weblog by Richard Cyganiak</subtitle>
      <title>cygri’s notes on web data</title>
      <updated>2011-08-02T14:50:27Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://hyperdata.org/blog/2011/07/</id>
    <link href="http://hyperdata.org/blog/2011/07/" rel="alternate" type="text/html"/>
    <title>links for 2011-07-30</title>
    <summary>The Geometry of History; 032147658 (tags: maze labyrinth history)</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><ul class="delicious">
<li>
<div class="delicious-link"><a href="http://www.mi.sanu.ac.rs/vismath/morrison/index.html">The Geometry of History; 032147658</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/maze">maze</a> <a href="http://www.delicious.com/danja/labyrinth">labyrinth</a> <a href="http://www.delicious.com/danja/history">history</a>)</div>
</li>
</ul></div>
    </content>
    <updated>2011-07-31T00:11:51Z</updated>
    <author>
      <name>danja</name>
    </author>
    <source>
      <id>http://hyperdata.org/blog</id>
      <link href="http://hyperdata.org/blog" rel="alternate" type="text/html"/>
      <link href="http://hyperdata.org/blog/feed/rdf/" rel="self" type="application/rdf+xml"/>
      <subtitle>Danny's linkiness</subtitle>
      <title>Hyperdata Blog</title>
      <updated>2011-08-09T00:20:58Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=966</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/eLA-o2zP_3A/" rel="alternate" type="text/html"/>
    <title>Five Iterations of Site Search</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Five Iterations of Site Search&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Blogs and Blogging&amp;rft.subject=Site-related&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-07-25&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/966/five-iterations-of-site-search/&amp;rft.language=English"/>
Overcoming the Limitations of WordPress Search Since the inception of this AI3 blog a bit over six years ago, I have gone through five different approaches to local site search, all geared to overcome the limitations of WordPress‘ native search function. The current and last iteration uses the Relevanssi plug-in, the best I have used [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Five Iterations of Site Search&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Blogs and Blogging&amp;rft.subject=Site-related&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-07-25&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/966/five-iterations-of-site-search/&amp;rft.language=English"/>
<h2><a><img align="left" alt="WordPress" hspace="5" src="http://www.mkbergman.com/wp-content/themes/ai3/images/wordpress_225.png" style="border: 0px solid; width: 225px; height: 225px; float: left; margin-right: 10px;" title="WordPress" vspace="5"/></a>Overcoming the Limitations of WordPress Search</h2>
<p>Since the inception of this <span style="color: #993300;"><strong>AI3</strong></span> blog a bit over six years ago, I have gone through five different approaches to local site search, all geared to overcome the limitations of <a href="http://wordpress.org/">WordPress</a>‘ native search function. The current and last iteration uses the <a href="http://wordpress.org/extend/plugins/relevanssi/">Relevanssi plug-in</a>, the best I have used so far. (Check it out yourself in the search box to the upper right.) I describe these five iterations in this post.</p>
<h3>Iteration #1: Native WordPress Search</h3>
<p>When first released, <span style="color: #993300;"><strong>AI3</strong></span> used the native search that comes with the WordPress installation (when first installed that was WP version 1.5; the current version is at 3.2.1). That was OK when few knew of my site and the number of visitors was low.</p>
<p>But the WP search is known to suck, mostly because of search results based on date posted not relevance and its slow performance. Once I began to get more traffic, it was time for a change.</p>
<h3>Iteration #2: Google Custom Search</h3>
<p>The option I have kept longest on this site is Google’s <a href="http://www.google.com/cse/">Custom Search</a>. When first announced at the end of 2006 it was a real godsend and very innovative. I installed my first version in <a href="http://feeds.feedburner.com/../311/googles-custom-search-engine-cse-impressive-start-but-some-quibbles-remain/">January 2007</a> and continued to make modifications and use it up through <a href="http://feeds.feedburner.com/../877/unreluctantly-cutting-the-tether/">April 2010</a>. I used it on various sites with many different types of <a href="http://feeds.feedburner.com/../?s=google+custom+search">Custom Search implementations</a>.</p>
<p>Unfortunately, to use the free version it is necessary to include ads that Google provides. For a while, this served my purposes, since I was actively trying to learn whether ad revenues were viable for a standard blog and what kinds of traffic are necessary to produce meaningful revenues. However, by early 2010 I had <a href="http://feeds.feedburner.com/../877/unreluctantly-cutting-the-tether/">come to the conclusion</a> that — even with a quite popular blog for its niche — that ad revenues would never be that meaningful and it was not worth cluttering up my site. So I ended my experiment with Google ads and, being cheap, chose not to use the paid version of the search service and thus dropped the system.</p>
<p>What I liked:</p>
<ul>
<li>Easy set up</li>
<li>Familiar search syntax and interface.</li>
</ul>
<p>What I did not like:</p>
<ul>
<li>Inclusion of Google ad panels</li>
<li>Lack of flexibility is styling search results presentation</li>
<li>Need for a Google key</li>
<li>Inability to tweak ordering of search results</li>
<li>Intrusive Google logos in multiple places.</li>
</ul>
<h3>Iteration #3: Bing Site Owner</h3>
<p>Microsoft’s Bing was starting to come on strongly at that time so I decided next to try the <a href="http://www.bing.com/community/site_blogs/b/webmaster/archive/2011/02/04/bing-com-siteowner-being-shut-down-april-4th-2011.aspx">Bing Site Owner’s service</a>. I began this new approach immediately upon retiring Google.</p>
<p>What I liked:</p>
<ul>
<li>Very easy set up</li>
<li>Acceptable flexibility in styling results</li>
<li>Nice popup implementation</li>
<li>Not overly intrusive with the Bing (MS) brand.</li>
</ul>
<p>However, without direct notice, Microsoft ended this service as of April of this year.</p>
<p>What I did not like:</p>
<ul>
<li>Service went dark</li>
<li>Cancelled service without any notification (except on the <a href="http://www.bing.com/community/site_blogs/b/webmaster/archive/2011/04/19/bing-com-siteowner-shut-down-options-for-search-results.aspx">Bing webmaster’s site</a>, a location I never visited)</li>
<li>No alternatives to the <a href="http://www.bing.com/developers">Bing API 2.0</a> with its difficult set up.</li>
</ul>
<p>I was pretty pleased with the Bing service and would likely have continued using it because it wasn’t broke. But, the sudden plug-pulling was offputting.</p>
<p>Thus, I decided, heck, if I was going to have to go through the effort of learning the new Bing API, I might as well learn to do it all myself.</p>
<h3>Iteration #4: WPSearch 2</h3>
<p>So, it was back to researching options and WP plug-ins on the Web. After assembling the options, I first chose to go with <a href="http://wordpress.org/extend/plugins/wpsearch/">WPSearch 2</a>. The thing that most initially attracted me to this option was its reliance on the <a href="http://lucene.apache.org/java/docs/index.html">Lucene</a> open source search engine, the same option that my company <a href="http://structureddynamics.com/">Structured Dynamics</a> uses in its <a href="http://lucene.apache.org/solr/">Solr</a> text indexing for the <a href="http://openstructs.org/">Open Semantic Framework</a> (OSF).</p>
<p>Since my <span style="color: #993300;"><strong>AI3</strong></span> blog theme is of my own design with many changes over the years, I had lost its original capabilities in having a native search form and search results page. So, my first task after installing the WPSearch plugin and indexing my content was to add these pages to my theme. The WP Codex has an OK set of instructions on <a href="http://codex.wordpress.org/Creating_a_Search_Page">creating a search page</a> and related discussion.</p>
<p>There are some <a href="http://lorelle.wordpress.com/2006/02/11/understanding-and-fixing-wordpress-search/">valuable</a> <a href="http://themeshaper.com/2009/07/02/wordpress-theme-search-page-template-tutorial/">tutorials</a> out there that <a href="http://www.wpmods.com/customising-default-search-box/">explain</a> how this is <a href="http://heartdrops.org/tutorials/wp-tutorial-searchresults/">done</a>; I refer to <a href="http://speckyboy.com/2010/09/19/10-useful-wordpress-search-code-snippets/">them</a> rather than repeat such information here.</p>
<p>I completed this work and kept WPSearch 2 up and active on my site for roughly the past week. But, I also kept trying to achieve some of the aspects I wanted in formatting and organizing search results and became increasingly frustrated. I also experienced numerous freezes and white screens and fatal PHP errors while editing new pages or deleting comment spam that told me I simply had to abandon this option.</p>
<p>In summary, what I liked:</p>
<ul>
<li>Use of Lucene search engine</li>
<li>Very fast performance</li>
<li>Known search syntax.</li>
</ul>
<p>What I did not like:</p>
<ul>
<li>Duplicate results</li>
<li>Freezes and timeouts when managing comments or new edits</li>
<li>Inability to capture total search count (at least with my own PHP skills)</li>
<li>Inability to highlight search terms.</li>
</ul>
<p>I’m sorry that I needed to abandon this option, since I do view highly the underlying Lucene text engine. But, the integration with existing WP functionality and other modules was not fully baked. I think with more work, including exposing more of the Lucene search API functionality, that this option could redeem itself. But, as of today, it is not reliable enough for my site.</p>
<h3>Iteration #5: Relevanssi</h3>
<p>In trying to find hacks and workarounds to some of the desires and issues noted above, I had come across reference to the <a href="http://wordpress.org/extend/plugins/relevanssi/">Relevanssi plug-in</a>, which appeared to embrace much of what I was looking to achieve. The download is quite small (100 K) and must therefore use the native WP MySQL for the index, but it is feature rich and has a strong relevance-ranking and with ranking flexibility. There is great flexibility and configurability in how search results get presented, also an attraction.</p>
<p>Installation of this system and then indexing was very clean and straightforward. It has a syntax that readily supports the Boolean <a href="http://feeds.feedburner.com/../?s=abox+tbox+ontology">AND</a> operator (the default behavior I have set for the site) (if the AND search finds no matches, it will automatically do an OR search) and <a href="http://feeds.feedburner.com/../?s=%22structured+web%22">phrase searching</a>, with the prior links showing examples from this blog (also see the search form at upper right).</p>
<p>As implemented, then, here is the listing of major features in Relevanssi:</p>
<ul>
<li>Total number of search results (implemented)</li>
<li>Search term highlighting (implemented)</li>
<li>Contextual excerpt snippets (implemented)</li>
<li>Sort by date (not implemented)</li>
<li>Category search (not implemented)</li>
<li>Filter by date (not implemented)</li>
<li>Filter by category or tag (not implemented).</li>
</ul>
<p>Here is a screen capture of the complete configuration menu in WordPress for Relevanssi:</p>
<div><a href="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110725_relevanssi.png"><img alt="Relevanssi Configuration Options" class="center_ok" src="http://www.mkbergman.com/wp-content/themes/ai3/images/2011Posts/110725_relevanssi.png" style="border: 0px solid; width: 500px; height: 3131px;" title="Relevanssi Configuration Options"/></a></div>
<p>For further information, you may also want to see some more <a href="http://wp-evangelist.com/2011/02/extending-wp-search/">advanced search functions</a> and the Relevanssi <a href="http://www.relevanssi.com/category/knowledge-base/">knowledge base</a>.</p>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/eLA-o2zP_3A" width="1"/></div>
    </content>
    <updated>2011-07-25T09:40:56Z</updated>
    <category term="Blogs and Blogging"/>
    <category term="Site-related"/>
    <category term="Bing"/>
    <category term="Google"/>
    <category term="lucene"/>
    <category term="Relevanssi"/>
    <category term="search"/>
    <category term="search service"/>
    <category term="wordpress"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/966/five-iterations-of-site-search/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-09-19T23:50:35Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=965</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/utffM12mTgY/" rel="alternate" type="text/html"/>
    <title>In the Midst of an Evolutionary Explosion</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=In the Midst of an Evolutionary Explosion&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Innovation&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-07-18&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/965/in-the-midst-of-an-evolutionary-explosion/&amp;rft.language=English"/>
A Decade of Remarkable Advances in Ten Grand IT Challenges I’ve been in the information theory and technology game for quite some time, but believe nothing has matched the pace of advances of the past ten years. As one example, it was a mere eight years ago that I was sitting in a room with [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=In the Midst of an Evolutionary Explosion&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Innovation&amp;rft.subject=Semantic Web&amp;rft.subject=Structured Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-07-18&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/965/in-the-midst-of-an-evolutionary-explosion/&amp;rft.language=English"/>
<h2><a><img alt="Photo courtesy of levelofhealth.com" height="219" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/2011Posts/110717_technological-advances.jpg" style="float: left; margin-right: 10px;" title="Photo courtesy of levelofhealth.com" width="220"/></a>A Decade of Remarkable Advances in Ten Grand IT Challenges</h2>
<p>I’ve been in the information theory and technology game for quite some         time, but believe nothing has matched the pace of advances of the past         ten years. As one example, it was a mere eight years ago that I was         sitting in a room with language translation vendors contemplating         automated translation techniques for US intelligence agencies. The         prospects finally looked doable, but the success of large-scale         translation was not assured.</p>
<p>At about that same time, and the years until just recently, a whole slew         of <a href="http://en.wikipedia.org/wiki/Grand_Challenge">Grand         Challenges</a> <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode1">[1]</a> in computing hung out there: tantalizing yet not proven. These areas ranged from information extraction and <a href="http://en.wikipedia.org/wiki/Natural_language_processing">natural         language understanding</a> to speech recognition and automated         reasoning.</p>
<p>But things have been changing fast, and with a subtle steadiness that         has caused it to go largely unremarked. Sure, all of us have been aware         of the huge changes on the Web and search engine ubiquity and social         networking. But some of the fundamentally hard problems in computing         have also gone through some remarkable (but largely unremarked)         advances.</p>
<p>We now have smart phones that speak instructions to us while we         instruct them by voice in turn. Virtually all information conceivable         is now indexed and made available through the Web; structure is now         rapidly characterizing that information, making it even more useful to         discover and organize. We can translate documents online with         acceptable accuracy into more than 60 languages <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode2">[2]</a>. We can get         directions to or see satellite views of virtually any place on earth.         We have in fact become accustomed to new technology magic on a nearly         daily basis, so much so that the pace of these advances seems to be a         constant, blunting our perspective of just how rapid these advances         have been progressing.</p>
<p>These advances are perhaps not the realization of <a href="http://en.wikipedia.org/wiki/Artificial_intelligence">artificial         intelligence</a> as articulated in the 1950s to 1980s, but are         contributing to a machine-based ability to do tasks useful to humans         heretofore impossible and at scales unimaginable. As Google and IBM’s         <a href="http://www-03.ibm.com/innovation/us/watson/what-is-watson/the-next-grand-challenge.html"> Watson</a> are showing, statistics (among other techniques) applied to         massive knowledge bases or text corpora are breaking down all of the         Grand Challenges of symbolic computing. The image that is emerging is         less one of intelligent machines working autonomously than it is of         computers working interactively or semi-automatically with humans to         address previously unsolvable problems.</p>
<p>By using a perspective of the decade past, we also demark the seminal         paper on the <a href="http://en.wikipedia.org/wiki/Semantic_Web">semantic Web</a> by         Berners-Lee, Hendler and Lassila from May 2001 <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode3">[3]</a>. Yet, while this         semantic Web vision has been a contributor to the success of the Grand         Challenge advances of the past ten years, I think we can also say that         it has not been the key or even a primary driver. That day may still         yet come. Rather, I think we have to look to natural language and         statistics surrounding large-scale corpora as the more telling drivers.</p>
<h3>Ten Grand Challenge Advances</h3>
<p>Over the past ten years there have been significant advances on at         least ten Grand Challenges in symbolic computation. As the concluding         section notes, these advances can be traced in most part to broader         advances in natural language processing, the logical and <a href="http://en.wikipedia.org/wiki/Semiotics">semiotic</a> bases for         interoperability, and standards (nominally in the semantic Web) for         embracing them. Here are these ten areas of advance, all achieved over         the past ten years:</p>
<h4>#1 Information Extraction</h4>
<p><a href="http://en.wikipedia.org/wiki/Information_extraction">Information         extraction</a> (IE) uses various forms of natural language processing         (NLP) to identify structured information within unstructured or         semi-structured documents. These documents are presented in         machine-readable form (including straight text, various document         formats or HTML) with the various types of information “tagged” or         prompted for inclusion. Information types that can be extracted with         one of the various techniques include entities, relations, topics,         categories, and so forth. Once tagged or extracted, the information in         the documents can now be included and linked to standard structured         information (as might come from conventional databases) or to structure         in other documents.</p>
<p>Most recently, a large number of online services and open source         systems have also become available with strengths in one or more of         these extraction types <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode4">[4]</a>. Some current examples include <a href="http://developer.yahoo.com/search/content/V1/termExtraction.html">Yahoo!         Term Extraction</a>, <a href="http://www.opencalais.com/">OpenCalais</a>, <a href="http://www.beliefnetworks.net/">BeliefNetworks</a>, <a href="http://www.openamplify.com/">OpenAmplify</a>, <a href="http://www.alchemyapi.com/">Alchemy API</a>, <a href="http://www.evri.com/">Evri</a>, <a href="http://extractiv.com/">Extractiv</a>, <a href="http://cogcomp.cs.illinois.edu/page/software_view/4">Illinois         Tagger</a>, and about 80 others <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode4">[4]</a>.</p>
<h4>#2 Machine Translation</h4>
<p><a href="http://en.wikipedia.org/wiki/Machine_translation">Machine         translation</a> is the automatic translation of machine-readable text         from one human language to another. Accurate and acceptable machine         translation requires applying different types of knowledge including         grammar, semantics, facts about the real world, etc. Various approaches         have been developed and refined over time.</p>
<p>Especially helpful has been the availability of huge corpora in         multiple languages to which large-scale statistical analysis may be         applied (as is the case of Google’s <a href="http://translate.google.com/">machine translation</a>) or human editing         and refinement (as is the case with the more than <a href="http://s23.org/wikistats/wikipedias_html">280 language versions of         Wikipedia</a>).</p>
<p>While it is true none of these systems have 100% accuracy (even human         translators show much variation), the more advanced ones are truly         impressive with remaining ambiguities flagged for resolution by         semi-automatic means.</p>
<h4>#3 Sentiment Analysis</h4>
<p>Though <a href="http://en.wikipedia.org/wiki/Sentiment_analysis">sentiment         analysis</a> is strictly speaking a subset of information extraction,         it has the more demanding and useful task of extracting subjective         information, often across a group of documents or texts. Sentiment         analysis can be applied to online reviews to determine the “polarity”         about specific objects, and it is especially useful for identifying         public opinion trends or evaluating social media for ranking, polling         or marketing purposes.</p>
<p>Because of its greater difficulty and potential high value, many of the         leading sentiment analysis capabilities remain proprietary. Some         capable <a href="http://www.google.com/search?q=sentiment+analysis+open+source">open         source versions</a> are available nonetheleless. There is also an         <a href="http://smm.streamcrab.com/">interesting online application</a> using Twitter feeds.</p>
<h4>#4 Disambiguation</h4>
<p>Many words have more than one meaning. <a href="http://en.wikipedia.org/wiki/Word_sense_disambiguation">Word sense         disambiguation</a> uses either machine learning, dictionaries         (gazetteers) of known entities and concepts, ontologies or linguistic         databases such as <a href="http://en.wikipedia.org/wiki/WordNet">WordNet</a>, or combinations thereof to evaluate         ambiguous terms or phrases and resolve them based on context. Some         systems need to be “trained” or some work automatically or others are         based on evaulation and prompting (semi-automatic) to complete the         disambiguation process.</p>
<p>State-of-the-art systems have greater than 90% precision <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode5">[5]</a>. Most of         the leading <a href="http://en.wikipedia.org/wiki/List_of_natural_language_processing_toolkits"> open source NLP toolkits</a> have quite capable disambiguation modules,         and even better proprietary systems exist.</p>
<h4>#5 Speech Synthesis and Recognition</h4>
<p><a href="http://en.wikipedia.org/wiki/Speech_synthesis">Speech         synthesis</a> is the conversion of text to spoken speech and has been         around for quite some time. <a href="http://en.wikipedia.org/wiki/Speech_recognition">Speech         recognition</a> is a far more difficult task in that a given sound clip         or real-time spoken speech of a person must be converted to a textual         representation, which itself can then be acted upon such as navigating         or making selections. Speech recognition is made difficult because of         individual voice differences, the variations of human languages and speech patterns, and the         need to <a href="http://en.wikipedia.org/wiki/Speech_segmentation">segment speech</a> into a sequence of words. (In most spoken languages, the sounds         representing successive letters blend into each other, so the         conversion of the modulated wave form to discrete characters or tokens         can be a very difficult process.)</p>
<p>Crude systems of a decade ago required much training with a specific         speaker’s voice to show much effectiveness. Today, the range and         ability to use these systems without training has markedly improved.</p>
<p>Until recently, improvements largely were driven by military and         intelligence requirements. Today, however, with the ubiquity of smart         phones and speech interfaces, the consumer market is greatly         accelerating progress.</p>
<h4>#6 Image Recognition</h4>
<p><a href="http://en.wikipedia.org/wiki/Computer_vision#Recognition">Image         recognition</a> is the ability to determine whether or not an         electronic image contains some specific object, feature, or activity,         and then to extract the image data associated with it. Today, under         specific circumstances and for specific tasks, this can be done by         computer. However, for the general case of arbitrary objects in         arbitrary situations this challenge has not yet been fully met. The         systems of today work best for simple geometric objects (<em>e.g</em>., polyhedra), human faces, printed or         hand-written characters, or vehicles, and in specific situations,         typically described in terms of well-defined illumination, background,         and orientation of the object relative to the camera.</p>
<p>Auto license recognition at intersections, face recognition by security         cameras, and greatly expanded and improved character recognition         systems (machine vision) represent some of the current         state-of-the-art. Again, smart phone apps are helping to drive         advances.</p>
<h4>#7 Interoperability Standards and Methods</h4>
<div style="float: right; margin-left: 10px; text-align: center;"><a href="http://feeds.feedburner.com/../wp-content/themes/ai3/images/2006Posts/060524a_DataFederationPyramid.gif"> <img alt="" height="283" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/2006Posts/060524a_DataFederationPyramid.gif" width="400"/></a><br/>
<strong><em>Rapid Progress in Climbing the Data           Federation Pyramid</em></strong></div>
<p>Most of the previous advances are related to extracting structured         information or mapping or deriving additional structured information.         Once obtained, of course, the next challenge is in how to relate that         information together; that is, how to make it interoperate.</p>
<p>We have been steadily climbing a data federation pyramid <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode6">[6]</a> — and at         an impressively accelerating rate since the adoption of the Internet         and Web. These network innovations gave us a common basis and protocols         for connecting distributed devices. That, in turn, has freed us to         concentrate on the standards for data representation and         interoperability.</p>
<p><a href="http://en.wikipedia.org/wiki/XML">XML</a> first provided a         means for a common data serialization that encouraged various         communities and industries to devise exchange vocabularies. <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a> provided a means for a common data model, one that was both simple and         extensible at the same time <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode7">[7]</a>. <a href="http://en.wikipedia.org/wiki/Web_Ontology_Language">OWL</a> built upon         that basis to enable us to build common domain models (see next).</p>
<p>There are alternatives to the semantic Web standards of RDF and OWL such as <a href="http://en.wikipedia.org/wiki/Common_logic">common logic</a> and there are many competing data exchange formats to XML. None of these standards is essential on its own and all have their communities and advocates. However, because they are standards and they share common network bases, it has also been relatively easy to convert amongst the various available protocols. We are nearly at a global level where everything is connected, machine-readable, and in structured form.</p>
<h4>#7 Common Domain Models</h4>
<p>Semantics in machine-readable form means that we can more confidently         link and combine available information. We are seeing a veritable         explosion of domain models to represent various domains and viewpoints         in consensual, interoperable form. What this means is that we are now         gaining the computing vocabularies and grammars — along with shared         community models (world views) — to get this stuff to work together.</p>
<p>Five years ago we called this phenomena mashups, but no one uses that         term any longer because these information brewpots are everywhere,         including in our very hands when we interact with the apps on our smart         phones. This glue of domain models is generally as invisible to us as         is the glue in laminates or the resin in plastics. But they are the         strength and foundations nonetheless that enable much of the computing         magic unfolding around us.</p>
<h4>#9 Virtual Apps (Cloud Computing)</h4>
<p>Once the tyranny of physical separation was shattered between data       and machine by the network, the rationale for keeping the data with the       app or even the user with the app disappeared. Cloud computing may seem       mysterious or sound to have some high-octave hum, but it really is       nothing more than saying that the Web enables us to treat all of our       computing resources as virtual. Data can be anywhere; machines and hard       drives can be anywhere; and applications can be anywhere.</p>
<p>And, virtualness brings benefits in and of itself. Whole computing         environments can be installed or removed nearly instantaneously. Peak         computing demands can be met with virtual headrooms. Backup and         rollover and redundancy practices and strategies can change. Web         services mean tailored capabilities can be invoked from anywhere and         integrated for local needs. Massive computing resources and server         farms can be as accessible to the individual as they are to prior         computing behemoths. Combined with continued advances in underlying         computing hardware and chips, the computing power available to any user         is rising exponentially. There is now even more power in the power         curve.</p>
<h4>#10 Big Data</h4>
<p>One hears stories of Google or the National Security Agency having         access and managing servers measured in the hundreds of thousands.         Entirely new operating systems and computing environments — many with         roots in open source — such as virtual operating systems and <a href="http://en.wikipedia.org/wiki/Mapreduce">MapReduce</a> approaches like         <a href="http://en.wikipedia.org/wiki/Hadoop">Hadoop</a> have been         innovated to deal with the current era of <a href="http://en.wikipedia.org/wiki/Big_data">“big data”</a>.</p>
<p>MapReduce is a framework for processing huge datasets using a large         number of servers. The “map” step partitions the problem into tractable         sub-problems, organized in a tree structure. The “reduce” step then         takes the answers to all the sub-problems and combines them to produce         the final output.</p>
<p>Such techniques enable analysis of datasets of a size impossible         before. This has enabled the development of statistics and analytical         techniques that have been able to make correlations and find patterns         for some of the Grand Challenge tasks noted before that simply could         not be addressed within previous limits. The “big data” approach is         providing a brute force alternative to previously intractable problems.</p>
<h3>Why Such Progress?</h3>
<p>Declining hardware costs and increasing performance (such as from         <a href="http://en.wikipedia.org/wiki/Moore%27s_law">Moore’s Law</a>),         combined with the adoption of the Internet + Web network, set the         fertile conditions for these unprecedented advances in computing’s         Grand Challenges. But the <a href="http://en.wikipedia.org/wiki/Adaptive_radiation">adaptive         radiation</a> in innovations now occurring has its own dynamics. In         computing terms, we are seeing the equivalent of the <a href="http://en.wikipedia.org/wiki/Cambrian_explosion">Cambrian         explosion</a> in evolutionary history.</p>
<p>The dynamics driving this computing explosion are based largely, I         believe, on the statistics of information retrieval and extraction         needed to cope with the scale of documents on the Web. That, in turn,         has impelled innovations in big data and distributed architectures and         designs that have pried open previously closed computing lockboxes. As         data from everywhere and from every provenance pours into the system,         means for handling and interoperating with it have become imperatives.         These forces, in turn, have been channeled and are being met through         the open and standards-based approaches that helped lead to the         development of the Internet and its infrastructure in the first place.</p>
<p>These powerful evolutionary forces in computing are clearly evident in         the ten Grand Challenge advances above. But the challenges above are         also silent on another factor, underpinning the interoperability         initiatives, that is only now just becoming evident and exerting its         own powerful force. That is the workable, intellectual foundations for         interoperability itself.</p>
<p>Clearly, as the advances in the Grand Challenges show, we are seeing         immense exposures of new structured information and impressive means         for accessing and managing it on a global, distributed scale.  Yet         all of this data and this structure begs the question of how to get the         information to work together. Further, the sources and         viewpoints and methods by which all of this data has been created also         puts a huge premium on means to deal with the         diversity. Though not evident, and perhaps not even known to many of         the innovators and practitioners, there has been a growing intellectual         force shaping our foundational views about the nature of things and         their representations. This force has been, I believe, one of those<a href="http://en.wikipedia.org/wiki/Root_cause"> root cause</a> drivers helping to show the way to interoperability.</p>
<p>John Sowa, despite his unending criticism of the semantic Web in favor         of <a href="http://en.wikipedia.org/wiki/Common_logic">common         logic</a>, has nonetheless been a very positive evangelist for the 19th         century American logician and philosopher, <a href="http://en.wikipedia.org/wiki/Charles_Sanders_Peirce">Charles Sanders         Peirce</a>. Sowa points out that the entire 20th century largely         neglected Peirce’s significant contributions in many areas and some         philosophers appropriated Peircean insights without proper attribution         <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode8">[8]</a>. Indeed, Peirce has only come to wider attention within the         past decade or so. Much of his voluminous lifetime writings have still         not yet been committed to publication.</p>
<p>Among many notable contributions, Peirce was passionate about signs and         their triadic representations, in a field known as <a href="http://en.wikipedia.org/wiki/Semiotics">semiotics</a>. The         philosophical and logical basis of his triangle of signs deserves your         attention, which can not be adequately treated here <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode9">[9]</a>. However, as         summarized by Sowa <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode8">[8]</a>, “A semiotic view of language and logic gets to         the heart of the philosophical controversies and their practical         implications for linguistics, artificial intelligence, and related         subjects.”</p>
<p>In essence, Peirce’s triadic logic of semiotics helps clarify         philosophical questions about things, how they are perceived and how         they are named that has vexed philosophers at least since the time of         Aristotle. What Peirce was able to put forward was a testable logic for         how things and the names of things can be understood and related to one         another, via logical statements or structures. These, in turn, can be         symbolized and formalized into logical constructs that can capture the         structure of natural language as well as more structured data.</p>
<p>The clarity of Peirce’s logic of signs is an underlying factor, I         believe, for why we are finally seeing our way clear to how         to capture, represent and relate information from a diversity of         sources and viewpoints that is defensible and interoperable <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode10">[10]</a>. As we         plumb Peircean logics further, I believe we will continue to gain         additional insights and methods for combining and relating information.         The next phase of our advances on these Grand Challenges is likely to         be fueled more by connections and interoperability than in basic         extraction or representation.</p>
<h3>The Widening Explosion</h3>
<p>We are not seeing the vision of artificial intelligence unfold as posed         three decades ago. Nor are we seeing the <a href="http://en.wikipedia.org/wiki/AI-complete">AI-complete</a> type of problems being solved in their entirety <a href="http://feeds.feedburner.com/AI3_AdaptiveInformation#explode11">[11]</a>. Rather, we are seeing impressive but incomplete approaches. Full automation and autonomy are not yet at hand, and may be so far in the future as to never be. But we are nevertheless seeing advances across the board in all Grand Challenge areas.</p>
<p>What is emerging is a practical achievement of the Grand Challenges, the scale and scope of which is unprecedented in symbolic computing. As we see Peircean logic continue to take hold and interoperability grow in usefulness and stature, I think it fair to say we can look back in ten years to describe where we stand today as having been in the midst of an evolutionary explosion.</p>
<hr size="1"/>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="explode1"/>[1] Grand Challenges were United States policy objectives for         high-performance computing and communications research set in the late         1980s. According to <a href="http://nsf.ptfsinc.com/cgi-bin/koha/opac-detail.pl?biblionumber=23787"> “A Research and Development Strategy for High Performance         Computing”</a>, <em>Executive Office of         the President, Office of Science and Technology Policy</em>, 29 pp.,         November 20, 1987, “A grand challenge is a fundamental problem in         science or engineering, with broad applications, whose solution would         be enabled by the application of high performance computing resources         that could become available in the near future.”</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="explode2"/>[2] For example, as of July 17, 2011, Google offered <a href="http://translate.google.com/">63 different</a> source or target         languages for translation.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="explode3"/>[3] Tim Berners-Lee, James Hendler and Ora Lassila, 2001. <a href="http://www.sciam.com/article.cfm?id=the-semantic-web&amp;print=true" rel="nofollow">“The Semantic Web”</a>. <em>Scientific American         Magazine</em>; see <a href="http://www.scientificamerican.com/article.cfm?id=the-semantic-web">http://www.scientificamerican.com/article.cfm?id=the-semantic-web</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="explode4"/>[4] Go to <a href="http://feeds.feedburner.com/../sweet-tools/">Sweet         Tools</a>, and enter the search ‘information extraction’ to see a list         of about 85 tools.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="explode5"/>[5] See, for example, Roberto Navigli, 2009. “Word Sense         Disambiguation: A Survey,” <em>ACM         Computing Surveys</em>, 41(2), 2009, pp. 1–69. See <a href="http://www.dsi.uniroma1.it/%7Enavigli/pubs/ACM_Survey_2009_Navigli.pdf"> http://www.dsi.uniroma1.it/~navigli/pubs/ACM_Survey_2009_Navigli.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="explode6"/>[6] M.K. Bergman, 2006. “Climbing the Data Federation Pyramid,”         <em>AI3:::Adaptive Information</em> blog, May 25, 2006; see <a href="http://feeds.feedburner.com/../229/climbing-the-data-federation-pyramid/">http://www.mkbergman.com/229/climbing-the-data-federation-pyramid/</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="explode7"/>[7] M. K. Bergman, 2009. “Advantages and Myths of RDF,” <em>AI3:::Adaptive Information</em> blog, April 8,         2009. See <a href="http://feeds.feedburner.com/../483/advantages-and-myths-of-rdf/">http://www.mkbergman.com/483/advantages-and-myths-of-rdf/</a></div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="explode8"/>[8] John Sowa, 2006. “Peirce’s Contributions to the 21st Century”, in         H. Schärfe, P. Hitzler, &amp; P. Øhrstrøm, eds., <em>Conceptual         Structures: Inspiration and Application</em>, LNAI 4068, Springer,         Berlin, 2006, pp. 54-69. See <a href="http://www.jfsowa.com/pubs/csp21st.pdf">http://www.jfsowa.com/pubs/csp21st.pdf</a>.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="explode9"/>[9] See, as a start, the Wikipedia article on <a href="http://en.wikipedia.org/wiki/Charles_Sanders_Peirce">Charles Sanders         Peirce</a> (pronounced “purse”), as well as the <a href="http://www.cspeirce.com/">Arisbe</a> collection of his assembled         papers (to date). Also see John Sowa, 2010. “The Role of Logic and         Ontology in Language and Reasoning,” from Chapter 11 of <em>Theory and         Applications of Ontology: Philosophical Perspectives</em>, edited by R.         Poli &amp; J. Seibt, Berlin: Springer, 2010, pp. 231-263. See <a href="http://www.jfsowa.com/pubs/rolelog.pdf">http://www.jfsowa.com/pubs/rolelog.pdf</a>.         Sowa also says, “Although formal logic can be studied independently of         natural language semantics, no formal ontology that has any practical         application can ever be developed and used without acknowledging its         intimate connection with NL semantics.”</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="explode10"/>[10] While Peirce’s logic and clarity of conceptual relationships is         compelling, I find reading his writings quite demanding.</div>
<div style="margin: 10px 0pt; font-size: 90%;"><a name="explode11"/>[11] In the field of artificial intelligence, the most difficult         problems are informally known as <em>AI-complete</em> or <em>AI-hard</em>, meaning that the difficulty of         these computational problems is equivalent to solving the central         artificial intelligence problem of making computers as intelligent as         people. Computer vision, autonomous robots and understanding natural         language are amongst challenges recognized by consensus as being         AI-complete. However, practical advances on the Grand Challenges were         never defined as needing to meet the AI-complete criterion. Indeed, it         is even questionable whether such a hurdle is even worthwhile or         meaningful on its own.</div>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/utffM12mTgY" width="1"/></div>
    </content>
    <updated>2011-07-19T04:00:07Z</updated>
    <category term="Adaptive Innovation"/>
    <category term="Semantic Web"/>
    <category term="Structured Web"/>
    <category term="Charles Sanders Peirce"/>
    <category term="grand challenges"/>
    <category term="information extraction"/>
    <category term="language translation"/>
    <category term="natural language understanding"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/965/in-the-midst-of-an-evolutionary-explosion/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-08-23T07:50:29Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.dbpedia.org/2011/07/09/official-dbpedia-live-release/</id>
    <link href="http://blog.dbpedia.org/2011/07/09/official-dbpedia-live-release/" rel="alternate" type="text/html"/>
    <title>Official DBpedia Live Release</title>
    <summary>We are pleased to announce the official release of DBpedia Live. The main objective of DBpedia is to extract structured information from Wikipedia, convert it into RDF, and make it freely available on the Web. In a nutshell, DBpedia is the Semantic Web mirror of Wikipedia.
Wikipedia users constantly revise Wikipedia articles with updates happening almost [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>We are pleased to announce the official release of <a href="http://live.dbpedia.org/">DBpedia Live</a>. The main objective of DBpedia is to extract structured information from Wikipedia, convert it into RDF, and make it freely available on the Web. In a nutshell, DBpedia is the Semantic Web mirror of Wikipedia.</p>
<p>Wikipedia users constantly revise Wikipedia articles with updates happening almost each second. Hence, data stored in the official DBpedia endpoint can quickly become outdated, and Wikipedia articles need to be re-extracted. DBpedia Live enables such a continuous synchronization between DBpedia and Wikipedia.</p>
<p>The DBpedia Live framework has the following new features:</p>
<ol>
<li>Migration from the previous PHP framework to the new Java/Scala       DBpedia framework.</li>
<li>Support of clean abstract extraction.</li>
<li>Automatic reprocessing of all pages affected by a schema mapping       change at <a class="moz-txt-link-freetext" href="http://mappings.dbpedia.org/">http://mappings.dbpedia.org</a>.</li>
<li>Automatic reprocessing of pages that are not changed for more       than one month. The main objective of that feature is to that any       change in the DBpedia framework, e.g. addition/change of an       extractor, will eventually affect all extracted resources. It       also serves as fallback for technical problems in Wikipedia or       the update stream.</li>
<li>Publication of all changesets.</li>
<li>Provision of a tool to enable other DBpedia mirrors to be in       synchronization with our DBpedia Live endpoint. The tool       continuously downloads changesets and performs changes in a       specified triple store accordingly.</li>
</ol>
<p>Important Links:</p>
<ul>
<li>SPARQL-endpoint: <a class="moz-txt-link-freetext" href="http://live.dbpedia.org/sparql">http://live.dbpedia.org/sparql</a></li>
<li>DBpedia-Live Statistics: <a class="moz-txt-link-freetext" href="http://live.dbpedia.org/livestats">http://live.dbpedia.org/livestats</a></li>
<li>Changesets: <a class="moz-txt-link-freetext" href="http://live.dbpedia.org/liveupdates">http://live.dbpedia.org/liveupdates</a></li>
<li>Sourcecode: <a class="moz-txt-link-freetext" href="http://dbpedia.hg.sourceforge.net/hgweb/dbpedia/extraction_framework">http://dbpedia.hg.sourceforge.net/hgweb/dbpedia/extraction_framework</a></li>
<li>Synchronization Tool: <a class="moz-txt-link-freetext" href="http://sourceforge.net/projects/dbpintegrator/files/">http://sourceforge.net/projects/dbpintegrator/files/</a></li>
</ul>
<p>Thanks a lot to Mohamed Morsey, who implemented this version of DBpedia Live as well as to Sebastian Hellmann and Claus Stadler who worked on its predecessor. We also thank our partners at the FU Berlin and OpenLink as well as the <a href="http://lod2.eu/">LOD2 project</a> for their support.</p></div>
    </content>
    <updated>2011-07-09T10:50:25Z</updated>
    <category term="Dataset releases"/>
    <author>
      <name>Sören</name>
    </author>
    <source>
      <id>http://blog.dbpedia.org</id>
      <link href="http://blog.dbpedia.org" rel="alternate" type="text/html"/>
      <link href="http://blog.dbpedia.org/feed/rss2" rel="self" type="application/rss+xml"/>
      <subtitle>Querying Wikipedia like a Database.</subtitle>
      <title>DBpedia</title>
      <updated>2012-03-22T12:18:41Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:www.wikier.org,2011-06-30:c871469d6ae4aa2fe296223309e7d833/c201112b5b66461a39d8bc4abf25095f</id>
    <link href="http://www.wikier.org/blog/easily-document-your-vocabularies-ontologies-with-parrot" rel="alternate" type="text/html"/>
    <title>Easily document your vocabularies/ontologies with Parrot</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>After several months of development within <a href="http://ontorule-project.eu"><span class="caps">ONTORULE</span> project</a>, today <a href="http://dayures.net">Tejo</a> <a href="http://lists.w3.org/Archives/Public/semantic-web/2011Jun/0261.html">has finally announced</a> that <a href="http://ontorule-project.eu/news/news/parrot-is-online">Parrot is online</a>. This tool is the natural evolution of others, such as <a href="http://forge.morfeo-project.org/wiki_en/index.php/SpecGen">SpecGen</a> or <a href="http://neologism.deri.ie/">Neologism</a> ; not better, just different. It adds the possibility to generate documentation from several artifacts, not only vocabularies/ontologies, but rules too.</p>

	<p>Since the tool is also provided as online service, it introduces an interesting option: easily document your vocabularies/ontologies backed on this service. Based on <a href="http://www.w3.org/TR/swbp-vocab-pub/">the recipes</a> it’d easy to write the necessary rules on your <tt>.htaccess</tt> to use <a href="http://ontorule-project.eu/parrot">Parrot</a> in this way:</p>

	<p/><pre><br/>
RewriteEngine On<br/>
RewriteBase /exampledir<br/>
AddDefaultCharset utf-8<br/>
AddType application/rdf+xml .rdf<br/>
AddType application/rdf+xml .owl <p/>

	<p><code># Rewrite rule to serve HTML content from the vocabulary URI if requested </code><br/>
RewriteCond %{HTTP_ACCEPT} !application/rdf\+xml.*(text/html|application/xhtml\+xml) <br/>
RewriteCond %{HTTP_ACCEPT} text/html [OR] <br/>
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml [OR] <br/>
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/.* <br/>
RewriteRule ^example$ http://ontorule-project.eu/parrot/parrot?documentUri=http://example.org/exampledir/example.owl [R=303,L] </p>

	<p><code>#</code> Rewrite rule to serve <span class="caps">RDF</span>/XML content from the vocabulary <span class="caps">URI</span> if requested <br/>
RewriteCond %{HTTP_ACCEPT} application/rdf\+xml <br/>
RewriteRule ^example$ example.owl [R=303] </p>

	<p><code>#</code> Rewrite rule to serve the <span class="caps">RDF</span>/XML content from the vocabulary <span class="caps">URI</span> by default <br/>
RewriteRule ^example$ example.owl [R=303] <br/>
</p></pre><p/>

	<p>This configuration supposes that your vocabulary/ontology has <tt>http://example.org/exampledir/example#</tt> as namespace, and the location of the source file is <tt>http://example.org/exampledir/example.owl</tt>. But you can customize it as your convenience. </p>

	<p>For instance, <a href="http://ontorule-project.eu/parrot/parrot?documentUri=http://rdfs.org/sioc/ns">the documentation for <span class="caps">SIOC</span> would be this</a> . And based on the mappings provided by <a href="http://prefix.cc">prefix.cc</a>, Parrot also generates documentation from the most popular prefix of a vocabulary, such as <a href="http://ontorule-project.eu/parrot/parrot?documentUri=foaf">http://ontorule-project.eu/parrot/parrot?documentUri=foaf</a> for <span class="caps">FOAF</span>.</p>

	<p>Please, <a href="http://ontorule-project.eu/parrot/help">check the full features list</a> . And as usual, <a href="https://sourceforge.net/mailarchive/forum.php?forum_name=parrot-project-users">any comment is very welcome</a> !</p></div>
    </content>
    <updated>2011-06-30T14:15:47Z</updated>
    <author>
      <name>Sergio Fernández</name>
    </author>
    <source>
      <id>http://www.wikier.org/</id>
      <link href="http://www.wikier.org/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/wikier-semantics" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Sergio Fernández</subtitle>
      <title>Wikier.org - blog - Semantics</title>
      <updated>2012-05-10T12:23:08Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>urn:md5:c5cba70158816bbd1676e6cd5e75e525</id>
    <link href="http://blog.dbtune.org/post/2011/06/28/Using-RDFa-for-testing-templates" rel="alternate" type="text/html"/>
    <title>Using RDFa for testing templates</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I promised a bunch of people from the BBC that I would write about this, so
here it is! This is my first Software Engineering-related post, bear with me
:)</p>
<p>We recently released a new iteration of <a href="http://www.bbc.co.uk/programmes">/programmes</a>, built on top of a completely
new technology stack. As part of that move, we decided we wanted to review our
template testing strategy. In our old application, the process for a new
feature would basically be:</p>
<ol>
<li>Software Engineer writes models, controllers and data views;</li>
<li>Web Developer writes XHTML templates;</li>
<li>Software Engineer writes controller tests, which would actually test the
routes, the controllers and the templates (such controller 'unit tests' are
actually fairly standard across MVC frameworks, for some reason - e.g. in
<a href="http://akrabat.com/zend-framework/unit-testing-controller-actions-with-zend_test_phpunit_controllertestcase/">
Zend</a>)</li>
</ol>
<p>Those controller tests were based on CSS selectors or XPaths. Therefore, any
time a small front-end tweak needed to be done, the controller tests would
break, which is very annoying for everyone.</p>
<p>We had two problems:</p>
<ul>
<li>Our controller 'unit tests' were not really unit tests - front-end
developers shouldn't have to understand the whole routing, controllers, models
for making a front end change.</li>
<li>Using CSS selectors or XPaths for template tests is brittle. We don't want
our tests to break every time we change the name of a CSS class.</li>
</ul>
<p>In order to solve the first problem, we divided our controller tests in
route tests (here is a route, assert that the application forwards it to the
right controller/action with the right parameters), real unit controller tests
(mock the models, call an action with some request parameters, check that the
right data is sent to the view), and template tests.</p>
<p>In order to solve our second problem, we made those template tests rely on
<a href="http://www.w3.org/TR/rdfa-syntax/">RDFa markup</a> embedded within the
page. In order to test a template, we create some mock data, generate the
template using this data, and check the right RDF triples can be extracted from
the resulting page. It ensures that tests are actually based on data -
front-end changes won't have an impact on them. We just want to make sure we
present the right data to the user. As the tests are not relying on other
application code, it also means that someone writing the templates can maintain
his own test suite.</p>
<p>A simple example of one of these tests is the following one:</p>
<pre>    public function testLetterSearch()
    {
        $this-&gt;setDefaultComponent('/components/atoz/letters');
        $data = (object) array(
            "by"      =&gt; "by",
            "search"  =&gt; "b",
            "slice" =&gt; "player",
            "letters" =&gt; array('@', 'a', 'b', 'c'),
        );

        $this-&gt;assertTriples($data, array(
            array('/programmes/a-z/by/b', 'rdfs:seeAlso', '/programmes/a-z/by/%40/player'),
            array('/programmes/a-z/by/b', 'rdfs:seeAlso', '/programmes/a-z/by/a/player'),
            array('/programmes/a-z/by/b', 'rdfs:seeAlso', '/programmes/a-z/by/c/player'),
        ));
    }
</pre>
<p>which can be read as <q>if you are displaying a list of letters on an A-Z
page and you have selected one, you shouldn't link to that one</q></p>
<p>Another very nice side-effect is that developers have a motivation to put
lots of RDFa inside our pages! Compare the 168 triples extracted from a
<a href="http://www.bbc.co.uk/programmes/b00pqcg3">new /programmes page</a>,
including full tracklist information, programme metadata and broadcasts, to the
18 triples extracted from an <a href="http://www.bbc.co.uk/programmes/b01246hf">old one</a>. And as we add new
components to this page, more RDFa will become available.</p>
<p>Also, the speed at which our developers picked up RDFa (1.0, not even 1.1,
which is apparently simpler) defeats the eternal argument about RDFa being too
complicated, but that's just my opinion :) The <a href="http://linkeddata.deri.ie/services/tutorials/rdfa">RDFa cheat sheet</a> has
proved immensely helpful.</p></div>
    </summary>
    <updated>2011-06-28T10:52:00Z</updated>
    <author>
      <name>Yves</name>
    </author>
    <source>
      <id>http://blog.dbtune.org/</id>
      <link href="http://blog.dbtune.org/" rel="alternate" type="text/html"/>
      <link href="http://blog.dbtune.org:82/feed/rss2" rel="self" type="application/rss+xml"/>
      <subtitle>Creating a music-related web of data. These are my views and not those of the BBC.</subtitle>
      <title>DBTune blog</title>
      <updated>2012-05-16T13:07:17Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://hyperdata.org/blog/2011/06/</id>
    <link href="http://hyperdata.org/blog/2011/06/" rel="alternate" type="text/html"/>
    <title>links for 2011-06-15</title>
    <summary>Javascript PC Emulator – Technical Notes (tags: javascript pc emulator danbri) Big data and the semantic web – O'Reilly Radar (tags: edd rdf bigdata semweb)</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><ul class="delicious">
<li>
<div class="delicious-link"><a href="http://bellard.org/jslinux/tech.html">Javascript PC Emulator – Technical Notes</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/javascript">javascript</a> <a href="http://www.delicious.com/danja/pc">pc</a> <a href="http://www.delicious.com/danja/emulator">emulator</a> <a href="http://www.delicious.com/danja/danbri">danbri</a>)</div>
</li>
<li>
<div class="delicious-link"><a href="http://radar.oreilly.com/2011/06/big-data-and-the-semantic-web.html">Big data and the semantic web – O'Reilly Radar</a></div>
<div class="delicious-tags">(tags: <a href="http://www.delicious.com/danja/edd">edd</a> <a href="http://www.delicious.com/danja/rdf">rdf</a> <a href="http://www.delicious.com/danja/bigdata">bigdata</a> <a href="http://www.delicious.com/danja/semweb">semweb</a>)</div>
</li>
</ul></div>
    </content>
    <updated>2011-06-16T00:21:22Z</updated>
    <author>
      <name>danja</name>
    </author>
    <source>
      <id>http://hyperdata.org/blog</id>
      <link href="http://hyperdata.org/blog" rel="alternate" type="text/html"/>
      <link href="http://hyperdata.org/blog/feed/rdf/" rel="self" type="application/rdf+xml"/>
      <subtitle>Danny's linkiness</subtitle>
      <title>Hyperdata Blog</title>
      <updated>2011-07-29T00:22:44Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=962</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/MU5pgf4yfxA/" rel="alternate" type="text/html"/>
    <title>Structured Web Gets Massive Boost</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Structured Web Gets Massive Boost&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Structured Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-06-02&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/962/structured-web-gets-massive-boost/&amp;rft.language=English"/>
Contrary to Some Views, Google and Co.’s Microdata Effort will Also Boost RDF In my opinion, perhaps the most important event for the structured Web since RDF was released a dozen years ago was today’s joint announcement by the search engine triumvirate of Google, Bing and Yahoo! releasing Schema.org. Schema.org is a vendor specification for [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Structured Web Gets Massive Boost&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Adaptive Information&amp;rft.subject=Structured Web&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-06-02&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/962/structured-web-gets-massive-boost/&amp;rft.language=English"/>
<h2><a href="http://schema.org/"><img align="left" alt="Schema.org" hspace="5" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/2011Posts/110603_schema.org.png" title="Schema.org" vspace="5"/></a>Contrary to Some Views, Google and Co.’s Microdata Effort will Also         Boost RDF</h2>
<p>In my opinion, perhaps the most important event for the <a href="http://feeds.feedburner.com/../390/what-is-the-structured-web/">structured         Web</a> since <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a> was released a dozen years ago was today’s joint announcement by the search         engine triumvirate of <a href="http://googlewebmastercentral.blogspot.com/2011/06/introducing-schemaorg-search-engines.html"> Google</a>, <a href="http://www.bing.com/community/site_blogs/b/search/archive/2011/06/02/bing-google-and-yahoo-unite-to-build-the-web-of-objects.aspx"> Bing</a> and <a href="http://developer.yahoo.com/blogs/ydn/posts/2011/06/introducing-schema-org-a-collaboration-on-structured-data/"> Yahoo!</a> releasing <a href="http://www.schema.org/">Schema.org</a>.         Schema.org is a vendor specification for nearly 300 mini-schema (or         structured record definitions) that can be used to tag information in         Web pages. These schema are organized into a clean little hierarchy and         cover many of the leading things — from organizations to people to         products and creative works — that can be written about and         characterized on the Web.</p>
<p>These schema specifications are based on the <a href="http://en.wikipedia.org/wiki/Microdata_%28HTML5%29">microdata</a> standard presently under review as part of the pending <a href="http://en.wikipedia.org/wiki/HTML5">HTML5</a> specification. Microdata         are set record descriptions of key-value pair attributes that can be         embedded into the HTML Web page language. These microdata schema are         similar to <a href="http://en.wikipedia.org/wiki/Microformat">microformats</a>, but         broader in coverage and extensible. Microdata is also simpler than         <a href="http://en.wikipedia.org/wiki/RDFa">RDFa</a>, another <a href="http://en.wikipedia.org/wiki/W3C">W3C</a> specification that the         Schema.org organizers call “. . . extensible and very expressive, but         the substantial complexity of the language has contributed to slower         adoption.”</p>
<h3>Is the Initiative a Slap in RDF’s Face?</h3>
<p>Various forums have been alive with howls and questions from many RDF         and RDFa advocates that this initiative negates years of effort behind         those formats. Yet I and my company, <a href="http://structureddynamics.com/">Structured Dynamics</a>, which base our         entire technology approach on semantics and RDF, do not see this         announcement as a threat or rejection. What gives; what is the         difference in perspective?</p>
<p>In our view, RDF and its triple representations in its data model, is         the simplest and most expressive means to represent any data or any         data relationship. As such, RDF, and its language extensions such as         OWL and ontologies, provide a robust and flexible canonical data model         for capturing any extant data or schema. No matter what the native form         of the source information, we can boil it down to RDF and inter-relate         it to any other information. It is for these reasons (and others) we         have frequently termed RDF as the<em> universal data solvent</em>.</p>
<p>But, simple records and simple data need not be encumbered with the         complexity of RDF. We have long argued for the importance of <a href="http://feeds.feedburner.com/../471/structs-naive-data-formats-and-the-abox/"> naive data structs</a>. Many of these are simple key-value pairs where         the subject is implied. The so-called little structured data records in         Wikipedia, called infoboxes, are of this form. JSON and many simple         data formats also have cleaner data formats.</p>
<p>The basic fact that RDF provides a universal data model for any kind of         native data does not necessarily translate into its use as the actual         data exchange format. Rather, winning data exchange formats are those         that can be easily understood, easily expressed and therefore widely         used. I think there is a real prospect that microdata, ready for ingest         and expression by the Web’s leading search engines, may represent a         real sea change in the availability and expression of structured data         on the Web.</p>
<p>More structure — not less — is the real fuel that will promote         greater adoption of RDF when it comes time to interoperate that data.         The RDF community should rejoice that more structure will be coming to         the Web from Google et al.’s announcement. We should also soon see an         explosion of tools and utilities and services that make it easy to         automatically add such structure to Web pages via single clicks. Then,         once this structure is available, watch out!</p>
<p>So, while the backers of Schema.org also announced their continued         support for microformats and RDFa as they presently exist, I rather         suspect today’s announcement represents a denouement for these         alternative formats. Though these formats may be creatively destroyed,         I think the effect on RDF itself will be a profound and significant         boost. I foresee clarity coming to the marketplace regarding RDF’s         role:  as a canonical means for expressing data of any form, and         not necessarily as a data exchange format.</p>
<h3>The Initiative is No Surprise</h3>
<p>This initiative, led by Google, should be no surprise. Google is the         registered agent for the Schema.org Web site and has been the key         proponent of microdata via its support of <a href="http://ian.hixie.ch/">Ian Hickson</a> in the <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/">WhatWG</a> and HTML5 work groups. As I stated a <a href="http://feeds.feedburner.com/../481/massive-muscle-on-the-abox-at-google/">couple         of years back</a>, Google has also not hidden its interests in         structured data. Practically daily we see more structured data appear         in Google search results and it has maintained a very active program in         structured data extraction from text and tables for some years.</p>
<p>Google and its search engine partners recognize that search needs are         evolving from keyword retrievals to structure, relationships, and         filtered, targeted results. Those advances come from structure — as         well as the semantic relationships between things that something like         the Schema.org begins to represent.</p>
<p>Many within the W3C and elsewhere questioned why Google was pushing         microdata when there were competing options such as microformats or         RDFa (or even earlier variants). Of course, like Microsoft of a decade         earlier, some ascribed Google’s microdata advocacy as arising from         commercial interests or clout in advertising alone. Of course Google         has an economic interest in the growth and usefulness of the Web. But I         do not believe its advocacy to be premised on clout or “my way or the         highway.”</p>
<p>Google and the search engine triumvirate understand well — much better         than many of the researchers and academics that dominate mailing list         discussions — that use and adoption trump elegance and sophistication.         When one deconstructs the design of microdata and the nearly 300 schema now         released behind it, I think the pragmatic observer can only come to one         conclusion: Job well done!</p>
<h3>Why This is Exciting</h3>
<p>I have been a fervent <a href="http://feeds.feedburner.com/../483/advantages-and-myths-of-rdf/">RDF         advocate</a> for nearly a decade and have also been a vocal proponent         of the structured Web as a necessary stepping stone to the semantic         Web. In fact, here is a repeat of a diagram I have used many times over         the past 5 years:</p>
<table border="0">
<tbody>
<tr>
<td colspan="4"><img align="top" alt="Transition in Web Structure" class="aligncenter" src="http://feeds.feedburner.com/../wp-content/themes/ai3/images/2007Posts/070720_web_transition.jpg"/></td>
</tr>
<tr>
<td>Document Web</td>
<td colspan="2">Structured Web</td>
<td>
<div>Semantic Web</div>
</td>
</tr>
<tr>
<td/>
<td/>
<td>Linked Data</td>
<td/>
</tr>
<tr>
<td>
<ul>
<li> <small>Document-centric</small></li>
<li> <small>Document resources</small></li>
<li> <small>Unstructured data and semi-structured data</small></li>
<li> <small>HTML<br/>
</small></li>
<li> <small>URL-centric</small></li>
<li> <small>circa 1993<br/>
</small></li>
</ul>
</td>
<td>
<ul>
<li> <small>Data-centric</small></li>
<li> <small>Structured data<br/>
</small></li>
<li> <small>Semi-structured data and structured data</small></li>
<li> <small>XML, JSON, RDF, etc<br/>
</small></li>
<li> <small>URI-centric</small></li>
<li> <small>circa 2003<br/>
</small></li>
</ul>
</td>
<td>
<ul>
<li> <small>Data-centric</small></li>
<li> <small>Linked data<br/>
</small></li>
<li> <small>Semi-structured data and structured data</small></li>
<li> <small>RDF, RDF-S<br/>
</small></li>
<li> <small>URI-centric</small></li>
<li> <small>circa 2007<br/>
</small></li>
</ul>
</td>
<td>
<ul>
<li> <small>Data-centric</small></li>
<li> <small>Linked data<br/>
</small></li>
<li> <small>Semi-structured data and structured data</small></li>
<li> <small>RDF, RDF-S, OWL<br/>
</small></li>
<li> <small>URI-centric</small></li>
<li> <small>circa                   ???</small></li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>When one looks at the schema of schema that accompany today’s         announcement, it is really clear just how encompassing and important         these instant standards will become:</p>
<table border="0" cellpadding="4" cellspacing="0" style="text-align: left; width: 100%; margin-bottom: 10px;">
<tbody>
<tr>
<td style="vertical-align: top;" width="33%"><small><a id="DataType" name="DataType"/><a href="http://schema.org/DataType">DataType</a><br/>
</small> <p/>
<div style="margin-left: 24px;"><small><a href="http://schema.org/Boolean">Boolean</a></small><br/>
<small><a id="Date" name="Date"/><a href="http://schema.org/Date">Date</a></small> <p/>
<div style="margin-left: 24px;"><small><a id="Number" name="Number"/><a href="http://schema.org/Number">Number</a></small><small><a id="Float" name="Float"/><a href="http://schema.org/Float">Float</a></small></div>
<p><small><a id="Integer" name="Integer"/><a href="http://schema.org/Integer">Integer</a></small><br/>
<small><a id="Text" name="Text"/><a href="http://schema.org/Text">Text</a></small></p>
<div style="margin-left: 24px;"><small><a id="URL" name="URL"/><a href="http://schema.org/URL">URL</a></small></div>
</div>
<p><small> <a id="Thing" name="Thing"/><a href="http://schema.org/Thing">Thing</a></small></p>
<div style="margin-left: 24px;"><small><a id="Intangible" name="Intangible"/><a href="http://schema.org/Intangible">Intangible</a></small> <p/>
<div style="margin-left: 24px;"><small><a id="Enumeration" name="Enumeration"/><a href="http://schema.org/Enumeration">Enumeration</a></small> <p/>
<div style="margin-left: 24px;"><small><a id="BookFormatType" name="BookFormatType"/><a href="http://schema.org/BookFormatType">BookFormatType</a></small><br/>
<small><a id="ItemAvailability" name="ItemAvailability"/><a href="http://schema.org/ItemAvailability">ItemAvailability</a></small><br/>
<small><a id="OfferItemCondition" name="OfferItemCondition"/><a href="http://schema.org/OfferItemCondition">OfferItemCondition</a></small></div>
<p><small><a id="Language" name="Language"/><a href="http://schema.org/Language">Language</a></small><br/>
<small><a id="Offer" name="Offer"/><a href="http://schema.org/Offer">Offer</a></small></p>
<div style="margin-left: 24px;"><small><a id="AggregateOffer" name="AggregateOffer"/><a href="http://schema.org/AggregateOffer">AggregateOffer</a></small></div>
<p><small><a id="Quantity" name="Quantity"/><a href="http://schema.org/Quantity">Quantity</a></small></p>
<div style="margin-left: 24px;"><small><a id="Distance" name="Distance"/><a href="http://schema.org/Distance">Distance</a></small><br/>
<small><a id="Duration" name="Duration"/><a href="http://schema.org/Duration">Duration</a></small><br/>
<small><a id="Mass" name="Mass"/><a href="http://schema.org/Mass">Mass</a></small></div>
<p><small><a id="Rating" name="Rating"/><a href="http://schema.org/Rating">Rating</a></small></p>
<div style="margin-left: 24px;"><small><a id="AggregateRating" name="AggregateRating"/><a href="http://schema.org/AggregateRating">AggregateRating</a></small></div>
<p><small><a id="StructuredValue" name="StructuredValue"/><a href="http://schema.org/StructuredValue">StructuredValue</a></small></p>
<div style="margin-left: 24px;">
<p><small><a id="ContactPoint" name="ContactPoint"/><a href="http://schema.org/ContactPoint">ContactPoint</a></small></p>
<div style="margin-left: 24px;"><small><a id="PostalAddress" name="PostalAddress"/><a href="http://schema.org/PostalAddress">PostalAddress</a></small></div>
<p><small><a id="GeoCoordinates" name="GeoCoordinates"/><a href="http://schema.org/GeoCoordinates">GeoCoordinates</a></small><br/>
<small><a id="NutritionInformation" name="NutritionInformation"/><a href="http://schema.org/NutritionInformation">NutritionInformation</a></small></p>
</div>
</div>
<p><small><a id="CreativeWork" name="CreativeWork"/><a href="http://schema.org/CreativeWork">CreativeWork</a></small></p>
<div style="margin-left: 24px;"><small><a id="Article" name="Article"/><a href="http://schema.org/Article">Article</a></small> <p/>
<div style="margin-left: 24px;"><small><a id="BlogPosting" name="BlogPosting"/><a href="http://schema.org/BlogPosting">BlogPosting</a></small><br/>
<small><a id="NewsArticle" name="NewsArticle"/><a href="http://schema.org/NewsArticle">NewsArticle</a></small><br/>
<small><a id="ScholarlyArticle" name="ScholarlyArticle"/><a href="http://schema.org/ScholarlyArticle">ScholarlyArticle</a></small></div>
<p><small><a id="Blog" name="Blog"/><a href="http://schema.org/Blog">Blog</a></small><br/>
<small><a id="Book" name="Book"/><a href="http://schema.org/Book">Book</a></small><br/>
<small><a id="ItemList" name="ItemList"/><a href="http://schema.org/ItemList">ItemList</a></small><br/>
<small><a id="Map" name="Map"/><a href="http://schema.org/Map">Map</a></small><br/>
<small><a id="MediaObject" name="MediaObject"/><a href="http://schema.org/MediaObject">MediaObject</a></small></p>
<div style="margin-left: 24px;"><small><a id="AudioObject" name="AudioObject"/><a href="http://schema.org/AudioObject">AudioObject</a></small><br/>
<small><a id="ImageObject" name="ImageObject"/><a href="http://schema.org/ImageObject">ImageObject</a></small><br/>
<small><a id="MusicVideoObject" name="MusicVideoObject"/><a href="http://schema.org/MusicVideoObject">MusicVideoObject</a></small><br/>
<small><a id="VideoObject" name="VideoObject"/><a href="http://schema.org/VideoObject">VideoObject</a></small></div>
<p><small><a id="Movie" name="Movie"/><a href="http://schema.org/Movie">Movie</a></small><br/>
<small><a id="MusicPlaylist" name="MusicPlaylist"/><a href="http://schema.org/MusicPlaylist">MusicPlaylist</a></small></p>
<div style="margin-left: 24px;"><small><a id="MusicAlbum" name="MusicAlbum"/><a href="http://schema.org/MusicAlbum">MusicAlbum</a></small></div>
<p><small><a id="MusicRecording" name="MusicRecording"/><a href="http://schema.org/MusicRecording">MusicRecording</a></small><br/>
<small><a id="Painting" name="Painting"/><a href="http://schema.org/Painting">Painting</a></small><br/>
<small><a id="Photograph" name="Photograph"/><a href="http://schema.org/Photograph">Photograph</a></small><br/>
<small><a id="Recipe" name="Recipe"/><a href="http://schema.org/Recipe">Recipe</a></small><br/>
<small><a id="Review" name="Review"/><a href="http://schema.org/Review">Review</a></small><br/>
<small><a id="Sculpture" name="Sculpture"/><a href="http://schema.org/Sculpture">Sculpture</a></small><br/>
<small><a id="TVEpisode" name="TVEpisode"/><a href="http://schema.org/TVEpisode">TVEpisode</a></small><br/>
<small><a id="TVSeason" name="TVSeason"/><a href="http://schema.org/TVSeason">TVSeason</a></small><br/>
<small><a id="TVSeries" name="TVSeries"/><a href="http://schema.org/TVSeries">TVSeries</a></small><br/>
<small><a id="WebPage" name="WebPage"/><a href="http://schema.org/WebPage">WebPage</a></small></p>
<div style="margin-left: 24px;"><small><a id="AboutPage" name="AboutPage"/><a href="http://schema.org/AboutPage">AboutPage</a></small><br/>
<small><a id="CheckoutPage" name="CheckoutPage"/><a href="http://schema.org/CheckoutPage">CheckoutPage</a></small><br/>
<small><a id="CollectionPage" name="CollectionPage"/><a href="http://schema.org/CollectionPage">CollectionPage</a></small><br/>
<small><a id="ImageGallery" name="ImageGallery"/><a href="http://schema.org/ImageGallery">ImageGallery</a></small><br/>
<small><a id="VideoGallery" name="VideoGallery"/><a href="http://schema.org/VideoGallery">VideoGallery</a></small><br/>
<small><a id="ContactPage" name="ContactPage"/><a href="http://schema.org/ContactPage">ContactPage</a></small><br/>
<small><a id="ItemPage" name="ItemPage"/><a href="http://schema.org/ItemPage">ItemPage</a></small><br/>
<small><a id="ProfilePage" name="ProfilePage"/><a href="http://schema.org/ProfilePage">ProfilePage</a></small><br/>
<small><a id="SearchResultsPage" name="SearchResultsPage"/><a href="http://schema.org/SearchResultsPage">SearchResultsPage</a></small></div>
<p><small><a id="WebPageElement" name="WebPageElement"/><a href="http://schema.org/WebPageElement">WebPageElement</a></small></p>
<div style="margin-left: 24px;"><small><a id="SiteNavigationElement" name="SiteNavigationElement"/><a href="http://schema.org/SiteNavigationElement">SiteNavigationElement</a></small><br/>
<small><a id="Table" name="Table"/><a href="http://schema.org/Table">Table</a></small><br/>
<small><a id="WPAdBlock" name="WPAdBlock"/><a href="http://schema.org/WPAdBlock">WPAdBlock</a></small><br/>
<small><a id="WPFooter" name="WPFooter"/><a href="http://schema.org/WPFooter">WPFooter</a></small><br/>
<small><a id="WPHeader" name="WPHeader"/><a href="http://schema.org/WPHeader">WPHeader</a></small><br/>
<small><a id="WPSideBar" name="WPSideBar"/><a href="http://schema.org/WPSideBar">WPSideBar</a></small></div>
</div>
<p><small><a id="Event" name="Event"/><a href="http://schema.org/Event">Event</a></small></p>
<div style="margin-left: 24px;"><small><a id="BusinessEvent" name="BusinessEvent"/><a href="http://schema.org/BusinessEvent">BusinessEvent</a></small><br/>
<small><a id="ChildrensEvent" name="ChildrensEvent"/><a href="http://schema.org/ChildrensEvent">ChildrensEvent</a></small><br/>
<small><a id="ComedyEvent" name="ComedyEvent"/><a href="http://schema.org/ComedyEvent">ComedyEvent</a></small><br/>
<small><a id="DanceEvent" name="DanceEvent"/><a href="http://schema.org/DanceEvent">DanceEvent</a></small><br/>
<small><a id="EducationEvent" name="EducationEvent"/><a href="http://schema.org/EducationEvent">EducationEvent</a></small><br/>
<small><a id="Festival" name="Festival"/><a href="http://schema.org/Festival">Festival</a></small><br/>
<small><a id="FoodEvent" name="FoodEvent"/><a href="http://schema.org/FoodEvent">FoodEvent</a></small><br/>
<small><a id="LiteraryEvent" name="LiteraryEvent"/><a href="http://schema.org/LiteraryEvent">LiteraryEvent</a></small><br/>
<small><a id="MusicEvent" name="MusicEvent"/><a href="http://schema.org/MusicEvent">MusicEvent</a></small><br/>
<small><a id="SaleEvent" name="SaleEvent"/><a href="http://schema.org/SaleEvent">SaleEvent</a></small><br/>
<small><a id="SocialEvent" name="SocialEvent"/><a href="http://schema.org/SocialEvent">SocialEvent</a></small><br/>
<small><a id="SportsEvent" name="SportsEvent"/><a href="http://schema.org/SportsEvent">SportsEvent</a></small><br/>
<small><a id="TheaterEvent" name="TheaterEvent"/><a href="http://schema.org/TheaterEvent">TheaterEvent</a></small><br/>
<small><a id="UserInteraction" name="UserInteraction"/><a href="http://schema.org/UserInteraction">UserInteraction</a></small> <p/>
<div style="margin-left: 24px;"><small><a id="UserBlocks" name="UserBlocks"/><a href="http://schema.org/UserBlocks">UserBlocks</a></small><br/>
<small><a id="UserCheckins" name="UserCheckins"/><a href="http://schema.org/UserCheckins">UserCheckins</a></small><br/>
<small><a id="UserComments" name="UserComments"/><a href="http://schema.org/UserComments">UserComments</a></small><br/>
<small><a id="UserDownloads" name="UserDownloads"/><a href="http://schema.org/UserDownloads">UserDownloads</a></small><br/>
<small><a id="UserLikes" name="UserLikes"/><a href="http://schema.org/UserLikes">UserLikes</a></small><br/>
<small><a id="UserPageVisits" name="UserPageVisits"/><a href="http://schema.org/UserPageVisits">UserPageVisits</a></small><br/>
<small><a id="UserPlays" name="UserPlays"/><a href="http://schema.org/UserPlays">UserPlays</a></small><br/>
<small><a id="UserPlusOnes" name="UserPlusOnes"/><a href="http://schema.org/UserPlusOnes">UserPlusOnes</a></small><br/>
<small><a id="UserTweets" name="UserTweets"/><a href="http://schema.org/UserTweets">UserTweets</a></small></div>
<p><small><a id="VisualArtsEvent" name="VisualArtsEvent"/><a href="http://schema.org/VisualArtsEvent">VisualArtsEvent</a></small></p>
</div>
</div>
</td>
<td style="vertical-align: top;" width="33%"><small><a id="Organization" name="Organization"/><a href="http://schema.org/Organization">Organization</a><br/>
</small> <p/>
<div style="margin-left: 24px;">
<p><small><a href="http://schema.org/LocalBusiness">LocalBusiness</a></small></p>
<div style="margin-left: 24px;"><small><a id="AnimalShelter" name="AnimalShelter"/><a href="http://schema.org/AnimalShelter">AnimalShelter</a></small><br/>
<small><a id="AutomotiveBusiness" name="AutomotiveBusiness"/><a href="http://schema.org/AutomotiveBusiness">AutomotiveBusiness</a></small> <p/>
<div style="margin-left: 24px;"><small><a id="AutoBodyShop" name="AutoBodyShop"/><a href="http://schema.org/AutoBodyShop">AutoBodyShop</a></small><br/>
<small><a id="AutoDealer" name="AutoDealer"/><a href="http://schema.org/AutoDealer">AutoDealer</a></small><br/>
<small><a id="AutoPartsStore" name="AutoPartsStore"/><a href="http://schema.org/AutoPartsStore">AutoPartsStore</a></small><br/>
<small><a id="AutoRental" name="AutoRental"/><a href="http://schema.org/AutoRental">AutoRental</a></small><br/>
<small><a id="AutoRepair" name="AutoRepair"/><a href="http://schema.org/AutoRepair">AutoRepair</a></small><br/>
<small><a id="AutoWash" name="AutoWash"/><a href="http://schema.org/AutoWash">AutoWash</a></small><br/>
<small><a id="GasStation" name="GasStation"/><a href="http://schema.org/GasStation">GasStation</a></small><br/>
<small><a id="MotorcycleDealer" name="MotorcycleDealer"/><a href="http://schema.org/MotorcycleDealer">MotorcycleDealer</a></small><br/>
<small><a id="MotorcycleRepair" name="MotorcycleRepair"/><a href="http://schema.org/MotorcycleRepair">MotorcycleRepair</a></small></div>
<p><small><a id="ChildCare" name="ChildCare"/><a href="http://schema.org/ChildCare">ChildCare</a></small><br/>
<small><a id="DryCleaningOrLaundry" name="DryCleaningOrLaundry"/><a href="http://schema.org/DryCleaningOrLaundry">DryCleaningOrLaundry</a></small><br/>
<small><a id="EmergencyService" name="EmergencyService"/><a href="http://schema.org/EmergencyService">EmergencyService</a></small></p>
<div style="margin-left: 24px;"><small><a id="FireStation" name="FireStation"/><a href="http://schema.org/FireStation">FireStation</a></small><br/>
<small><a id="Hospital" name="Hospital"/><a href="http://schema.org/Hospital">Hospital</a></small><br/>
<small><a id="PoliceStation" name="PoliceStation"/><a href="http://schema.org/PoliceStation">PoliceStation</a></small></div>
<p><small><a id="EmploymentAgency" name="EmploymentAgency"/><a href="http://schema.org/EmploymentAgency">EmploymentAgency</a></small><br/>
<small><a id="EntertainmentBusiness" name="EntertainmentBusiness"/><a href="http://schema.org/EntertainmentBusiness">EntertainmentBusiness</a></small></p>
<div style="margin-left: 24px;"><small><a id="AdultEntertainment" name="AdultEntertainment"/><a href="http://schema.org/AdultEntertainment">AdultEntertainment</a></small><br/>
<small><a id="AmusementPark" name="AmusementPark"/><a href="http://schema.org/AmusementPark">AmusementPark</a></small><br/>
<small><a id="ArtGallery" name="ArtGallery"/><a href="http://schema.org/ArtGallery">ArtGallery</a></small><br/>
<small><a id="Casino" name="Casino"/><a href="http://schema.org/Casino">Casino</a></small><br/>
<small><a id="ComedyClub" name="ComedyClub"/><a href="http://schema.org/ComedyClub">ComedyClub</a></small><br/>
<small><a id="MovieTheater" name="MovieTheater"/><a href="http://schema.org/MovieTheater">MovieTheater</a></small><br/>
<small><a id="NightClub" name="NightClub"/><a href="http://schema.org/NightClub">NightClub</a></small></div>
<p><small><a id="FinancialService" name="FinancialService"/><a href="http://schema.org/FinancialService">FinancialService</a></small></p>
<div style="margin-left: 24px;"><small><a id="AccountingService" name="AccountingService"/><a href="http://schema.org/AccountingService">AccountingService</a></small><br/>
<small><a id="AutomatedTeller" name="AutomatedTeller"/><a href="http://schema.org/AutomatedTeller">AutomatedTeller</a></small><br/>
<small><a id="BankOrCreditUnion" name="BankOrCreditUnion"/><a href="http://schema.org/BankOrCreditUnion">BankOrCreditUnion</a></small><br/>
<small><a id="InsuranceAgency" name="InsuranceAgency"/><a href="http://schema.org/InsuranceAgency">InsuranceAgency</a></small></div>
<p><small><a id="FoodEstablishment" name="FoodEstablishment"/><a href="http://schema.org/FoodEstablishment">FoodEstablishment</a></small></p>
<div style="margin-left: 24px;"><small><a id="Bakery" name="Bakery"/><a href="http://schema.org/Bakery">Bakery</a></small><br/>
<small><a id="BarOrPub" name="BarOrPub"/><a href="http://schema.org/BarOrPub">BarOrPub</a></small><br/>
<small><a id="Brewery" name="Brewery"/><a href="http://schema.org/Brewery">Brewery</a></small><br/>
<small><a id="CafeOrCoffeeShop" name="CafeOrCoffeeShop"/><a href="http://schema.org/CafeOrCoffeeShop">CafeOrCoffeeShop</a></small><br/>
<small><a id="FastFoodRestaurant" name="FastFoodRestaurant"/><a href="http://schema.org/FastFoodRestaurant">FastFoodRestaurant</a></small><br/>
<small><a id="IceCreamShop" name="IceCreamShop"/><a href="http://schema.org/IceCreamShop">IceCreamShop</a></small><br/>
<small><a id="Restaurant" name="Restaurant"/><a href="http://schema.org/Restaurant">Restaurant</a></small><br/>
<small><a id="Winery" name="Winery"/><a href="http://schema.org/Winery">Winery</a></small></div>
<p><small><a id="GovernmentOffice" name="GovernmentOffice"/><a href="http://schema.org/GovernmentOffice">GovernmentOffice</a></small></p>
<div style="margin-left: 24px;"><small><a id="PostOffice" name="PostOffice"/><a href="http://schema.org/PostOffice">PostOffice</a></small></div>
<p><small><a id="HealthAndBeautyBusiness" name="HealthAndBeautyBusiness"/><a href="http://schema.org/HealthAndBeautyBusiness">HealthAndBeautyBusiness</a></small></p>
<div style="margin-left: 24px;"><small><a id="BeautySalon" name="BeautySalon"/><a href="http://schema.org/BeautySalon">BeautySalon</a></small><br/>
<small><a id="DaySpa" name="DaySpa"/><a href="http://schema.org/DaySpa">DaySpa</a></small><br/>
<small><a id="HairSalon" name="HairSalon"/><a href="http://schema.org/HairSalon">HairSalon</a></small><br/>
<small><a id="HealthClub" name="HealthClub"/><a href="http://schema.org/HealthClub">HealthClub</a></small><br/>
<small><a id="NailSalon" name="NailSalon"/><a href="http://schema.org/NailSalon">NailSalon</a></small><br/>
<small><a id="TattooParlor" name="TattooParlor"/><a href="http://schema.org/TattooParlor">TattooParlor</a></small></div>
<p><small><a id="HomeAndConstructionBusiness" name="HomeAndConstructionBusiness"/><a href="http://schema.org/HomeAndConstructionBusiness">HomeAndConstructionBusiness</a></small></p>
<div style="margin-left: 24px;"><small><a id="Electrician" name="Electrician"/><a href="http://schema.org/Electrician">Electrician</a></small><br/>
<small><a id="GeneralContractor" name="GeneralContractor"/><a href="http://schema.org/GeneralContractor">GeneralContractor</a></small><br/>
<small><a id="HVACBusiness" name="HVACBusiness"/><a href="http://schema.org/HVACBusiness">HVACBusiness</a></small><br/>
<small><a id="HousePainter" name="HousePainter"/><a href="http://schema.org/HousePainter">HousePainter</a></small><br/>
<small><a id="Locksmith" name="Locksmith"/><a href="http://schema.org/Locksmith">Locksmith</a></small><br/>
<small><a id="MovingCompany" name="MovingCompany"/><a href="http://schema.org/MovingCompany">MovingCompany</a></small><br/>
<small><a id="Plumber" name="Plumber"/><a href="http://schema.org/Plumber">Plumber</a></small><br/>
<small><a id="RoofingContractor" name="RoofingContractor"/><a href="http://schema.org/RoofingContractor">RoofingContractor</a></small></div>
<p><small><a id="InternetCafe" name="InternetCafe"/><a href="http://schema.org/InternetCafe">InternetCafe</a></small><br/>
<small><a id="Library" name="Library"/><a href="http://schema.org/Library">Library</a></small><br/>
<small><a id="LodgingBusiness" name="LodgingBusiness"/><a href="http://schema.org/LodgingBusiness">LodgingBusiness</a></small></p>
<div style="margin-left: 24px;"><small><a id="BedAndBreakfast" name="BedAndBreakfast"/><a href="http://schema.org/BedAndBreakfast">BedAndBreakfast</a></small><br/>
<small><a id="Hostel" name="Hostel"/><a href="http://schema.org/Hostel">Hostel</a></small><br/>
<small><a id="Hotel" name="Hotel"/><a href="http://schema.org/Hotel">Hotel</a></small><br/>
<small><a id="Motel" name="Motel"/><a href="http://schema.org/Motel">Motel</a></small></div>
<p><small><a id="MedicalOrganization" name="MedicalOrganization"/><a href="http://schema.org/MedicalOrganization">MedicalOrganization</a></small></p>
<div style="margin-left: 24px;"><small><a id="Dentist" name="Dentist"/><a href="http://schema.org/Dentist">Dentist</a></small><br/>
<small><a href="http://schema.org/docs/full.html#Hospital">Hospital</a></small><br/>
<small><a id="MedicalClinic" name="MedicalClinic"/><a href="http://schema.org/MedicalClinic">MedicalClinic</a></small><br/>
<small><a id="Optician" name="Optician"/><a href="http://schema.org/Optician">Optician</a></small><br/>
<small><a id="Pharmacy" name="Pharmacy"/><a href="http://schema.org/Pharmacy">Pharmacy</a></small><br/>
<small><a id="Physician" name="Physician"/><a href="http://schema.org/Physician">Physician</a></small><br/>
<small><a id="VeterinaryCare" name="VeterinaryCare"/><a href="http://schema.org/VeterinaryCare">VeterinaryCare</a></small></div>
<p><small><a id="ProfessionalService" name="ProfessionalService"/><a href="http://schema.org/ProfessionalService">ProfessionalService</a></small></p>
<div style="margin-left: 24px;"><small><a href="http://schema.org/docs/full.html#AccountingService">AccountingService</a></small><br/>
<small><a id="Attorney" name="Attorney"/><a href="http://schema.org/Attorney">Attorney</a></small><br/>
<small><a href="http://schema.org/docs/full.html#Dentist">Dentist</a></small><br/>
<small><a href="http://schema.org/docs/full.html#Electrician">Electrician</a></small><br/>
<small><a href="http://schema.org/docs/full.html#GeneralContractor">GeneralContractor</a></small><br/>
<small><a href="http://schema.org/docs/full.html#HousePainter">HousePainter</a></small><br/>
<small><a href="http://schema.org/docs/full.html#Locksmith">Locksmith</a></small><br/>
<small><a id="Notary" name="Notary"/><a href="http://schema.org/Notary">Notary</a></small><br/>
<small><a href="http://schema.org/docs/full.html#Plumber">Plumber</a></small><br/>
<small><a href="http://schema.org/docs/full.html#RoofingContractor">RoofingContractor</a></small></div>
<p><small><a id="RadioStation" name="RadioStation"/><a href="http://schema.org/RadioStation">RadioStation</a></small><br/>
<small><a id="RealEstateAgent" name="RealEstateAgent"/><a href="http://schema.org/RealEstateAgent">RealEstateAgent</a></small><br/>
<small><a id="RecyclingCenter" name="RecyclingCenter"/><a href="http://schema.org/RecyclingCenter">RecyclingCenter</a></small><br/>
<small><a id="SelfStorage" name="SelfStorage"/><a href="http://schema.org/SelfStorage">SelfStorage</a></small><br/>
<small><a id="ShoppingCenter" name="ShoppingCenter"/><a href="http://schema.org/ShoppingCenter">ShoppingCenter</a></small><br/>
<small><a id="SportsActivityLocation" name="SportsActivityLocation"/><a href="http://schema.org/SportsActivityLocation">SportsActivityLocation</a></small></p>
<div style="margin-left: 24px;"><small><a id="BowlingAlley" name="BowlingAlley"/><a href="http://schema.org/BowlingAlley">BowlingAlley</a></small><br/>
<small><a id="ExerciseGym" name="ExerciseGym"/><a href="http://schema.org/ExerciseGym">ExerciseGym</a></small><br/>
<small><a id="GolfCourse" name="GolfCourse"/><a href="http://schema.org/GolfCourse">GolfCourse</a></small><br/>
<small><a href="http://schema.org/docs/full.html#HealthClub">HealthClub</a></small><br/>
<small><a id="PublicSwimmingPool" name="PublicSwimmingPool"/><a href="http://schema.org/PublicSwimmingPool">PublicSwimmingPool</a></small><br/>
<small><a id="SkiResort" name="SkiResort"/><a href="http://schema.org/SkiResort">SkiResort</a></small><br/>
<small><a id="SportsClub" name="SportsClub"/><a href="http://schema.org/SportsClub">SportsClub</a></small><br/>
<small><a id="StadiumOrArena" name="StadiumOrArena"/><a href="http://schema.org/StadiumOrArena">StadiumOrArena</a></small><br/>
<small><a id="TennisComplex" name="TennisComplex"/><a href="http://schema.org/TennisComplex">TennisComplex</a></small></div>
<p><small><a id="Store" name="Store"/><a href="http://schema.org/Store">Store</a></small></p>
<div style="margin-left: 24px;"><small><a href="http://schema.org/docs/full.html#AutoPartsStore">AutoPartsStore</a></small><br/>
<small><a id="BikeStore" name="BikeStore"/><a href="http://schema.org/BikeStore">BikeStore</a></small><br/>
<small><a id="BookStore" name="BookStore"/><a href="http://schema.org/BookStore">BookStore</a></small><br/>
<small><a id="ClothingStore" name="ClothingStore"/><a href="http://schema.org/ClothingStore">ClothingStore</a></small><br/>
<small><a id="ComputerStore" name="ComputerStore"/><a href="http://schema.org/ComputerStore">ComputerStore</a></small><br/>
<small><a id="ConvenienceStore" name="ConvenienceStore"/><a href="http://schema.org/ConvenienceStore">ConvenienceStore</a></small><br/>
<small><a id="DepartmentStore" name="DepartmentStore"/><a href="http://schema.org/DepartmentStore">DepartmentStore</a></small><br/>
<small><a id="ElectronicsStore" name="ElectronicsStore"/><a href="http://schema.org/ElectronicsStore">ElectronicsStore</a></small><br/>
<small><a id="Florist" name="Florist"/><a href="http://schema.org/Florist">Florist</a></small><br/>
<small><a id="FurnitureStore" name="FurnitureStore"/><a href="http://schema.org/FurnitureStore">FurnitureStore</a></small><br/>
<small><a id="GardenStore" name="GardenStore"/><a href="http://schema.org/GardenStore">GardenStore</a></small><br/>
<small><a id="GroceryStore" name="GroceryStore"/><a href="http://schema.org/GroceryStore">GroceryStore</a></small><br/>
<small><a id="HardwareStore" name="HardwareStore"/><a href="http://schema.org/HardwareStore">HardwareStore</a></small><br/>
<small><a id="HobbyShop" name="HobbyShop"/><a href="http://schema.org/HobbyShop">HobbyShop</a></small><br/>
<small><a id="HomeGoodsStore" name="HomeGoodsStore"/><a href="http://schema.org/HomeGoodsStore">HomeGoodsStore</a></small><br/>
<small><a id="JewelryStore" name="JewelryStore"/><a href="http://schema.org/JewelryStore">JewelryStore</a></small><br/>
<small><a id="LiquorStore" name="LiquorStore"/><a href="http://schema.org/LiquorStore">LiquorStore</a></small><br/>
<small><a id="MensClothingStore" name="MensClothingStore"/><a href="http://schema.org/MensClothingStore">MensClothingStore</a></small><br/>
<small><a id="MobilePhoneStore" name="MobilePhoneStore"/><a href="http://schema.org/MobilePhoneStore">MobilePhoneStore</a></small><br/>
<small><a id="MovieRentalStore" name="MovieRentalStore"/><a href="http://schema.org/MovieRentalStore">MovieRentalStore</a></small><br/>
<small><a id="MusicStore" name="MusicStore"/><a href="http://schema.org/MusicStore">MusicStore</a></small><br/>
<small><a id="OfficeEquipmentStore" name="OfficeEquipmentStore"/><a href="http://schema.org/OfficeEquipmentStore">OfficeEquipmentStore</a></small><br/>
<small><a id="OutletStore" name="OutletStore"/><a href="http://schema.org/OutletStore">OutletStore</a></small><br/>
<small><a id="PawnShop" name="PawnShop"/><a href="http://schema.org/PawnShop">PawnShop</a></small><br/>
<small><a id="PetStore" name="PetStore"/><a href="http://schema.org/PetStore">PetStore</a></small><br/>
<small><a id="ShoeStore" name="ShoeStore"/><a href="http://schema.org/ShoeStore">ShoeStore</a></small><br/>
<small><a id="SportingGoodsStore" name="SportingGoodsStore"/><a href="http://schema.org/SportingGoodsStore">SportingGoodsStore</a></small><br/>
<small><a id="TireShop" name="TireShop"/><a href="http://schema.org/TireShop">TireShop</a></small><br/>
<small><a id="ToyStore" name="ToyStore"/><a href="http://schema.org/ToyStore">ToyStore</a></small><br/>
<small><a id="WholesaleStore" name="WholesaleStore"/><a href="http://schema.org/WholesaleStore">WholesaleStore</a></small></div>
<p><small><a id="TelevisionStation" name="TelevisionStation"/><a href="http://schema.org/TelevisionStation">TelevisionStation</a></small><br/>
<small><a id="TouristInformationCenter" name="TouristInformationCenter"/><a href="http://schema.org/TouristInformationCenter">TouristInformationCenter</a></small><br/>
<small><a id="TravelAgency" name="TravelAgency"/><a href="http://schema.org/TravelAgency">TravelAgency</a></small></p>
</div>
<p><small><a id="NGO" name="NGO"/><a href="http://schema.org/NGO">NGO</a></small></p>
<div style="margin-left: 24px;"><small><a id="PerformingGroup" name="PerformingGroup"/><a href="http://schema.org/PerformingGroup">PerformingGroup</a></small><br/>
<small><a id="DanceGroup" name="DanceGroup"/><a href="http://schema.org/DanceGroup">DanceGroup</a></small><br/>
<small><a id="MusicGroup" name="MusicGroup"/><a href="http://schema.org/MusicGroup">MusicGroup</a></small><br/>
<small><a id="TheaterGroup" name="TheaterGroup"/><a href="http://schema.org/TheaterGroup">TheaterGroup</a></small></div>
<p><small><a id="SportsTeam" name="SportsTeam"/><a href="http://schema.org/SportsTeam">SportsTeam</a></small></p>
</div>
</td>
<td style="vertical-align: top;" width="33%"><small><a id="Organization" name="Organization"/><a href="http://schema.org/Organization">Organization</a> (con’t)<br/>
</small> <p/>
<div style="margin-left: 24px;"><small><a href="http://schema.org/Corporation">Corporation</a></small><br/>
<small><a id="EducationalOrganization" name="EducationalOrganization"/><a href="http://schema.org/EducationalOrganization">EducationalOrganization</a></small> <p/>
<div style="margin-left: 24px;"><small><a id="CollegeOrUniversity" name="CollegeOrUniversity"/><a href="http://schema.org/CollegeOrUniversity">CollegeOrUniversity</a></small><br/>
<small><a id="ElementarySchool" name="ElementarySchool"/><a href="http://schema.org/ElementarySchool">ElementarySchool</a></small><br/>
<small><a id="HighSchool" name="HighSchool"/><a href="http://schema.org/HighSchool">HighSchool</a></small><br/>
<small><a id="MiddleSchool" name="MiddleSchool"/><a href="http://schema.org/MiddleSchool">MiddleSchool</a></small><br/>
<small><a id="Preschool" name="Preschool"/><a href="http://schema.org/Preschool">Preschool</a></small><br/>
<small><a id="School" name="School"/><a href="http://schema.org/School">School</a></small></div>
<p><small><a id="GovernmentOrganization" name="GovernmentOrganization"/><a href="http://schema.org/GovernmentOrganization">GovernmentOrganization</a></small></p>
</div>
<p><small><a href="http://schema.org/Person">Person</a><br/>
<a id="Place" name="Place"/><a href="http://schema.org/Place">Place</a><br/>
</small></p>
<div style="margin-left: 24px;">
<p><small><a id="AdministrativeArea" name="AdministrativeArea"/><a href="http://schema.org/AdministrativeArea">AdministrativeArea</a></small></p>
<div style="margin-left: 24px;"><small><a id="City" name="City"/><a href="http://schema.org/City">City</a></small><br/>
<small><a id="Country" name="Country"/><a href="http://schema.org/Country">Country</a></small><br/>
<small><a id="State" name="State"/><a href="http://schema.org/State">State</a></small></div>
<p><small><a id="CivicStructure" name="CivicStructure"/><a href="http://schema.org/CivicStructure">CivicStructure</a></small></p>
<div style="margin-left: 24px;"><small><a id="Airport" name="Airport"/><a href="http://schema.org/Airport">Airport</a></small><br/>
<small><a id="Aquarium" name="Aquarium"/><a href="http://schema.org/Aquarium">Aquarium</a></small><br/>
<small><a id="Beach" name="Beach"/><a href="http://schema.org/Beach">Beach</a></small><br/>
<small><a id="BusStation" name="BusStation"/><a href="http://schema.org/BusStation">BusStation</a></small><br/>
<small><a id="BusStop" name="BusStop"/><a href="http://schema.org/BusStop">BusStop</a></small><br/>
<small><a id="Campground" name="Campground"/><a href="http://schema.org/Campground">Campground</a></small><br/>
<small><a id="Cemetery" name="Cemetery"/><a href="http://schema.org/Cemetery">Cemetery</a></small><br/>
<small><a id="Crematorium" name="Crematorium"/><a href="http://schema.org/Crematorium">Crematorium</a></small><br/>
<small><a id="EventVenue" name="EventVenue"/><a href="http://schema.org/EventVenue">EventVenue</a></small><br/>
<small><a href="http://schema.org/docs/full.html#FireStation">FireStation</a></small><br/>
<small><a id="GovernmentBuilding" name="GovernmentBuilding"/><a href="http://schema.org/GovernmentBuilding">GovernmentBuilding</a></small><br/>
<small><a id="CityHall" name="CityHall"/><a href="http://schema.org/CityHall">CityHall</a></small><br/>
<small><a id="Courthouse" name="Courthouse"/><a href="http://schema.org/Courthouse">Courthouse</a></small><br/>
<small><a id="DefenceEstablishment" name="DefenceEstablishment"/><a href="http://schema.org/DefenceEstablishment">DefenceEstablishment</a></small><br/>
<small><a id="Embassy" name="Embassy"/><a href="http://schema.org/Embassy">Embassy</a></small><br/>
<small><a id="LegislativeBuilding" name="LegislativeBuilding"/><a href="http://schema.org/LegislativeBuilding">LegislativeBuilding</a></small><br/>
<small><a href="http://schema.org/docs/full.html#Hospital">Hospital</a></small><br/>
<small><a href="http://schema.org/docs/full.html#MovieTheater">MovieTheater</a></small><br/>
<small><a id="Museum" name="Museum"/><a href="http://schema.org/Museum">Museum</a></small><br/>
<small><a id="MusicVenue" name="MusicVenue"/><a href="http://schema.org/MusicVenue">MusicVenue</a></small><br/>
<small><a id="Park" name="Park"/><a href="http://schema.org/Park">Park</a></small><br/>
<small><a id="ParkingFacility" name="ParkingFacility"/><a href="http://schema.org/ParkingFacility">ParkingFacility</a></small><br/>
<small><a id="PerformingArtsTheater" name="PerformingArtsTheater"/><a href="http://schema.org/PerformingArtsTheater">PerformingArtsTheater</a></small><br/>
<small><a id="PlaceOfWorship" name="PlaceOfWorship"/><a href="http://schema.org/PlaceOfWorship">PlaceOfWorship</a></small><br/>
<small><a id="BuddhistTemple" name="BuddhistTemple"/><a href="http://schema.org/BuddhistTemple">BuddhistTemple</a></small><br/>
<small><a id="CatholicChurch" name="CatholicChurch"/><a href="http://schema.org/CatholicChurch">CatholicChurch</a></small><br/>
<small><a id="Church" name="Church"/><a href="http://schema.org/Church">Church</a></small><br/>
<small><a id="HinduTemple" name="HinduTemple"/><a href="http://schema.org/HinduTemple">HinduTemple</a></small><br/>
<small><a id="Mosque" name="Mosque"/><a href="http://schema.org/Mosque">Mosque</a></small><br/>
<small><a id="Synagogue" name="Synagogue"/><a href="http://schema.org/Synagogue">Synagogue</a></small><br/>
<small><a id="Playground" name="Playground"/><a href="http://schema.org/Playground">Playground</a></small><br/>
<small><a href="http://schema.org/docs/full.html#PoliceStation">PoliceStation</a></small><br/>
<small><a id="RVPark" name="RVPark"/><a href="http://schema.org/RVPark">RVPark</a></small><br/>
<small><a href="http://schema.org/docs/full.html#StadiumOrArena">StadiumOrArena</a></small><br/>
<small><a id="SubwayStation" name="SubwayStation"/><a href="http://schema.org/SubwayStation">SubwayStation</a></small><br/>
<small><a id="TaxiStand" name="TaxiStand"/><a href="http://schema.org/TaxiStand">TaxiStand</a></small><br/>
<small><a id="TrainStation" name="TrainStation"/><a href="http://schema.org/TrainStation">TrainStation</a></small><br/>
<small><a id="Zoo" name="Zoo"/><a href="http://schema.org/Zoo">Zoo</a></small></div>
<p><small><a id="Landform" name="Landform"/><a href="http://schema.org/Landform">Landform</a></small></p>
<div style="margin-left: 24px;">
<p><small><a id="BodyOfWater" name="BodyOfWater"/><a href="http://schema.org/BodyOfWater">BodyOfWater</a></small></p>
<div style="margin-left: 24px;"><small><a id="Canal" name="Canal"/><a href="http://schema.org/Canal">Canal</a></small><br/>
<small><a id="LakeBodyOfWater" name="LakeBodyOfWater"/><a href="http://schema.org/LakeBodyOfWater">LakeBodyOfWater</a></small><br/>
<small><a id="OceanBodyOfWater" name="OceanBodyOfWater"/><a href="http://schema.org/OceanBodyOfWater">OceanBodyOfWater</a></small><br/>
<small><a id="Pond" name="Pond"/><a href="http://schema.org/Pond">Pond</a></small><br/>
<small><a id="Reservoir" name="Reservoir"/><a href="http://schema.org/Reservoir">Reservoir</a></small><br/>
<small><a id="RiverBodyOfWater" name="RiverBodyOfWater"/><a href="http://schema.org/RiverBodyOfWater">RiverBodyOfWater</a></small><br/>
<small><a id="SeaBodyOfWater" name="SeaBodyOfWater"/><a href="http://schema.org/SeaBodyOfWater">SeaBodyOfWater</a></small><br/>
<small><a id="Waterfall" name="Waterfall"/><a href="http://schema.org/Waterfall">Waterfall</a></small></div>
<p><small><a id="Continent" name="Continent"/><a href="http://schema.org/Continent">Continent</a></small><br/>
<small><a id="Mountain" name="Mountain"/><a href="http://schema.org/Mountain">Mountain</a></small><br/>
<small><a id="Volcano" name="Volcano"/><a href="http://schema.org/Volcano">Volcano</a></small></p>
</div>
<p><small><a id="LandmarksOrHistoricalBuildings" name="LandmarksOrHistoricalBuildings"/><a href="http://schema.org/LandmarksOrHistoricalBuildings">LandmarksOrHistoricalBuildings</a></small><br/>
<small><a href="http://schema.org/docs/full.html#LocalBusiness">LocalBusiness</a></small><br/>
<small><a id="Residence" name="Residence"/><a href="http://schema.org/Residence">Residence</a></small></p>
<div style="margin-left: 24px;"><small><a id="ApartmentComplex" name="ApartmentComplex"/><a href="http://schema.org/ApartmentComplex">ApartmentComplex</a></small><br/>
<small><a id="GatedResidenceCommunity" name="GatedResidenceCommunity"/><a href="http://schema.org/GatedResidenceCommunity">GatedResidenceCommunity</a></small><br/>
<small><a id="SingleFamilyResidence" name="SingleFamilyResidence"/><a href="http://schema.org/SingleFamilyResidence">SingleFamilyResidence</a></small></div>
<p><small><a id="TouristAttraction" name="TouristAttraction"/><a href="http://schema.org/TouristAttraction">TouristAttraction</a></small></p>
</div>
<p><small><a id="Product" name="Product"/><a href="http://schema.org/Product">Product</a></small></p></td>
</tr>
</tbody>
</table>
<p>Today’s announcement is the best news I have heard in years regarding         the structured Web, RDF, and the semantic Web. This announcement is —         I believe — the signal event of the structured Web. With regard to my         longstanding diagram above, I can go to bed tonight knowing we have now         crossed the threshold into the semantic Web.</p>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/MU5pgf4yfxA" width="1"/></div>
    </content>
    <updated>2011-06-03T02:57:36Z</updated>
    <category term="Adaptive Information"/>
    <category term="Structured Web"/>
    <category term="data model"/>
    <category term="Google"/>
    <category term="HTML5"/>
    <category term="microdata"/>
    <category term="microformats"/>
    <category term="rdf"/>
    <category term="w3c"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/962/structured-web-gets-massive-boost/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-08-10T04:50:32Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:www.wikier.org,2011-05-31:c871469d6ae4aa2fe296223309e7d833/c863a1d9ce25e7fe80164bf668344faf</id>
    <link href="http://www.wikier.org/blog/sdow2011" rel="alternate" type="text/html"/>
    <title>SDoW2011</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Following the successful <a href="http://sdow.semanticweb.org">SDoW workshops</a> at <a href="http://iswc.semanticweb.org"><span class="caps">ISWC</span></a> <a href="http://sdow.semanticweb.org/2008">2008</a>, <a href="http://sdow.semanticweb.org/2009">2009</a> and <a href="http://sdow.semanticweb.org/2010">2010</a>, this year we (<a href="http://apassant.net/">Alex</a>, <a href="http://www.johnbreslin.org/">John</a>, <a href="http://captsolo.net/">Uldis</a> and me) repeat with the <abbr title="fourth">4th</abbr> international workshop Social Data on the Web (<a href="http://sdow.semanticweb.org/2011">SDoW2011</a>) at <a href="http://iswc2011.semanticweb.org/">ISWC2011</a>. We aim to bring together Semantic Web experts and Web 2.0 practitioners and users to discuss the application of semantic technologies to data from the Social Web. It is motivated by recent active developments in collaborative and social software and their Semantic Web counterparts, notably in the industry, such as FaceBook Open Graph Protocol.</p>

	<p><a href="http://sdow.semanticweb.org/2011"><img alt="SDoW2011" src="http://sdow.semanticweb.org/2011/resources/images/sdow2011.png"/></a></p>

	<p>Submissions are welcomed until <strong>August 15th</strong>. See you in Bonn!</p></div>
    </content>
    <updated>2011-05-31T07:57:52Z</updated>
    <author>
      <name>Sergio Fernández</name>
    </author>
    <source>
      <id>http://www.wikier.org/</id>
      <link href="http://www.wikier.org/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/wikier-semantics" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Sergio Fernández</subtitle>
      <title>Wikier.org - blog - Semantics</title>
      <updated>2012-05-10T12:23:08Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>https://sourceforge.net/apps/wordpress/squin/?p=194</id>
    <link href="http://sourceforge.net/apps/wordpress/squin/2011/05/26/analysis-of-http-based-cache-control-support-in-linked-data-servers/" rel="alternate" type="text/html"/>
    <title>Analysis of HTTP-based cache control support in Linked Data servers</title>
    <summary>Today, I gave a talk at the monthly Talis Research meeting. The topic of this talk was “The Impact of Data Caching of on Query Execution for Linked Data” (find the slides of the talk). Primarily, I discussed the findings of the corresponding paper I presented at this year’s Linked Data workshop. However, I also [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Today, I gave a talk at the monthly <a href="http://blogs.talis.com/research/">Talis Research</a> meeting. The topic of this talk was “The Impact of Data Caching of on Query Execution for Linked Data” (find the <a href="http://www.slideshare.net/olafhartig/the-impact-of-data-caching-of-on-query-execution-for-linked-data">slides of the talk</a>). Primarily, I discussed the findings of the <a href="http://www.dbis.informatik.hu-berlin.de/fileadmin/research/papers/conferences/2011_ldow_caching_hartig.pdf">corresponding paper</a> I presented at this year’s Linked Data workshop. However, I also outlined some ideas for cache coherency mechanisms in <a href="http://squin.org">SQUIN</a>, assuming that nearly no Linked Data server supports the different options for cache control that are provided by the HTTP protocol (e.g. <a href="http://ruturajv.wordpress.com/2005/12/27/conditional-get-request/">conditional GET</a>, Last-Modified headers, ETag headers, etc.). During the preparation of this talk, I was curious whether this assumption is still valid today. The only analysis that I was aware of is from 2009, performed by <a href="http://sw-app.org/about.html">Michael Hausenblas</a>, described in <a href="http://webofdata.wordpress.com/2009/11/23/linked-open-data-http-caching/">this blog post</a>. Michael concludes that the “<em>results of the LOD caching evaluation are somewhat deflating: more than half of the samples do not support cache control and less than 20% support Last-Modified or ETag headers.</em>” So, has that changed?</p>
<p>To answer this question, I developed a small Java program <a href="http://squin.org/files/checkCacheSupport.java">checkCacheSupport.java</a> (available as <a href="http://en.wikipedia.org/wiki/Free_software">Free Software</a> under the terms of the <a href="http://www.gnu.org/licenses/">GNU General Public License, v3</a>). This program, first, issues a query at the <a href="http://semantic.ckan.net/snorql/">SPARQL endpoint</a> provided for the <a href="http://ckan.net/group/lodcloud">CKAN catalog of linked dataset</a>; this query asks for example resources of the registered linked datasets. Each of the reported example resources is then requested by the program in two ways: The first request is a conditional GET with a If-Modified-Since header that specifies the current time. Assuming that the requested resources are not modified at the time of the experiment, a server that supports conditional GET should respond with a 304 Not Modified. Hence, the program takes a 304 response as evidence that the corresponding Linked Data server supports conditional GET. After this conditional GET the program requests each example resource a second time using an ordinary GET request. If the server responds with a 200 OK, the program records the following header fields from the response: Last-Modified, ETag, Cache-Control, and Expires.</p>
<p>When I executed the program it checked 154 example resources from an overall number of 110 different datasets. Here is the result of this experiment:</p>
<ul>
<li>For <strong>41</strong> of the 154 example resources the server supports<br/> <strong>conditional GET</strong> (26.6%).</li>
<li>For <strong>54</strong> of the 154 example resources the server provides<br/> a <strong>Last-Modified</strong> header (35.1%).</li>
<li>For <strong>49</strong> of the 154 example resources the server provides<br/> an <strong>ETag</strong> header (31.8%).</li>
<li>For <strong>49</strong> of the 154 example resources the server provides<br/> a <strong>Cache-Control</strong> header (50.6%).</li>
<li>For <strong>58</strong> of the 154 example resources the server provides<br/> a Cache-Control header with a <strong>max-age</strong> entry (37.7%).</li>
<li>For <strong>57</strong> of the 154 example resources the server provides<br/> an <strong>Expires</strong> header (37.0%).</li>
</ul>
<p>You may want to take a look at <a href="http://squin.org/files/checkCacheSupport-20110526.html">the results in detail</a>.</p>
<p>So, it seems that the situation has improved a bit since 2009, but still not to a degree where it is reasonable to solely rely on HTTP-based cache control mechanisms in a Linked Data consuming application.</p>
<p style="text-align: right;">Olaf</p></div>
    </content>
    <updated>2011-05-26T15:38:59Z</updated>
    <category term="General"/>
    <author>
      <name>Olaf Hartig</name>
    </author>
    <source>
      <id>http://sourceforge.net/apps/wordpress/squin</id>
      <link href="http://sourceforge.net/apps/wordpress/squin/feed/" rel="self" type="application/rss+xml"/>
      <link href="http://sourceforge.net/apps/wordpress/squin" rel="alternate" type="text/html"/>
      <subtitle>Posts about the SQUIN Query Interface for the Web of Data</subtitle>
      <title>SourceForge.net: Project squin</title>
      <updated>2012-05-07T15:50:08Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>urn:md5:76573f89c34916b65236a475b76b1f6d</id>
    <link href="http://blog.dbtune.org/post/2011/05/17/Music-and-the-Semantic-Web-workshop" rel="alternate" type="text/html"/>
    <title>Music and the Semantic Web workshop</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Quite a big week for Semantic Web and music last week in London. On
Thursday, there was the <a href="http://musicnet.mspace.fm/blog/2011/02/11/music-linked-data-workshop/">MusicNet</a>
workshop, with (among others) a talk from the BBC, given by <a href="http://www.aelius.com/njh/">Nick Humfrey</a>. Sadly, I could not attend the
workshop due to other BBC duties.</p>
<p>On the Friday, <a href="http://www.oerc.ox.ac.uk/people/dder">David De
Roure</a> and I organised a <a href="http://www.aes.org/events/130/workshops/?ID=2639">Music and the Semantic Web
workshop</a> at the AES, which David already <a href="http://blogs.nature.com/eresearch/2011/05/15/music-and-linked-data-overture">blogged
about</a>. We had four panelists:</p>
<ul>
<li><a href="http://www.soton.ac.uk/music/staff/Personal/DBretherton.html">David
Bretherton</a>, from Southampton University, representing the <a href="http://www.ecs.soton.ac.uk/research/projects/768">MusicNet</a> project;</li>
<li><a href="http://greggkellogg.net/">Gregg Kellogg</a>, representing the
<a href="http://connectedmediaexperience.org/">Connected Media
Experience</a>;</li>
<li>Evan Stein, from <a href="http://decibel.net/blog/">Decibel</a></li>
<li><a href="http://apassant.net/">Alexandre Passant</a>, from <a href="http://seevl.net">Seevl</a> (which I am also involved in - more details on
this blog soon!)</li>
</ul>
<p><img alt="" src="http://farm4.static.flickr.com/3326/5737390988_73090885a2.jpg"/></p>
<p>We started with four presentations from each of the panelists. David started
by presenting <a href="http://musicnet.mspace.fm/">MusicNet</a>, aiming at
creating canonical Web identifiers for classical music composers. He
demonstrated a new tool for merging identifiers for music composers - finding
common properties between groups of composers, and providing an interface to
review those groups.</p>
<p>Alexandre then presented <a href="http://seevl.net">Seevl</a>. He explained
how it worked, aggregating and consolidating structured data about music
artists from a range of different places, and generating recommendations using
this data, as well as explanations of these recommendations (those two artists
played together, they had the same producer for their first album, etc.). I
wrote quite a lot about this kind of things <a href="http://blog.dbtune.org/post/2009/10/27/Music-recommendation-and-Linked-Data">on
this blog</a> - it's really nice to finally see it taking shape!</p>
<p>Gregg presented his experience within the <a href="http://connectedmediaexperience.org/">Connected Media Experience</a> (CME)
project. His presentation was supported by a <a href="http://greggkellogg.net/2011/05/05/cme-and-the-semantic-web">position
paper</a>, which is extremely interesting. CME (a large consortium of key music
industry players) worked for a couple of years on a RDF/Music Ontology format
for online releases. Sadly, they recently abandoned this format for simple
HTML5+CSS - structured data about those releases is not a priority anymore.
Gregg gave us insights on what went wrong, and what were the lessons to be
learned by both the Semantic Web community and the Music Industry.</p>
<p>Evan then presented <a href="http://decibel.net/blog/">Decibel</a>, giving
us very interesting insights about music metadata, and a demonstration of their
service. It was interesting to see semantic technologies used in a completely
different model. The richness of the data they hold is truly amazing (Evan
demoed their internationalisation feature as well - all their data is available
in a variety of languages), but sadly not available under an open license.</p>
<p>After that, we had a number of questions from David and I, as well as from
the audience, about ease of editing and owning of music metadata (who should
own it? third parties? artists? record labels? who should host the canonical
URI for an artist?), about relationships of Semantic Web standards with
industry standards like ISRCs, ISNIs, MPEG etc.</p>
<p>Overall, a very interesting workshop - I hope we can do it again next
year!</p></div>
    </summary>
    <updated>2011-05-19T16:30:00Z</updated>
    <author>
      <name>Yves</name>
    </author>
    <source>
      <id>http://blog.dbtune.org/</id>
      <link href="http://blog.dbtune.org/" rel="alternate" type="text/html"/>
      <link href="http://blog.dbtune.org:82/feed/rss2" rel="self" type="application/rss+xml"/>
      <subtitle>Creating a music-related web of data. These are my views and not those of the BBC.</subtitle>
      <title>DBTune blog</title>
      <updated>2012-05-16T13:07:17Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://richard.cyganiak.de/blog/2011/05/the-rdf-11-literal-quiz/</id>
    <link href="http://richard.cyganiak.de/blog/2011/05/the-rdf-11-literal-quiz/" rel="alternate" type="text/html"/>
    <title>The RDF 1.1 Literal Quiz</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Let’s pretend we live in January 2013, and RDF 1.1 has just been published. This including the RDF Working Group’s attempt to clean up string literals. The issue with string literals is that RDF currently offers three different ways for … <a href="http://richard.cyganiak.de/blog/2011/05/the-rdf-11-literal-quiz/">Continue reading <span class="meta-nav">→</span></a></div>
    </summary>
    <updated>2011-05-18T21:50:33Z</updated>
    <source>
      <id>http://richard.cyganiak.de/blog</id>
      <author>
        <name>Do What I Mean (Richard Cyganiak)</name>
      </author>
      <link href="http://richard.cyganiak.de/blog" rel="alternate" type="text/html"/>
      <link href="http://richard.cyganiak.de/blog/feed/rss/" rel="self" type="application/rss+xml"/>
      <subtitle>A weblog by Richard Cyganiak</subtitle>
      <title>cygri’s notes on web data</title>
      <updated>2011-08-02T14:50:27Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.mkbergman.com/?p=959</id>
    <link href="http://feedproxy.google.com/~r/AI3_AdaptiveInformation/~3/85VqcpKwuUQ/" rel="alternate" type="text/html"/>
    <title>Intro to structOntology</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Intro to structOntology&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Ontologies&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Open Source&amp;rft.subject=Structured Dynamics&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-05-16&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/959/intro-to-structontology/&amp;rft.language=English"/>
A Video Introduction to a New Online Ontology Editor and Manager Structured Dynamics is pleased to unveil structOntology — its ontology manager application within the conStruct open source semantic technology suite. We are doing so via a video, which provides a bit more action about this exciting new app. structOntology has been on our radar [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><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=Intro to structOntology&amp;rft.aulast=Bergman&amp;rft.aufirst=Mike&amp;rft.subject=Ontologies&amp;rft.subject=Open Semantic Framework&amp;rft.subject=Open Source&amp;rft.subject=Structured Dynamics&amp;rft.source=AI3:::Adaptive Information&amp;rft.date=2011-05-16&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.mkbergman.com/959/intro-to-structontology/&amp;rft.language=English"/>
<h2>A Video Introduction to a New Online Ontology Editor and Manager</h2>
<p><a href="http://structureddynamics.com">Structured Dynamics</a> is pleased to unveil <a href="http://openstructs.org/structontology">structOntology</a> — its ontology manager application within the<a href="http://openstructs.org/construct"> conStruct</a> open source semantic technology suite. We are doing so via a <a href="http://www.youtube.com/watch?v=WuM9wIO4Qpc">video</a>, which provides a bit more action about this exciting new app.</p>
<p>structOntology has been on our radar for more than two years. But, it was only in embracing the <a href="http://owlapi.sourceforge.net/">OWLAPI</a> some <a href="http://www.mkbergman.com/909/a-new-landscape-in-ontology-development-tools/">eight months back</a> that we finally saw our way clear to how to implement the system.</p>
<p>The app, superbly developed by <a href="http://fgiasson.com/blog/">Fred Giasson</a>, has many notable advantages — some of which are covered by the video — but two deserve specific attention:  1) the superior search function (if you have been using <a href="http://protege.stanford.edu/">Protégé</a> or similar, you will love the fact this search indexes everything, courtesy of <a href="http://lucene.apache.org/solr/">Solr</a>); and 2) the availability of its functionality directly within the applications that are driven by the ontologies. Of course, there’s other cool stuff too!:</p>
<p> </p>
<div style="text-align: center;"/>
<p> </p>
<p>(If you have trouble seeing this, here is the <a href="http://www.youtube.com/watch?v=WuM9wIO4Qpc">direct YouTube link</a> or an <a href="http://www.mkbergman.com/structontology/" title="Alternate Flash Version">alternate local Flash version</a> if you can not access YouTube.)</p>
<p>More information on structOntology will be forthcoming over the coming weeks. We will be posting it as open source as part of the <a href="http://openstructs.org/open-semantic-framework">Open Semantic Framework</a> by early summer.</p>
<img height="1" src="http://feeds.feedburner.com/~r/AI3_AdaptiveInformation/~4/85VqcpKwuUQ" width="1"/></div>
    </content>
    <updated>2011-05-17T03:06:03Z</updated>
    <category term="Ontologies"/>
    <category term="Open Semantic Framework"/>
    <category term="Open Source"/>
    <category term="Structured Dynamics"/>
    <category term="editor"/>
    <category term="Ontology"/>
    <category term="owl"/>
    <category term="Protege"/>
    <category term="Semantic Web"/>
    <category term="structOntology"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.mkbergman.com/959/intro-to-structontology/</feedburner:origLink>
    <author>
      <name>Mike Bergman</name>
    </author>
    <source>
      <id>http://www.mkbergman.com</id>
      <link href="http://www.mkbergman.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/AI3_AdaptiveInformation" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Mike Bergman on the semantic Web and structured Web</subtitle>
      <title>AI3:::Adaptive Information</title>
      <updated>2011-08-03T20:50:36Z</updated>
    </source>
  </entry>
</feed>

