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

<channel>
	<title>3kbo</title>
	<atom:link href="http://blog.3kbo.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.3kbo.com</link>
	<description>Building Semantic Web Applications</description>
	<pubDate>Sat, 26 Apr 2008 01:49:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>WWW2008 Linked Data Articles</title>
		<link>http://blog.3kbo.com/2008/04/25/www2008_linked_data/</link>
		<comments>http://blog.3kbo.com/2008/04/25/www2008_linked_data/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 09:25:02 +0000</pubDate>
		<dc:creator>richard</dc:creator>
		
		<category><![CDATA[Linked Data]]></category>

		<category><![CDATA[RDF]]></category>

		<category><![CDATA[Semantic Web]]></category>

		<guid isPermaLink="false">http://blog.3kbo.com/2008/04/25/www2008_linked_data/</guid>
		<description><![CDATA[The WWW2008 Conference  has published some great material, in particular the papers from the Linked Data on the Web (LDOW2008) Workshop.
The Workshop Introduction is an easy to read summary of the development of Linked Data and the Linking Open Data Project over the past year. It includes the Linking Open Data &#8220;cloud&#8221; diagram which [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www2008.org/" title="www2008" target="_blank">WWW2008 Conference</a>  has published some great material, in particular the papers from the <a href="http://events.linkeddata.org/ldow2008/" title="LDOW2008" target="_blank">Linked Data on the Web (LDOW2008) Workshop.</a></p>
<p>The <a href="http://events.linkeddata.org/ldow2008/papers/00-bizer-heath-ldow2008-intro.pdf" title="Introduction" target="_blank">Workshop Introduction</a> is an easy to read summary of the development of <a href="http://www.w3.org/DesignIssues/LinkedData.html" title="Linked Data" target="_blank">Linked Data</a> and the <a href="http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData" title="LOD Project" target="_blank">Linking Open Data Project</a> over the past year. It includes the <a href="http://richard.cyganiak.de/2007/10/lod/" target="_blank">Linking Open Data &#8220;cloud&#8221; diagram</a> which shows the relationships between the main currently available datasets. A good way to get a feel for the amount and scope  of available Linked Data is to open each of dataset in its own tab in Firefox and look across the spectrum of data presented.</p>
<p>The home page of the <a href="http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData" title="LOD Project" target="_blank">Linking Open Data Project</a> also lists recent developments such as new datasets, tools, publications and conferences becoming available. Conferences in the near future include the <a href="http://www.linkeddataplanet.com/" title="Linked Data Planet" target="_blank">Linked Data Planet Conference</a> in New York in June, and the <a href="http://triple-i.tugraz.at/i_semantics" title="I-Semantics" target="_blank">I-Semantics 2008</a> in Austria in September. <a href="http://triple-i.tugraz.at/i_semantics" title="I-Semantics" target="_blank">I-Semantics 2008</a> includes the <a href="http://triplify.org/Challenge" title="LOD Challenge" target="_blank">LOD Triplification Challenge</a> for show casing applications which demonstrate the benefits of linked data to end users.</p>
<p><a href="http://events.linkeddata.org/ldow2008/papers/13-becker-bizer-dbpedia-mobile.pdf" title="DBpedia Mobile" target="_blank">DBpedia Mobile: A Location-Enabled Linked Data Browser</a> provides an overview of <a href="http://wiki.dbpedia.org/DBpediaMobile" title="DBpedia Mobile" target="_blank">DBpedia Mobile</a>, a location-centric DBpedia client application for mobile devices. &#8220;The <a href="http://dbpedia.org/" title="DBpedia" target="_blank">DBpedia project </a>extracts structured information from <a href="http://www.wikipedia.org/" title="Wikipedia" target="_blank">Wikipedia</a> and publishes this information as Linked Data on the Web. The <a href="http://wiki.dbpedia.org/Datasets" title="DBpedia Datasets" target="_blank">DBpedia datasets</a> contain information for about 2.18 million things, including almost 300,000 geographic locations. DBpedia is interlinked with various other location-related datasets. Based on the current GPS position of a mobile device, DBpedia Mobile renders a map indicating nearby locations from the DBpedia dataset. Starting from this map, users can explore background information about locations and can navigate into interlinked datasets. DBpedia Mobile demonstrates that the DBpedia dataset can serve as a useful starting point to explore the Geospatial SemanticWeb using a mobile device.&#8221;</p>
<p>There are  a couple of options for trying out DBpedia Mobile from your browser  including <a href="http://beckr.org/DBpediaMobile2/?location=IP" title="Location" target="_blank">Viewing based on IP Address</a>.</p>
<p>For getting up to speed with RDF, OWL and SPARQL, the technologies that form the basis of Linked Data,  a good tutorial just published  is <a href="http://www.ibm.com/developerworks/edu/x-dw-x-sparql.html" title="Understanding SPARQL" target="_blank">Understanding SPARQL.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3kbo.com/2008/04/25/www2008_linked_data/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Breaker Bay Flickr Photo Published on Schmap</title>
		<link>http://blog.3kbo.com/2008/01/26/breaker_bay_schmap/</link>
		<comments>http://blog.3kbo.com/2008/01/26/breaker_bay_schmap/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 00:51:43 +0000</pubDate>
		<dc:creator>richard</dc:creator>
		
		<category><![CDATA[Flickr]]></category>

		<category><![CDATA[Photo]]></category>

		<guid isPermaLink="false">http://blog.3kbo.com/2008/01/26/breaker_bay_schmap/</guid>
		<description><![CDATA[One of my photos published on Flickr

The Pinnacles at Breaker Bay,
has been published in the fourth edition of the Schmap Wellington Guide.
]]></description>
			<content:encoded><![CDATA[<p>One of my photos published on Flickr<br />
<img src="http://farm2.static.flickr.com/1150/668437281_2092e41327.jpg" /><br />
<a href="http://www.flickr.com/photos/richard3kbo/668437281/" target="_blank">The Pinnacles at Breaker Bay</a>,<br />
has been published in <a href="http://www.schmap.com/wellington/sights_easternsuburbs/#p=33106&amp;i=33106_10.jpg" target="_blank">the fourth edition of the Schmap Wellington Guide</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3kbo.com/2008/01/26/breaker_bay_schmap/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL Commands</title>
		<link>http://blog.3kbo.com/2008/01/25/mysql_commands/</link>
		<comments>http://blog.3kbo.com/2008/01/25/mysql_commands/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 02:34:42 +0000</pubDate>
		<dc:creator>richard</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://blog.3kbo.com/2008/01/25/mysql_commands/</guid>
		<description><![CDATA[MySQL commands I use but can never remember:

Logon&#62;  mysql &#8211;user=userame &#8211;password=password
Create a database&#62; create database richard_projects character set utf8;
Explain&#62; explain select * from projects
Alter Table&#62; alter table PROJECTS add primary key (ID);
Add Foreign Key&#62; alter table`USER_ROLE` add foreign key(`USER_ID`) references `USER`(`ID`) on delete cascade on update cascade;
Create Index&#62; create index USER_PASSWORD on USER(PASSWORD);
Create Unique [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mysql.com/" target="_blank">MySQL</a> commands I use but can never remember:</p>
<ul>
<li>Logon&gt;  mysql &#8211;user=userame &#8211;password=password</li>
<li>Create a database&gt; create database richard_projects character set utf8;</li>
<li>Explain&gt; explain select * from projects</li>
<li>Alter Table&gt; alter table PROJECTS add primary key (ID);</li>
<li>Add Foreign Key&gt; alter table`USER_ROLE` add foreign key(`USER_ID`) references `USER`(`ID`) on delete cascade on update cascade;</li>
<li>Create Index&gt; create index USER_PASSWORD on USER(PASSWORD);</li>
<li>Create Unique Index&gt; create unique index CATEGORY_NAME on CATEGORY(NAME);</li>
<li>Insert&gt; insert into CATEGORY VALUES (6, &#8216;Food&#8217;,'Generic Food Category&#8217;);</li>
<li>Update&gt; update CATEGORY set NAME=&#8217;Other&#8217; ,DESCR =&#8217;Other&#8217; where NAME=&#8217;Food&#8217;;</li>
<li>Delete&gt; delete from CATEGORY where NAME=&#8217;Food&#8217;;</li>
</ul>
<h2>User Management</h2>
<p><a href="http://dev.mysql.com/doc/refman/5.1/en/adding-users.html" target="_blank">Add a user</a> with both remote and local access:</p>
<ul>
<li> Grant&gt;GRANT ALL PRIVILEGES ON *.* TO &#8216;richard&#8217;@'localhost&#8217; IDENTIFIED BY &#8216;password&#8217; WITH GRANT OPTION;</li>
<li> Grant&gt;GRANT ALL PRIVILEGES ON *.* TO &#8216;richard&#8217;@'%&#8217; IDENTIFIED BY &#8216;password&#8217; WITH GRANT OPTION;</li>
</ul>
<h2>References</h2>
<p><a href="http://dev.mysql.com/doc/refman/5.0/en/index.html" target="_blank">MySQL 5 Reference Manual Online</a></p>
<p><a href="http://www.w3schools.com/sql/sql_quickref.asp" target="_blank">W3Schools SQL Quick References </a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3kbo.com/2008/01/25/mysql_commands/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Linking to New Zealand Legislation</title>
		<link>http://blog.3kbo.com/2008/01/12/linking-to-new-zealand-legislation/</link>
		<comments>http://blog.3kbo.com/2008/01/12/linking-to-new-zealand-legislation/#comments</comments>
		<pubDate>Sat, 12 Jan 2008 05:05:09 +0000</pubDate>
		<dc:creator>richard</dc:creator>
		
		<category><![CDATA[Legislation]]></category>

		<category><![CDATA[New Zealand]]></category>

		<category><![CDATA[REST]]></category>

		<category><![CDATA[RESTful]]></category>

		<category><![CDATA[Standard]]></category>

		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://blog.3kbo.com/2008/01/12/linking-to-new-zealand-legislation/</guid>
		<description><![CDATA[The web page Public Access to Legislation - Creating links to the New Zealand Legislation website gives information on how to link to New Zealand Legislation.
The legislative documents are identified by:

the information type (Act, Regulation, Bill, SOP)
the legislation type or category (public, local, members, government, imperial etc)
the year
the number, padded with initial zeros to 4 [...]]]></description>
			<content:encoded><![CDATA[<p>The web page <a href="http://www.pco.parliament.govt.nz/pal/pallink.shtml" target="_blank">Public Access to Legislation - Creating links to the New Zealand Legislation website</a> gives information on how to link to New Zealand Legislation.</p>
<p>The legislative documents are identified by:</p>
<ul>
<li>the information type (Act, Regulation, Bill, SOP)</li>
<li>the legislation type or category (public, local, members, government, imperial etc)</li>
<li>the year</li>
<li>the number, padded with initial zeros to 4 digits. For Bills, the number will also include the Bar number and split letter (if applicable).</li>
</ul>
<p>And a legislative document can currently be linked to in the following ways:</p>
<ul>
<li><a href="http://www.pco.parliament.govt.nz/pal/pallink.shtml#contents" target="_blank">To the documents table of contents</a>.</li>
<li><a href="http://www.pco.parliament.govt.nz/pal/pallink.shtml#wholeversion" target="_blank">To the document as one HTML page</a></li>
<li><a href="http://www.pco.parliament.govt.nz/pal/pallink.shtml#provisions" target="_blank">To specific provisions within the document</a></li>
<li><a href="http://www.pco.parliament.govt.nz/pal/pallink.shtml#htmlversion" target="_blank">To specific HTML versions</a></li>
<li><a href="http://www.pco.parliament.govt.nz/pal/pallink.shtml#pdfversion" target="_blank">To the document to download as a PDF</a></li>
</ul>
<p>In the same way that I want to <a href="http://blog.3kbo.com/2008/01/05/photo-sharing/" target="_blank">link to photo sharing sites</a> from within my web application there will be occasions when I want to link to legislation, standards and regulation documents.</p>
<p>For example in the context of a web based building project it could be useful to link to the<a href="http://gpacts.knowledge-basket.co.nz/gpacts/public/text/2004/an/072.html" target="_blank"> Building Act 2004 Table of Content</a> which gives an overview of the individual sections of the Building Act.</p>
<p>This is useful as a general reference but there will be occasions where I want to show a provision in a specific context relevant to the project. For example a building project <a href="http://gpacts.knowledge-basket.co.nz/gpacts/public/text/2004/se/072se40.html" target="_blank">needs to be issued with a building consent</a> which can  <a href="http://gpacts.knowledge-basket.co.nz/gpacts/public/text/2004/se/072se52.html" target="_blank">lapse</a> after a period of time.</p>
<p>When showing the status of a project which has not yet started building it would be useful to indicate if its building consent is about to expire and if it is then link to the relevant provision to clarify the situation.<a href="http://gpacts.knowledge-basket.co.nz/gpacts/public/text/2004/an/072.html" target="_blank"><br />
</a></p>
<p>Currently there are two simple ways of linking to the specific provision, open it in the same page or open it in a new page.</p>
<ul>
<li><a href="http://gpacts.knowledge-basket.co.nz/gpacts/public/text/2004/se/072se52.html">Lapse of Building Consent - Opened in the same page </a></li>
<li><a href="http://gpacts.knowledge-basket.co.nz/gpacts/public/text/2004/se/072se52.html" target="_blank">Lapse of Building Consent - Opened in a new page</a></li>
</ul>
<p>Both of these approaches are a bit rough for todays modern Ajax-based web applications which would ideally take a smoother approach. I.e. take just the relevant content and slide it into the page at the required location, in this case inserting just the following:<br />
<span style="background: #ffff42 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"><br />
&#8220;A building consent lapses and is of no effect if the building work to which it relates does not commence within&#8212;<br />
(a)  12 months after the date of issue of the building consent; or<br />
(b)  any further period that the building consent authority may allow.&#8221;</span></p>
<p>This Ajax insertion can be achieved by first using a customized HTML reader which extracts the relevant content from the original provisions page.</p>
<p>The simpler display rendered by the customized HTML reader would also be more appropriate for a mobile phone based web application.</p>
<p>Note that in January 2008, as part of the <a href="http://www.pco.parliament.govt.nz/pal/index.shtml" target="_blank">PAL Project</a>, a <a href="http://www.pco.parliament.govt.nz/pal/pallinknotice.shtml" target="_blank">new site</a> for accessing New Zealand legislation will be available.</p>
<p>The <a href="http://www.pco.parliament.govt.nz/pal/index.shtml" target="_blank">PAL Project</a> stores the legislation documents as XML fragments that are combined for publication as HTML and PDF. It is likely that the documents will also be available as XML.</p>
<p>If the XML document is available then it should be simpler to access the content of the specific provisions when using the customized HTML reader discussed above.</p>
<p>A further simplification would be to provide a <a href="http://en.wikipedia.org/wiki/REST" target="_blank">REST</a> based web service for accessing the provisions. This would allow the content of the provision &#8220;Lapse of Building Consent&#8221; to be accessed via a URI similar to the following http://www.legislation.govt.nz/act/public/2004/se/072se52.xml.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3kbo.com/2008/01/12/linking-to-new-zealand-legislation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Linking to Photo Sharing Sites</title>
		<link>http://blog.3kbo.com/2008/01/05/photo-sharing/</link>
		<comments>http://blog.3kbo.com/2008/01/05/photo-sharing/#comments</comments>
		<pubDate>Sat, 05 Jan 2008 11:18:00 +0000</pubDate>
		<dc:creator>richard</dc:creator>
		
		<category><![CDATA[Flickr]]></category>

		<category><![CDATA[Geo]]></category>

		<category><![CDATA[RESTful]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.3kbo.com/2008/01/05/photo-sharing/</guid>
		<description><![CDATA[I have users with photos published on photo sharing sites such as Flickr, Fotopic,  ImageShack,  Livejournal, Photobucket,  Picasaweb, SmugMug, Webshots and others.
What I want to do is provide these users with the ability to link these published photos to projects managed by our web application. Within our application only the published URL [...]]]></description>
			<content:encoded><![CDATA[<p>I have users with photos published on photo sharing sites such as <a href="http://www.flickr.com/" target="_blank">Flickr</a>, <a href="http://www.fotopic.net" target="_blank">Fotopic</a>,  <a href="http://imageshack.us/" target="_blank">ImageShack</a>,  <a href="http://www.livejournal.com/" target="_blank">Livejournal</a>, <a href="http://photobucket.com/" target="_blank">Photobucket</a>,  <a href="http://picasaweb.google.com/home" target="_blank">Picasaweb</a>, <a href="http://www.smugmug.com" target="_blank">SmugMug</a>, <a href="http://www.webshots.com" target="_blank">Webshots</a> and others.</p>
<p>What I want to do is provide these users with the ability to link these published photos to projects managed by our web application. Within our application only the published URL to the image would be stored.</p>
<p>The <a href="http://www.flickr.com/services/api/" target="_blank">Flickr API</a>, with its support for REST, is the ideal site to use as a proof of concept.  At least one other site, <a href="http://www.23hq.com/" target="_blank">23</a> also implements the <a href="http://www.flickr.com/services/api/" target="_blank">Flickr API</a>, making it easy to <a href="http://www.23hq.com/doc/api/switch" target="_blank">support both 23 and Flickr</a>.</p>
<p>The Ajax based <a href="http://www.airtightinteractive.com/projects/related_tag_browser/app/" title="Flickr Relate Tag Browser" target="_blank">Flickr Related Tag Browser</a> provides a good example of how to use the <a href="http://www.flickr.com/services/api/" target="_blank">Flickr API</a> to browse and select photos by tag. Within our application  a user wold browse their Flickr account and search by photo album,  tag or date to retrieve specific photos which would illustrate the project site itself, tasks to be accomplished, problems associated with a  task or as visual confirmation that a task had been completed.</p>
<p>As an example I have two projects that I am about to start.</p>
<ul>
<li>The first is to widen a driveway, add a front gate and landscape the front garden to link in with the new driveway and gate.</li>
<li>The second  is to complete the garage at the back of the property, which includes adding a couple of rooms that will link up with the existing studio kitchen and main room.</li>
</ul>
<p>The photos for these two different projects I have tagged <a href="http://www.flickr.com/photos/richard3kbo/tags/gate/" target="_blank">gate</a> and <a href="http://www.flickr.com/photos/richard3kbo/tags/garage/" target="_blank">garage</a> respectively on my Flickr  account.</p>
<p>The default Flickr web pages that open for</p>
<ul>
<li>http://www.flickr.com/photos/richard3kbo/tags/<a href="http://www.flickr.com/photos/richard3kbo/tags/gate/" target="_blank">gate</a>/ and</li>
<li>http://www.flickr.com/photos/richard3kbo/tags/<a href="http://www.flickr.com/photos/richard3kbo/tags/garage/" target="_blank">garage</a>/</li>
</ul>
<p>by themselves give good overviews of the two different project sites.</p>
<p>Linking specific photos to project tasks helps illustrate and clarify these tasks.</p>
<p>Using photos published on <a href="http://www.flickr.com/" target="_blank">Flickr</a> and similar sites allows our users to continue using the photo sharing sites they are used to and which have more features for image processing and sharing than our site.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3kbo.com/2008/01/05/photo-sharing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Subversion 403 Forbidden</title>
		<link>http://blog.3kbo.com/2007/10/24/subversion-403-forbidden/</link>
		<comments>http://blog.3kbo.com/2007/10/24/subversion-403-forbidden/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 08:05:54 +0000</pubDate>
		<dc:creator>richard</dc:creator>
		
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://blog.3kbo.com/2007/10/24/subversion-403-forbidden/</guid>
		<description><![CDATA[Recently, while developing on a Windows 2000 machine I  got the following error when trying to commit some code into a subversion repository located on a Solaris server.
svn: Commit failed (details follow):
svn: MKACTIVITY of &#8216;/repos/xxxxx&#8217;: 403 Forbidden
Took awhile to find the cause of the problem. It turns out that I had accidentally signed in [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, while developing on a Windows 2000 machine I  got the following error when trying to commit some code into a subversion repository located on a Solaris server.</p>
<p>svn: Commit failed (details follow):<br />
svn: MKACTIVITY of &#8216;/repos/xxxxx&#8217;: 403 Forbidden</p>
<p>Took awhile to find the cause of the problem. It turns out that I had accidentally signed in the with an upper case in my username,  which was fine for checking out the code but when trying to check in there was no matching username on Solaris.</p>
<p>Trouble was there was no visible indication that this was the problem. The cause was only revealed by looking at the server log.</p>
<p>Even then the fix was not straight forward, since I was using Eclipse and the Subclipse plugin, with no obvious way to reset the username and password.</p>
<p>So I checked out the repository again via the svn command line, explicitly setting my username.</p>
<p>(See: <a href="http://www.tigris.org/nonav/scdocs/ddUsingSVN_command-line.html" target="_blank">http://www.tigris.org/nonav/scdocs/ddUsingSVN_command-line.html ).</a></p>
<p>I made a change in the new repository and committed the change, again using the command line. This time the commit worked.</p>
<p>When I refreshed the project within Eclipse I could now see that the change I had just made was registered against my correct username while there were other outstanding changes registered against my incorrect username.</p>
<p>Funny thing was that as I made changes within Eclipse the new changes were now recorded against my correct username and I could successfully commit from within Eclipse.</p>
<p>It seems that the explicit check out of the repository to a different location had magically fix my username problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3kbo.com/2007/10/24/subversion-403-forbidden/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Semantic Web Architecture for a Rails Hosted Environment</title>
		<link>http://blog.3kbo.com/2007/10/20/a-semantic-web-architecture-for-a-rails-hosted-environment/</link>
		<comments>http://blog.3kbo.com/2007/10/20/a-semantic-web-architecture-for-a-rails-hosted-environment/#comments</comments>
		<pubDate>Sat, 20 Oct 2007 12:34:30 +0000</pubDate>
		<dc:creator>richard</dc:creator>
		
		<category><![CDATA[ActiveRDF]]></category>

		<category><![CDATA[FOAF]]></category>

		<category><![CDATA[Jena]]></category>

		<category><![CDATA[OWL]]></category>

		<category><![CDATA[Openid]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[RDF]]></category>

		<category><![CDATA[RESTful]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[Sparql]]></category>

		<guid isPermaLink="false">http://blog.3kbo.com/2007/10/20/a-semantic-web-architecture-for-a-rails-hosted-environment/</guid>
		<description><![CDATA[Last week-end I installed ActiveRDF on my Mac OS X Powerbook, together with the Sparql, RDFLite and Redland adapters. Ideally I am working towards setting up an environment that allows me to build RESTful Semantic Web Applications that support reasoning over RDF data and implement a SPARQL query end point. Support for OpenID authentication, integrated [...]]]></description>
			<content:encoded><![CDATA[<p>Last week-end I installed <a href="http://www.activerdf.org/" title="ActiveRDF" target="_blank">ActiveRDF</a> on my Mac OS X Powerbook, together with the Sparql, RDFLite and Redland adapters. Ideally I am working towards setting up an environment that allows me to build RESTful Semantic Web Applications that support reasoning over RDF data and implement a SPARQL query end point. Support for <a href="http://openid.net/" title="OpenID" target="_blank">OpenID</a> authentication, integrated with <a href="http://www.foaf-project.org/" title="FOAF" target="_blank">FOAF</a>, is also at the top of the list.</p>
<p>On the Powerbook I could also install the ActiverRDF adapters for <a href="http://www.openrdf.org/" title="Sesame" target="_blank">Sesame</a> and <a href="http://jena.sourceforge.net/" title="Jena" target="_blank">Jena</a> to give me the functionality that I am after but that only works in my development environment. Sesame and Jena are Java based. When it comes to deploying an application onto the web my options are currently more limited. 3kbo is deployed into hosted environment which supports PHP, Python, Ruby and Ruby On Rails and PERL, but no Java. (There is C/C++, limited to my local user account.)</p>
<p>Currently there are two PHP SPARQL implementations, <a href="http://arc.web-semantics.org/" title="ARC" target="_blank">ARC</a> and <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/" title="RAP" target="_blank">RAP</a>. RAP also provides a reasoning engine <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/tutorial/introductionToRAP.htm#infmodel" title="InfModel" target="_blank">InfModel</a>, with support for owl:sameAs and owl:inverseOf.</p>
<p>So at this stage the architecture that is emerging is an ActiveRDF RESTful Ruby On Rails application that uses RAP as the triple store, SPARQL query engine and reasoning engine. To integrate Rails with PHP I am planning to implement a RESTful PHP interface that acts as a facade to RAP.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3kbo.com/2007/10/20/a-semantic-web-architecture-for-a-rails-hosted-environment/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Description of a Project</title>
		<link>http://blog.3kbo.com/2007/09/12/cdms-doap/</link>
		<comments>http://blog.3kbo.com/2007/09/12/cdms-doap/#comments</comments>
		<pubDate>Wed, 12 Sep 2007 11:15:41 +0000</pubDate>
		<dc:creator>richard</dc:creator>
		
		<category><![CDATA[DOAP]]></category>

		<category><![CDATA[FOAF]]></category>

		<category><![CDATA[RDF]]></category>

		<guid isPermaLink="false">http://blog.3kbo.com/2007/09/12/cdms-doap/</guid>
		<description><![CDATA[In an earlier article Migrating an existing application to the iPhone and the Semantic Web I discussed some of the areas where Semantic Web concepts could be beneficially applied to the &#8220;Compliance Data Management Service&#8221; (CDMS) .To show the benefits of using RDF and OWL vocabularies I need to build up a number of  [...]]]></description>
			<content:encoded><![CDATA[<p>In an earlier article<a href="http://blog.3kbo.com/2007/06/30/cdms-iphone-semantic-web"> Migrating an existing application to the iPhone and the Semantic Web</a> I discussed some of the areas where <a href="http://www.w3.org/2001/sw/" title="Semantic Web" target="_blank">Semantic Web</a><a href="http://"> </a>concepts could be beneficially applied to the <a href="http://www.abeservices.com.au" title="ABE Services - CDMS" target="_blank">&#8220;Compliance Data Management Service&#8221; (CDMS) </a>.To show the benefits of using <a href="http://www.w3.org/RDF/" title="RDF" target="_blank">RDF</a> and <a href="http://www.w3.org/2004/OWL/" title="OWL" target="_blank">OWL</a> <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/#whichvocabs" title="Vocabularies" target="_blank">vocabularies</a> I need to build up a number of  practical examples.</p>
<p>In this article I present the first example, based on the <a href="http://www.foaf-project.org/" title="FOAF">Frie</a><a href="http://www.foaf-project.org/" title="FOAF">nd of a Friend (FOAF)</a> and <a href="http://usefulinc.com/doap/" title="DOAP" target="_blank">Description of a Project (DOAP)</a> vocabularies.</p>
<p>There is a similarity between the concepts and descriptions used in the <a href="http://usefulinc.com/doap/" title="DOAP" target="_blank">DOAP</a> vocabulary, which describes open source software projects and the descriptions and concepts which relate to the building and construction projects the &#8220;Compliance Data Management Service&#8221;  is used on. Both types of projects bring together people from different locations and organisations to work together. On both types of projects people may assume one or more roles as they work on different tasks. The <a href="http://usefulinc.com/doap/" title="DOAP" target="_blank">DOAP</a> vocabulary imports the <a href="http://www.foaf-project.org/" title="FOAF" target="_blank">Friend of a Friend (FOAF)</a> vocabulary which is widely used on the Semantic Web to describe people and the people they know. It is used by the <a href="http://usefulinc.com/doap/" title="DOAP" target="_blank">DOAP</a> vocabulary and is the logical choice for describing the people working on CDMS projects.</p>
<p>Since CDMS itself is a software project (but not open source) the easiest example to create is a static <a href="http://usefulinc.com/doap/" title="DOAP" target="_blank">DOAP (Description of a Project)</a>  file describing the CDMS software project, combined with a number of static <a href="http://www.foaf-project.org/" title="FOAF" target="_blank">FOAF</a> files describing the various people working on it. The example follows the recipe for <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/#staticRDF" title="Serving Static RDF" target="_blank">serving static RDF files</a> outlined in the tutorial &#8220;<a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/" title="Linked Data" target="_blank">How to Publish Linked Data on the Web</a>&#8220;. It creates the CDMS <a href="http://usefulinc.com/doap/" title="DOAP" target="_blank">DOAP</a> file and related <a href="http://www.foaf-project.org/" title="FOAF" target="_blank">FOAF</a> files, demonstrating basic linking between people and the project they work on.</p>
<p>The CDMS software project is  being developed at ABE Services by four people, John Anderson, Mike Evans, Rob Beasley and myself. To represent this I created the following five static RDF files at <a href="http://www.abeservices.com.au" title="ABE Services" target="_blank">www.abeservices.com.au</a>.</p>
<ul>
<li><a href="http://www.abeservices.com.au/projects/cdms/cdms-doap.rdf#CDMS" target="_blank" title="CDMS DOAP File">CDMS DOAP file</a></li>
<li><a href="http://www.abeservices.com.au/people/janderson/foaf.rdf#janderson" title="John Anderson" target="_blank">John Anderson FOAF file</a></li>
<li><a href="http://www.abeservices.com.au/people/mevans/foaf.rdf#mevans" title="Mike Evans" target="_blank">Mike Evans FOAF file</a></li>
<li><a href="http://www.abeservices.com.au/people/rbeasley/foaf.rdf#rbeasley" title="Rob Beasley" target="_blank">Rob Beasley FOAF file</a></li>
<li><a href="http://www.abeservices.com.au/people/rhancock/foaf.rdf#rhancock" title="Richard Hancock (ABE Services)" target="_blank">Richard Hancock FOAF file</a></li>
</ul>
<p>Also Irene Bell-Hancock has created some icons and images for us and has been added to the CDMS project description as a documenter. Irene already has <a href="http://www.foaf-project.org/" title="FOAF" target="_blank">FOAF</a> file at <a href="http://www.3kbo.com" title="3kbo" target="_blank">3kbo</a> so the CDMS <a href="http://usefulinc.com/doap/" title="DOAP" target="_blank">DOAP</a> file references Irene using the URI <a href="http://www.3kbo.com/people/irene.bell-hancock/foaf.rdf#me" title="Irene at 3KBO" target="_blank">http://www.3kbo.com/people/irene.bell-hancock/foaf.rdf#me.</a></p>
<p>The basic structure of the CDMS DOAP file is outlined in the image below.</p>
<p><a href="http://blog.3kbo.com/wp-content/uploads/2007/09/cdms-doap-developers.jpg" title="CDMS Developers"><img src="http://blog.3kbo.com/wp-content/uploads/2007/09/cdms-doap-developers.thumbnail.jpg" alt="CDMS Developers" /></a></p>
<p>But a better way to understand the RDF files and how they link together is to use a good RDF browser such as one of the following:</p>
<ul>
<li><a href="http://www4.wiwiss.fu-berlin.de/rdf_browser/" title="Disco" target="_blank">Disco</a></li>
<li><a href="http://browser.zitgist.com:8890" title="Zitgist" target="_blank">Zitgist</a></li>
<li><a href="http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html" title="OpenLink" target="_blank">OpenLink</a></li>
<li><a href="http://dig.csail.mit.edu/2005/ajar/ajaw/tab" title="Tabulator" target="_blank">Tabulator Online</a></li>
</ul>
<p>Each of these browser have an input field which accepts a URI. Once the URI has been entered the RDF browser follows the RDF links and displays them as HTML. For example Disco &#8220;renders all information, that it can find on the Semantic Web about a specific resource, as an HTML page&#8221;. &#8220;While you move from resource to resource, the browser (Disco) dynamically retrieves information by dereferencing HTTP URIs and by following rdfs:seeAlso links.&#8221; The other RDF browser work in a similar way. Tabulator requires some configuration as described on the <a href="http://www.w3.org/2005/ajar/tab" title="Tabulator" target="_blank">Tabulator home page</a>.</p>
<p>Also available from the <a href="http://www.w3.org/2005/ajar/tab" title="Tabulator" target="_blank">Tabulator home page</a> is the Tabulator Firefox extension which makes browsing RDF data with Firefox extremely easy. Below is what is seen with Tabulator Firefox extension when the CDMS DOAP URI ( <a href="http://www.abeservices.com.au/projects/cdms/cdms-doap.rdf#CDMS" title="CDMS DOAP File" target="_blank">http://www.abeservices.com.au/projects/cdms/cdms-doap.rdf#CDMS</a> )is first opened.</p>
<p><a href="http://blog.3kbo.com/wp-content/uploads/2007/09/cdms-doap-core.jpg" title="CDMS DOAP RDF File"><img src="http://blog.3kbo.com/wp-content/uploads/2007/09/cdms-doap-core.jpg" alt="CDMS DOAP RDF File" /></a></p>
<p>Following the link to Irene displays her <a href="http://www.foaf-project.org/" title="FOAF" target="_blank">FOAF</a> file (from 3kbo ) within the same html page that is displaying the CDMS <a href="http://usefulinc.com/doap/" title="DOAP" target="_blank">DOAP</a> file.</p>
<p><a href="http://blog.3kbo.com/wp-content/uploads/2007/09/cdms-doap-irene.jpg" title="Irenes FOAF file within CDMS DOAP"><img src="http://blog.3kbo.com/wp-content/uploads/2007/09/cdms-doap-irene.jpg" alt="Irenes FOAF file within CDMS DOAP" /></a></p>
<p>On 3kbo there are two foaf.rdf files,  <a href="http://www.3kbo.com/people/richard.hancock/foaf.rdf" title="Richard Hancock" target="_blank">http://www.3kbo.com/people/richard.hancock/foaf.rdf</a> and   <a href="http://www.3kbo.com/people/irene.bell-hancock/foaf.rdf" title="Irene Bell-Hancock" target="_blank">http://www.3kbo.com/people/irene.bell-hancock/foaf.rdf</a>. In both files the <a href="http://xmlns.com/foaf/spec/#term_knows" title="FOAF knows" target="_blank">foaf:knows</a> property is used to show that Richard knows Irene and Irene knows Richard. Using Tabulator it is easy to navigate from Irene&#8217;s foaf file to Richard&#8217;s.</p>
<p>Navigation via RDF data across web servers is illustrated by starting at the <a href="http://www.abeservices.com.au/projects/cdms/cdms-doap.rdf#CDMS" title="CDMS DOAP" target="_blank">CDMS Description of a Project (DOAP)</a>   at www.abeservices.com.au and following the CDMS &#8220;Documenter&#8221; link to Irene then Irenes &#8220;Knows&#8221; link to Richard.</p>
<p>Richard&#8217;s 3kbo foaf file uses the built-in OWL property <a href="http://www.w3.org/TR/owl-ref/#sameAs-def" title="owl:sameAs" target="_blank">owl:sameAs</a> to indicate that Richard at 3kbo is the same individual as Richard at abeservices. Setting <a href="http://www.w3.org/TR/owl-ref/#sameAs-def" title="owl:sameAs" target="_blank">owl:sameAs </a>to the following &lt;owl:sameAs rdf:resource=&#8221;<a href="http://http://www.abeservices.com.au/people/rhancock/foaf.rdf#rhancock" title="Richard at ABEServices" target="_blank">http://www.abeservices.com.au/people/rhancock/foaf.rdf#rhancock</a>&#8220;/&gt; in the definition of Richard at <a href="http://www.3kbo.com/people/richard.hancock/foaf.rdf#i" title="Richard 3KBO" target="_blank">http://www.3kbo.com/people/richard.hancock/foaf.rdf#i  </a>allows Tabulator to recognize the equivalence of the two definitions and merges the information from the two sources. This is shown in the image below.</p>
<p><a href="http://blog.3kbo.com/wp-content/uploads/2007/09/richard-3kbo-foaf.jpg" title="Richards 3kbo FOAF Profile"><img src="http://blog.3kbo.com/wp-content/uploads/2007/09/richard-3kbo-foaf.jpg" alt="Richards 3kbo FOAF Profile" /></a></p>
<p>A visual indication of the merging is that the two images reside on different servers, within different FOAF definitions of Richard, i.e.   <a href="http://www.abeservices.com.au/people/rhancock/richard-hancock.jpg" title="Richard Image on ABEServices.com.au" target="_blank">http://www.abeservices.com.au/people/rhancock/richard-hancock.jpg</a> resides on www.abeservices.com.au and <a href="http://www.3kbo.com/people/richard.hancock/richard-hancock.jpg" title="Richards Image on 3KBO" target="_blank">http://www.3kbo.com/people/richard.hancock/richard-hancock.jpg</a> resides on www.3kbo.com.</p>
<p>Tabulator follows the principles of <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/#Terminology" title="Web Architecture" target="_blank">Web Architecture</a> outlined in the  tutorial <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/" title="Linked Data Tutorial" target="_blank">How to Publish Linked Data on the Web</a>. When it finds that an RDF data link leads to a standard html web document or image these are displayed within the page showing the RDF data. In addition to showing embedded images (like those shown above) Tabulator can also displays web sites embedded in the same page. A good example is Irene&#8217;s home page <a href="http://picasaweb.google.com/goannagraphics" title="picasaweb" target="_blank">http://picasaweb.google.com/goannagraphics</a>. In the image below the picasaweb slide show of the embedded home page has been activated and is fully functional.</p>
<p><a href="http://blog.3kbo.com/wp-content/uploads/2007/09/irene-homepage.jpg" title="Irene’s Homepage"><img src="http://blog.3kbo.com/wp-content/uploads/2007/09/irene-homepage.jpg" alt="Irene’s Homepage" /></a></p>
<p>Examples of <a href="http://xmlns.com/foaf/spec/" title="FOAF Specification" target="_blank">FOAF properties</a> which lead to web documents include <a href="http://xmlns.com/foaf/spec/#term_homepage" title="foaf:homepage" target="_blank">foaf:homepage</a>,  <a href="http://xmlns.com/foaf/spec/#term_weblog" title="foaf:weblog" target="_blank">foaf:weblog</a> and <a href="http://xmlns.com/foaf/spec/#term_workplaceHomepage" title="foaf:workplaceHomepage" target="_blank">foaf:workplaceHomepage</a>. <a href="http://xmlns.com/foaf/spec/#term_homepage" title="foaf:homepage" target="_blank">foaf:homepage</a> and  <a href="http://xmlns.com/foaf/spec/#term_weblog" title="foaf:weblog" target="_blank">foaf:weblog</a> are defined to be properties of OWL Type: <a href="http://www.w3.org/TR/owl-ref/#InverseFunctionalProperty-def" title="InverseFunctionalProperty" target="_blank">InverseFunctionalProperty</a>.  As such they uniquely identify the person whose homepage or weblog it is and within Tabulator can lead to the merging of information in a way similar to that seen when the <a href="http://www.w3.org/TR/owl-ref/#sameAs-def" title="owl:sameAs" target="_blank">owl:sameAs</a>  property is applied.</p>
<p>In summary, the example above shows a number of the benefits of using RDF data and reusing <a href="http://www.w3.org/RDF/" title="RDF" target="_blank">RDF</a> and <a href="http://www.w3.org/2004/OWL/" title="OWL" target="_blank">OWL</a> <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/#whichvocabs" title="Vocabularies" target="_blank">vocabularies</a>. These include:<a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/#whichvocabs" title="Vocabularies" target="_blank"><br />
</a></p>
<ol>
<li>Using standardized representations of people (<a href="http://www.foaf-project.org/" title="FOAF" target="_blank">FOAF</a>)  and (software) projects (<a href="http://usefulinc.com/doap/" title="DOAP" target="_blank">DOAP</a>) .</li>
<li>Interlinking between sites using RDF data links allows data from different sources to be easily combined.</li>
<li>Reasoning over data, e.g. the basic inferencing using <a href="http://www.w3.org/TR/owl-ref/#sameAs-def" title="owl:sameAs" target="_blank">owl:sameAs</a>. Other examples include the  foaf:homepage and foaf:weblog properties which are defined as <a href="http://www.w3.org/TR/owl-ref/#InverseFunctionalProperty-def" title="owl:InverseFunctionalProperty" target="_blank">owl:InverseFunctionalProperty</a>. Taking selective advantage of the features of the  <a href="http://www.w3.org/TR/owl-ref/" title="OWL - Web Ontology Lanaguage" target="_blank">Web Ontology Language (OWL)</a> has the potential to reduce the amount of application specific code (e.g. java code) that needs to be written.</li>
</ol>
<p>Future articles based on the examples created above and the existing <a href="http://www.abeservices.com.au" title="CDMS" target="_blank">CDMS </a>application will include:</p>
<ol>
<li>Demonstrating the ability to query the constructed RDF data files using the <a href="http://www.w3.org/TR/rdf-sparql-query/" title="SPARQL" target="_blank">SPARQL Query Lanaguage</a>.</li>
<li>Accessing existing data stored in a relational database as RDF using the <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/d2r-server/index.html" title="D2R Server" target="_blank">D2R Server</a> .  The <a href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/d2r-server/index.html" title="D2R Server" target="_blank">D2R Server</a> enables RDF and HTML browsers to navigate the content of the database, and allows applications to query the database using the <a href="http://www.w3.org/TR/rdf-sparql-query/" title="SPARQL" target="_blank">SPARQL Query Lanaguage</a>.</li>
<li>Develop a prototype semantic web application using an RDF Triple Store that supports the <a href="http://jena.hpl.hp.com/~afs/SPARQL-Update.html" title="SPARQL Update Specification" target="_blank">SPARQL Update</a> specification.</li>
<li>Create a <a href="http://www.w3.org/2004/02/skos/" title="SKOS" target="_blank">SKOS</a> glossary  based on the blog entry <a href="http://abeserver.isa.net.au:3000/2007/4/8/glossary-of-common-cdms-terms" title="Glossary of Common CDMS Terms" target="_blank">Glossary of Common CDMS Term</a>. The glossary would support the development of a building industry related ontologies.</li>
<li>Define an ontology which provides a &#8220;Description of a Building Project&#8221; and link it to a suitable ontology which describes the tasks undertaken as part of a building project.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.3kbo.com/2007/09/12/cdms-doap/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installing Ruby On Rails on Mac OS X</title>
		<link>http://blog.3kbo.com/2007/08/25/installing-ruby-on-rails-on-mac-os-x/</link>
		<comments>http://blog.3kbo.com/2007/08/25/installing-ruby-on-rails-on-mac-os-x/#comments</comments>
		<pubDate>Sun, 26 Aug 2007 03:47:01 +0000</pubDate>
		<dc:creator>richard</dc:creator>
		
		<category><![CDATA[ActiveRDF]]></category>

		<category><![CDATA[RDF]]></category>

		<category><![CDATA[Rails]]></category>

		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.3kbo.com/2007/08/25/installing-ruby-on-rails-on-mac-os-x/</guid>
		<description><![CDATA[The two main sites I am working with are www.3kbo.com and www.abeservices.com.au. 3kbo is hosted at www.railsplayground.com and is centered around Ruby On Rails apps while www.abeservices.com.au has its own server and is java focused.
The plan is to develop semantic web based applications using the Ruby based RDF framework ActiveRDF and deploy them at 3kbo. [...]]]></description>
			<content:encoded><![CDATA[<p>The two main sites I am working with are <a href="http://blog.3kbo.com" title="3kbo" target="_blank">www.3kbo.com</a> and <a href="http://www.abeservices.com.au" title="ABE Services" target="_blank">www.abeservices.com.au</a>. 3kbo is hosted at <a href="http://www.railsplayground.com/" title="Rails Play Ground" target="_blank">www.railsplayground.com</a> and is centered around Ruby On Rails apps while <a href="http://www.abeservices.com.au" title="ABE Services" target="_blank">www.abeservices.com.au </a>has its own server and is java focused.</p>
<p>The plan is to develop semantic web based applications using the Ruby based RDF framework <a href="http://www.activerdf.org/" title="ActiveRDF" target="_blank">ActiveRDF</a> and deploy them at 3kbo. The 3kbo applications will also be leveraging the <a href="http://www.rubyonrails.org/" title="Ruby On Rails" target="_blank">Ruby On Rails</a> web framework.</p>
<p>The  first step in getting started is to install Ruby On Rails on my new(ish) Mac PowerBook. Initially I will be using just two of the available ActiveRDF <a href="http://wiki.activerdf.org/GettingStartedGuide" title="ActiveRDF" target="_blank">adaptors</a>, &#8220;SPARQL&#8221; and &#8220;RDFLite&#8221;. RDFLite needs <a href="http://www.sqlite.org/" title="SQLite" target="_blank">SQLite3</a>, meaning that the default version that comes with Mac OS X needs to be updated. Since RDFLite can also utilize  <a href="http://ferret.davebalmain.com/trac" title="Ferret" target="_blank">ferret</a> , the Ruby search engine library, this was installed as well.</p>
<p>To install Ruby on Rails I followed the basic instructions outlined in <a href="http://www.robbyonrails.com/articles/2007/06/19/installing-ruby-on-rails-and-postgresql-on-os-x-second-edition" title="Installing Ruby On Rails">Installing Ruby on Rails and PostgreSQL on OS X.</a></p>
<p>This approach uses <a href="http://www.macports.org/" title="MacPorts" target="_blank">MacPorts</a> and overall worked well, apart from getting the following error at the very beginning:</p>
<p>&#8220;Error: search for portname ruby failed: No index(es) found! Have you synced your source indexes?&#8221;</p>
<p>The fix was to run the port selfupdate command:</p>
<p>$ sudo port selfupdate</p>
<p>After that ruby and ruby gems were successfully installed with the port command:</p>
<p>$ sudo port install ruby rb-rubygems</p>
<p>Well almost. The first attempt to install rails using gem ended with the error:</p>
<p>Bulk updating Gem source index for: http://gems.rubyforge.org<br />
ERROR:  While executing gem &#8230; (Gem::GemNotFoundException)<br />
Could not find rails (&gt; 0) in any repository</p>
<p>Problem solved by following the instructions at <a href="http://armyofevilrobots.com/node/418" title="Army of Evil Robots" target="_blank">http://armyofevilrobots.com/node/418</a>, i.e delete the gem source_cache and update gems.</p>
<p>$ sudo gem update</p>
<p>With gem updated rails installed fine.</p>
<p>$ sudo gem install -y rails</p>
<p>SQLite3 installed without problem</p>
<p>$ sudo port install sqlite3</p>
<p>So did ferret</p>
<p>$ gem install ferret</p>
<p>To test  that all was fine I created a basic Rails app following the steps outlined in<a href="http://www.onlamp.com/pub/a/onlamp/2006/12/14/revisiting-ruby-on-rails-revisited.html" title="Rolling with Rails" target="_blank"> Rolling with Ruby on Rails Revisited<br />
</a><br />
$ rails example<br />
$ cd example<br />
$ ruby script/server</p>
<p>And view at http://localhost:3000/</p>
<p>Or to check when running with Mongrel</p>
<p>$ mongrel_rails start</p>
<p>And view at http://localhost:3000/</p>
<p>With the basic Rails app working it was time to get started with <a href="http://www.activerdf.org/" title="ActiveRDF">ActiveRDF</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3kbo.com/2007/08/25/installing-ruby-on-rails-on-mac-os-x/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ESWC 2007 and Scripting for the Semantic Web</title>
		<link>http://blog.3kbo.com/2007/07/02/eswc-2007-and-scripting-for-the-semantic-web/</link>
		<comments>http://blog.3kbo.com/2007/07/02/eswc-2007-and-scripting-for-the-semantic-web/#comments</comments>
		<pubDate>Mon, 02 Jul 2007 21:12:36 +0000</pubDate>
		<dc:creator>richard</dc:creator>
		
		<category><![CDATA[Conference]]></category>

		<guid isPermaLink="false">http://blog.3kbo.com/2007/07/02/eswc-2007-and-scripting-for-the-semantic-web/</guid>
		<description><![CDATA[With encouragement from Steffen Schaefer and Tom Heath I finally got to Europe for the 4th European Semantic Web Conference and the Scripting for the Semantic Web Workshop.

Richard and Steffen in Munich
Coming from a java background the workshop opened by my eyes to the flexibility of scripting languages, especially in the context of the semantic [...]]]></description>
			<content:encoded><![CDATA[<p>With encouragement from Steffen Schaefer and Tom Heath I finally got to Europe for the <a target="_blank" href="http://www.eswc2007.org/" title="ESWC 2007">4th</a><span class="bodyblack"><a target="_blank" href="http://www.eswc2007.org/" title="ESWC 2007"> European Semantic Web Conference</a> </span>and the <span class="bodyblack"><span class="titlegreen"><a target="_blank" href="http://www.semanticscripting.org/SFSW2007/" title="Scripting for the Semantic Web Workshop">Scripting for the Semantic Web Workshop</a>.</span></span></p>
<p><a href="http://blog.3kbo.com/wp-admin/upload.php?style=inline&amp;tab=browse-all&amp;post_id=15&amp;_wpnonce=a292f3f16c&amp;ID=16&amp;action=view&amp;paged" title="Richard and Steffen at the beer garden in Munich" id="file-link-16" class="file-link image"><img src="http://blog.3kbo.com/wp-content/uploads/2007/07/richardsteffenmunich.jpg" alt="Richard and Steffen at the beer garden in Munich" title="Richard and Steffen at the beer garden in Munich" /></a></p>
<p><a href="http://blog.3kbo.com/wp-content/uploads/2007/07/richardsteffenmunich.jpg" title="Richard and Steffen Munich">Richard and Steffen in Munich</a></p>
<p>Coming from a java background the workshop opened by my eyes to the flexibility of scripting languages, especially in the context of the semantic web. Now have a stronger focus on PHP, JavaScript, Ruby (Ruby on Rails) and Python, especially when developing lightweight semantic web apps. AJAX and REST design paradigms are taken as a given. <a target="_blank" href="http://projects.semwebcentral.org/projects/ripple/" title="Ripple">Ripple</a> also looks like a promising language to explore when working with RDF.</p>
<p>Also enjoyed meeting <a target="_blank" href="http://dannyayers.com/" title="Danny Ayers">Danny Ayers</a>. Danny has blazed a lot of the trail that I seem to be following, e.g. Danny&#8217;s <a href="http://dannyayers.com:88/xmlns/project/index.htm">Project Vocabulary Ontology</a> provides a good start for the project management ontology needed as part of enabling <a href="http://blog.3kbo.com/2007/06/30/cdms-iphone-semantic-web/">CDMS</a> for the Semantic Web.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.3kbo.com/2007/07/02/eswc-2007-and-scripting-for-the-semantic-web/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
