<?xml version="1.0" encoding="utf-8"?>
<!-- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
-->
<?xml-stylesheet type="text/xsl" href="https://rollerweblogger.org/roller-ui/styles/rss.xsl" media="screen"?><rss version="2.0" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
  <title>Blogging Roller</title>
  <link>https://rollerweblogger.org/roller/</link>
    <atom:link rel="self" type="application/rss+xml" href="https://rollerweblogger.org/roller/feed/entries/rss?tags=linkeddata" />
  <description>Dave Johnson on open web technologies, social software and software development</description>
  <language>en-us</language>
  <copyright>Copyright 2026</copyright>
  <lastBuildDate>Tue, 28 Apr 2026 07:02:22 +0000</lastBuildDate>
  <generator>Apache Roller 6.1.5</generator>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/html5_microdata_and_schema_org</guid>
    <title>HTML5 Microdata and Schema.org</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/html5_microdata_and_schema_org</link>
    <pubDate>Thu, 9 Feb 2012 08:48:06 +0000</pubDate>
    <category>Web Development</category>
    <category>html5</category>
    <category>linkeddata</category>
    <category>wip</category>
<description>&lt;p&gt;Worth a read and related to my Web Integration Patterns post on &lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_embedded_properties_in_html&quot;&gt;Embedded Properties in HTML&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
HTML5 Microdata and Schema.org:HTML5 Microdata and Schema.org
On June 2, 2011, Bing, Google, and Yahoo! announced the joint effort Schema.org. When the big search engines talk, Web site authors listen. This article is an introduction to Microdata and Schema.org. The first section describes what HTML5, Microdata and Schema.org are, and the problems they have been designed to solve. With this foundation in place section 2 provides a practical tutorial of how to use Microdata and Schema.org using a real life example from the cultural heritage sector. Along the way some tools for implementers will also be introduced. Issues with applying these technologies to cultural heritage materials will crop up along with opportunities to improve the situation.&lt;/blockquote&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/oslc_core_spec_final</guid>
    <title>OSLC Core v2 specification now FINAL</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/oslc_core_spec_final</link>
    <pubDate>Wed, 1 Jun 2011 14:38:13 +0000</pubDate>
    <category>IBM</category>
    <category>asf</category>
    <category>linkeddata</category>
    <category>oslc</category>
    <category>rest</category>
    <category>wip</category>
<description>&lt;p&gt;&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/04fe2c5b-9719-4e13-9221-70a0645b48e0&quot; align=&quot;right&quot; hspace=&quot;5&quot;&gt;
I&amp;#39;ve been working on the OSLC Core specification for about 1.5 years now as workgroup lead, and &lt;a href=&quot;http://open-services.net&quot;&gt;OSLC&lt;/a&gt; fits squarely under the &amp;quot;open web technologies&amp;quot; and &lt;a href=&quot;http://rollerweblogger.org/roller/entry/web_integration_patterns&quot;&gt;Web Integration Patterns&lt;/a&gt; topics of this blog, so I&amp;#39;m blogging this happy news. &lt;/p&gt;

&lt;p&gt;Here&amp;#39;s the announcement From the OSLC Core Workgroup mailing list:&lt;/p&gt;

&lt;pre&gt;
From: Dave Johnson
To: oslc-core (a) open-services.net, community (a) open-services.net
Subject: OSLC Core v2 specification now FINAL

Today [1], I&amp;#39;m very happy to announce that the OSLC Core v2
specification is FINAL.

The OSLC Core v2 specification [2] defines a set of REST and Linked
Data-based patterns, resources and protocols for integration of application 
and product lifecycle resources (ALM and PLM). It&amp;#39;s designed to be the
foundation for all other OSLC domain specifications and there are now
three final OSLC specifications that are based on the Core, those
being the OSLC Change Management (CM) [3], OSLC Quality Management
(QM) [4] and OSLC Requirements Management (RM) [5] specs.

I&amp;#39;d like to thank all of the members of the OSLC Core Workgroup and
community for their hard work, critical thinking and ability to work
together in such a productive and pleasant way. Also, special thanks
to those OSLC domain workgroups who rebased their work on the Core and
development teams that provided excellent feedback along the way.

Thanks,
- Dave

--
David M. Johnson
OSLC Core Workgroup Lead
IBM Rational Software


[1] Move to final was proposed last week, along with a small set of
changes which have since been applied to the specification. 
[2] &lt;a href=&quot;http://open-services.net/bin/view/Main/OslcCoreSpecification&quot;&gt;OslcCoreSpecification&lt;/a&gt;
[3] &lt;a href=&quot;http://open-services.net/bin/view/Main/CmSpecificationV2&quot;&gt;CmSpecificationV2&lt;/a&gt;
[4] &lt;a href=&quot;http://open-services.net/bin/view/Main/QmSpecificationV2&quot;&gt;QmSpecificationV2&lt;/a&gt;
[5] &lt;a href=&quot;http://open-services.net/bin/view/Main/RmSpecificationV2&quot;&gt;RmSpecificationV2&lt;/a&gt;
&lt;/pre&gt;

&lt;p&gt;I really do have another &lt;a href=&quot;http://rollerweblogger.org/roller/entry/web_integration_patterns&quot;&gt;Web Integration Patterns&lt;/a&gt; post on the way shortly, so stay tuned.&lt;/p&gt;</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/wip_links</guid>
    <title>WIP: Links</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/wip_links</link>
    <pubDate>Mon, 21 Mar 2011 06:49:23 +0000</pubDate>
    <category>Web Development</category>
    <category>atompub</category>
    <category>html</category>
    <category>linkeddata</category>
    <category>links</category>
    <category>rdf</category>
    <category>wip</category>
<atom:summary type="html">&lt;p style=&quot;font-style:italic;&quot;&gt;This is the first in my series of Web Integration Patterns. Check out the intro at this URL &lt;a href=&quot;http://rollerweblogger.org/roller/entry/web_integration_patterns&quot;&gt;http://rollerweblogger.org/roller/entry/web_integration_patterns&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;Synopsis&lt;/p&gt;
&lt;p&gt;Use links as a way to integrate web sites &amp;amp; applications via navigation and relationships between resources.&lt;/p&gt;</atom:summary><description>&lt;p style=&quot;font-style:italic;&quot;&gt;This is the first in my series of Web Integration Patterns. Check out the intro at this URL &lt;a href=&quot;http://rollerweblogger.org/roller/entry/web_integration_patterns&quot;&gt;http://rollerweblogger.org/roller/entry/web_integration_patterns&lt;/a&gt;&lt;/p&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;Synopsis&lt;/p&gt;
&lt;p&gt;Use links as a way to integrate web sites &amp;amp; applications via navigation and relationships between resources.&lt;/p&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;Motivations&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Provide navigation between integrated web sites &amp;amp; applications&lt;/li&gt;
&lt;li&gt;Create meaningful relationships between web resources&lt;/li&gt;
&lt;/ul&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;Related patterns&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_common_navigation&quot;&gt;Common Navigation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_embedded_properties_in_html&quot;&gt;Embedded Properties in HTML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_resource_preview&quot;&gt;Resource Preview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Delegated Selection &amp;amp; Creation&lt;/li&gt;
&lt;li&gt;Linked Data &amp; REST&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/World_Wide_Web&quot;&gt;web&lt;/a&gt; is the web and &lt;a href=&quot;http://en.wikipedia.org/wiki/Hypertext&quot;&gt;hypertext&lt;/a&gt; is hyper because of links. Links allow for the most deep and also the most shallow forms of integration. Links enable navigation and with some discipline, links can also express relationships between resources. There are a variety of ways to express links; the standard and most popular way is to use HTML, but there are others and I&#146;ll cover them below.&lt;/p&gt;

&lt;h4&gt;Links enable navigation&lt;/h4&gt;

&lt;p&gt;With links, you can provide navigation between web applications at the application, or the feature level. One example is providing a link from the blog application of a social software suite to the wiki, forums and other component applications. Another is providing a link from one application to one specific part or feature of another application. This type of linking is easy to implement but fairly shallow. It&#146;s convenience and not much more.&lt;/p&gt;

&lt;h4&gt;Links can express relationships&lt;/h4&gt;

&lt;p&gt;What&#146;s more useful and powerful, is using links to create meaningful relationships between the resources provided by web applications. For example, there&amp;#39;s obvious value linking a defect in a bug tracking system to the source code changes that fixed the bug in a source code management system. Or, you might link a Requirement resource to the Work-Item resources that implement it. By the way, those example are drawn from the &lt;a href=&quot;http://open-services.net/&quot;&gt;OSLC specs&lt;/a&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/Application_lifecycle_management&quot;&gt;ALM&lt;/a&gt; / &lt;a href=&quot;http://en.wikipedia.org/wiki/Product_lifecycle_management&quot;&gt;PLM&lt;/a&gt; integration.&lt;/p&gt;

&lt;p&gt;If you want to use links to establish relationships, then you do have to have some discipline about the URLs you offer and the URLs you link to. You have to treat links with the same rigor and respect you&#146;d give primary and foreign keys in a relational database. For example, if you make a resource available in different formats, and each at a different URL, one that ends in &#147;.html&#148; and one with &#147;.xml&#148; and one with &#147;.json&#148; then you&#146;ve got three URLs that refer same resource. In this case, it&#146;s better to use Content Negotiation so you can offer one URL that others can use to link to the resource. &lt;/p&gt;

&lt;p&gt;One way to get yourself some link discipline is to adopt &lt;a href=&quot;http://www.w3.org/DesignIssues/LinkedData.html&quot;&gt;Linked Data&lt;/a&gt; and the &lt;a href=&quot;http://www.w3.org/RDF/&quot;&gt;RDF&lt;/a&gt; data model, which &#148;extends the linking structure of the Web to use URIs to name the relationship between things as well as the two ends of the link.&#148; See also the Web Annotations and Linked Data &amp;amp; REST pattern.&lt;/p&gt;

&lt;h4&gt;Links can be expressed in standard formats&lt;/h4&gt;

&lt;p&gt;The standard way to represent links on the web is through HTML and in HTML, links are expressed in a variety of ways, via anchor tags, via image tags, the link tag and others. There are other standard ways to express links, but none as popular as HTML. &lt;/p&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;HTML&lt;/p&gt;

&lt;p&gt;In HTML, links can be expressed via the &lt;code&gt;&lt;a href=&quot;http://www.whatwg.org/specs/web-apps/current-work/#the-a-element&quot;&gt;&amp;lt;a&amp;gt;&lt;/a&gt;&lt;/code&gt; element, for expressing a hyperlink in text, and the &lt;code&gt;&lt;a href=&quot;http://www.whatwg.org/specs/web-apps/current-work/#the-link-element&quot;&gt;&amp;lt;link&amp;gt;&lt;/a&gt;&lt;/code&gt; element, for expressing a link to a resource associated with the page.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; links can specify not only the URL of the link but also the relationship type of the link, as well as content-type and language for the resource that lies at the other end of the link. For example, a link type of &lt;code&gt;rel=&#148;next&#148;&lt;/code&gt; indicates that a link points to the next page in a series of pages, or multi-page article. A link type of &lt;code&gt;rel=&#148;stylesheet&#148;&lt;/code&gt; indicates that the link is to style-sheet to be applied to the current page. There are a standard set of &lt;a href=&quot;http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#linkTypes&quot;&gt;link relationship types in the HTML spec&lt;/a&gt;. Here&amp;#39;s an example from this very blog page, the link to this blogs Atom feed:&lt;/p&gt;

&lt;pre&gt;


&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;application/atom+xml&amp;quot; title=&amp;quot;Recent Entries (Atom)&amp;quot;     
   href=&amp;quot;http://rollerweblogger.org/roller/feed/entries/atom&amp;quot; /&amp;gt; 


&lt;/pre&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;Atom&lt;/p&gt;

&lt;p&gt;The Atom Syndication Format defines a &lt;code&gt;&lt;a href=&quot;http://tools.ietf.org/html/rfc4287#page-21&quot;&gt;&amp;lt;link&amp;gt;&lt;/a&gt;&lt;/code&gt; element, modeled on the one in HTML. Atom adds a length attribute, the size in bytes of the resource at the other end of the link. Atom defines some new links types, alternate, related, self and enclosure. Atom also allows new links to be added and a Atom &lt;a href=&quot;http://www.iana.org/assignments/link-relations/link-relations.xml&quot;&gt;link-type registry&lt;/a&gt; is maintained at IANA.org.  Here&#146;s an example link from the Atom comments feed for this blog:&lt;/p&gt;

&lt;pre&gt;


&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;text/html&amp;quot; href=
&amp;quot;http://rollerweblogger.org/roller/entry/apache_roller_5_0_rc3#comment-12941523&amp;quot; /&amp;gt;


&lt;/pre&gt;

&lt;p style=&quot;font-weight:bold;&quot;&gt;RDF&lt;/p&gt;

&lt;p&gt;Another standard way to express links is RDF, using any of the RDF serializations: RDF/XML, Turtle, N3 and soon, there will be a &lt;a href=&quot;http://www.w3.org/QA/2010/12/new_rdf_working_group_rdfjson.html&quot;&gt;W3C standard for RDF/JSON&lt;/a&gt;. Yes, there will be a standard way to express links in JSON and that&amp;#39;s good news. For now, we&amp;#39;re stuck with RDF/XML. In RDF/XML a link is expressed via the &lt;code&gt;rdf:resource&lt;/code&gt; attribute, so for example a link from a Requirement to the user that created the requirement might look like this:&lt;/p&gt;

&lt;pre&gt;


&amp;lt;dc:creator rdf:resource=&amp;quot;https://localhost:9443/user/676&amp;quot; /&amp;gt;


&lt;/pre&gt;

&lt;p&gt;&lt;a href=&quot;http://www.w3.org/RDF/&quot;&gt;RDF&lt;/a&gt; (&lt;a href=&quot;http://en.wikipedia.org/wiki/Resource_Description_Framework&quot;&gt;Wikipedia page&lt;/a&gt;) goes way beyond the couple dozen link attributes and relationship types provided by HTML and Atom. RDF provides ways to specify property values about any linked resource, and property values of each link.  RDF also provides ways to define &lt;a href=&quot;http://www.w3.org/TR/rdf-concepts/&quot;&gt;vocabularies&lt;/a&gt; of properties.&lt;/p&gt;

&lt;h4&gt;Wrapping up &lt;/h4&gt;

&lt;p&gt;It&amp;#39;s time to wrap-up. For better or worse, I&#146;ve written more than I expected to write and I&#146;m nowhere near done with the topic of links. I hope I&#146;ve covered the important parts. Comments are open so please correct me and make suggestions if you got some. This is the first pattern that I&#146;ve written up, so I&#146;m also interested in comments about the format, level of abstraction, value, etc. as well. &lt;/p&gt;

&lt;p&gt;Next up: Common Navigation.&lt;/p&gt;
</description>  </item>
  <item>
    <guid isPermaLink="true">https://rollerweblogger.org/roller/entry/re_rdf_and_opensocial</guid>
    <title>re: RDF and OpenSocial</title>
    <dc:creator>Dave Johnson</dc:creator>
    <link>https://rollerweblogger.org/roller/entry/re_rdf_and_opensocial</link>
    <pubDate>Fri, 3 Dec 2010 08:22:48 +0000</pubDate>
    <category>Social Software</category>
    <category>jazz</category>
    <category>linkeddata</category>
    <category>opensocial</category>
    <category>oslc</category>
    <category>rdf</category>
<description>&lt;p&gt;This is the closest thing to a blog post that I&amp;#39;ve written lately, a post to the &lt;a href=&quot;http://groups.google.com/group/opensocial-and-gadgets-spec/topics&quot;&gt;OpenSocial specification group&lt;/a&gt; on aligning OpenSocial with RDF and Linked Data:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a topic of interest to me, so I&amp;#39;ll try to elaborate. 

&lt;p&gt;First, I want to point out that RDF is not a representation, it&amp;#39;s a way to model data and it&amp;#39;s multiple ways to represent that data (in 
XML, JSON, etc.). I think the real question is: how do we enable OpenSocial to hook into the RDF-based web of &amp;quot;Linked Data&amp;quot; that is 
rapidly growing up around scientific data, government open data and the academic world. I&amp;#39;m not going to go into the benefits of Linked 
Data in this post, but I will disclose that I work for a company that uses RDF as a common data model to enable loosely coupled integration across our web application products (see also Jazz Integration Architecture [1] and OSLC [2]). We&amp;#39;d like to be able to integrate with OpenSocial services in the same ways. &lt;/p&gt;

&lt;p&gt;I&amp;#39;ll explain the basics of RDF.  RDF is way to model web data and ways to represent that data in XML, JSON, Turtle, etc. The RDF data model is simple, we have resources identified by URIs and property values associated with those resources. Resources can have types, each type is identified by a URI. Property types have URIs too. Once you have defined your data model in terms of RDF types and properties, you can represent resources and their properties using RDF representations. There&amp;#39;s RDF/XML for XML, there&amp;#39;s RDFa for embedding properties in HTML. There&amp;#39;s are JSON representations too, but not a standard for JSON yet.&lt;/p&gt;

&lt;p&gt;So, to bring OpenSocial in-line with the world of Linked Data, we would define each class of OpenSocial objects as an RDF type, with a URI. We would define each OpenSocial property as an RDF property, with a URI. In some cases, we&amp;#39;ll want to use existing properties, like the Dublin Core title, name, etc., and in some cases we&amp;#39;ll want to define entirely new types and properties. &lt;/p&gt;

&lt;p&gt;As a starting point, I think we would do the following: &lt;/p&gt;

&lt;p&gt;* In OpenSocial v2, we would define all OpenSocial objects and properties as RDF types in the OpenSocial Specs. This means simply 
assigning a URI to every class and every property we define, using standard properties where appropriate and defining new ones as needed. Object and property names would rename the same and we&amp;#39;d have what is essentially an RDF mapping built into the spec. Existing OpenSocial representation formats would stay the same, but we&amp;#39;d add some new RDF representations.&lt;/p&gt;

&lt;p&gt;* We&amp;#39;d introduce an optional new OpenSocial spec that services MAY implement: the OpenSocial RDF Specification. The specification would simply require that a service provide RDF representations of it&amp;#39;s resources via content-negotiation. The service could offer RDF/XML or HTML with RDFa, JSON/RDF or all of the above.&lt;/p&gt;

&lt;p&gt; That&amp;#39;s a starting point and I think we could come up with some other ideas if we thought more about use cases. Anybody else interested in aligning the worlds of OpenSocial and Linked Data? &lt;/p&gt;
&lt;/p&gt;&lt;/blockquote&gt;

Link: &lt;a href=&quot;http://groups.google.com/group/opensocial-and-gadgets-spec/browse_thread/thread/20f62d627003509b#&quot;&gt;RDF and OpenSocial&lt;/a&gt;
</description>  </item>
</channel>
</rss>