<?xml version="1.0" encoding='utf-8'?>
<!-- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
-->
<?xml-stylesheet type="text/xsl" href="https://rollerweblogger.org/roller-ui/styles/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom">
    <title type="html">Blogging Roller</title>
    <subtitle type="html">Dave Johnson on open web technologies, social software and software development</subtitle>
    <id>https://rollerweblogger.org/roller/feed/entries/atom</id>
        <link rel="self" type="application/atom+xml" href="https://rollerweblogger.org/roller/feed/entries/atom?tags=html" />
    <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/" />
    <updated>2026-05-18T08:23:39+00:00</updated>
    <generator uri="http://roller.apache.org" version="6.1.5">Apache Roller</generator>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/wip_embedded_properties_in_html</id>
        <title type="html">WIP: Embedded Properties in HTML</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/wip_embedded_properties_in_html"/>
        <published>2011-04-07T21:57:52+00:00</published>
        <updated>2011-06-03T00:18:07+00:00</updated> 
        <category term="Web Development" label="Web Development" />
        <category term="asf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="html" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rdf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rdfa" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wip" scheme="http://roller.apache.org/ns/tags/" />
        <summary type="html">&lt;p&gt;&lt;i&gt;This is the third 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;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Synopsis&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Enable easier integration and better search across integrated web applications and sites by using standard mechanisms (e.g. Microformats, RDFa) to embed property values in HTML pages.&lt;/p&gt;</summary>
        <content type="html">&lt;p&gt;&lt;i&gt;This is the third 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;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Synopsis&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Enable easier integration and better search across integrated web applications and sites by using standard mechanisms (e.g. Microformats, RDFa) to embed property values in HTML pages.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Motivations&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enable integrated web applications to read, parse and make use of each others data&lt;/li&gt;
&lt;li&gt;Enable better search across integrated web applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Related Patterns&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://rollerweblogger.org/roller/entry/wip_links&quot;&gt;Links&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Web APIs&lt;/li&gt;
&lt;li&gt;Linked Data + REST&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this pattern, you define different types of resources or &#147;objects,&amp;quot; and the properties may be associated with each, or you adopt an existing vocabulary. You define a way to embed type information and properties values into HTML, by embedding name and value pairs in a way invisible to a user or by marking up strings of visible text as property values, or you adopt an existing technique.&lt;/p&gt;

&lt;p&gt;For example, a cooking web site could share recipe data using this pattern by presenting each recipe with embedded property values to make it easy for other web applications, mash-ups and search engines to parse out the different parts of the recipe, title, ingredients list, list of steps, etc. This is a real example, by the way, &lt;a href=&quot;http://www.google.com/support/webmasters/bin/answer.py?answer=173379&quot;&gt;Google indexes recipe data in HTML pages&lt;/a&gt; marked up in either Microformat-style or RDFa.&lt;/p&gt;

&lt;p&gt;If you present each web page as a resource with a type, or multiple types, and embedded property values then you don&#146;t need to define and provide a special &#147;REST API&#148; to allow other web applications to access your data. &lt;/p&gt;

&lt;p&gt;This pattern can enable more powerful search capabilities across integrated web application because search engine&#146;s can be aware of and provide special indexing for those different types of resources and properties.&lt;/p&gt;

&lt;p&gt;There are at least three different standard ways to embed data in HTML: Microformats, HTML Microdata and RDFa, each of which I&#146;ll explain below.&lt;/p&gt;

&lt;h4&gt;Microformats&lt;/h4&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/237ec029-cb39-4f8f-988e-806fb6abf912&quot; alt=&quot;Microformats logo&quot; align=&quot;right&quot; width=&quot;180&quot; height=&quot;50&quot;&gt;

&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Microformat&quot;&gt;According to Wikipedia&lt;/a&gt; &#147;Microformats emerged as part of a grassroots movement to make recognizable data items (such as events, contact details or geographical locations) capable of automated processing by software, as well as directly readable by end-users.&#148; A community grew around Microformats and this community has worked to define Microformats for a variety of use cases. The &lt;a href=&quot;http://microformats.org&quot;&gt;microformats.org&lt;/a&gt; web site lists nine microformats, including &lt;a href=&quot;http://microformats.org/wiki/hcard&quot;&gt;hCard&lt;/a&gt; for sharing contact information, &lt;a href=&quot;http://microformats.org/wiki/hcalendar&quot;&gt;hCalendar&lt;/a&gt; for sharing events and hReview for sharing movie and book reviews.&lt;/p&gt;

&lt;p&gt;The basic idea of Microformats is to use existing HTML element attributes, specifically rel and class, to convey types of things and properties of those things. Here&#146;s an example from Wikipedia: to represent information about a geographic location in HTML, the &lt;a href=&quot;http://microformats.org/wiki/geo&quot;&gt;Geo Microformat&lt;/a&gt; uses the syntax below:
&lt;/p&gt;

&lt;pre&gt;

   The birds roosted at
     &amp;lt;span class=&amp;quot;geo&amp;quot;&amp;gt;
     &amp;lt;span class=&amp;quot;latitude&amp;quot;&amp;gt;52.48&amp;lt;/span&amp;gt;,
     &amp;lt;span class=&amp;quot;longitude&amp;quot;&amp;gt;-1.89&amp;lt;/span&amp;gt;
   &amp;lt;/span&amp;gt;&lt;/pre&gt;

&lt;p&gt;The outer-most span&#146;s class element indicates the type &amp;quot;geo&amp;quot; and the inner spans carry the &amp;quot;latitude&amp;quot; and &amp;quot;longitude&amp;quot; property values.&lt;/p&gt;

&lt;p&gt;If you want to take advantage of Microformats in web application integration, then you pick one of the existing formats or you invent a new one, ideally by working with the Microformats community to do so. &lt;/p&gt;

&lt;p&gt;Another approach for implementing Embedded Properties in HTML is HTML itself.&lt;/p&gt;

&lt;h4&gt;HTML(5) Microdata&lt;/h4&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/a5dd6440-5fcd-4b48-9d56-fe71dd0862d5&quot; alt=&quot;HTML5 logo&quot; align=&quot;right&quot; width=&quot;100&quot; height=&quot;100&quot;&gt;

&lt;p&gt;&lt;a href=&quot;http://www.w3.org/TR/2011/WD-microdata-20110405/&quot;&gt;HTML Microdata&lt;/a&gt; is a W3C working draft, a specification that defines ways to embed property values in HTML. As Mark Pilgrim &lt;a href=&quot;http://diveintohtml5.org/extensibility.html#what-is-microdata&quot;&gt;explains in Dive Into HTML5&lt;/a&gt;, HTML Microdata &#147;annotates the DOM with scoped name/value pairs from custom vocabularies.&#148; This is very similar to what Microformats do, but instead of &#147;overloading&#148; the class attribute, HTML Microdata adds some new HTML attributes to enable embedded property values.&lt;/p&gt;

&lt;p&gt;HTML Microdata enables you to mark-up an HTML element as an item that contains properties. You do this via the &lt;b&gt;itemscope&lt;/b&gt; attribute, you indicate the item&#146;s type via the &lt;b&gt;itemtype&lt;/b&gt; attribute and each property is indicated by the &lt;b&gt;itemprop&lt;/b&gt; attribute. Here&#146;s an example, also from Pilgrim&#146;s book:&lt;/p&gt;

&lt;pre&gt;

   &amp;lt;TABLE itemscope itemtype=&amp;quot;http://data-vocabulary.org/Person&amp;quot;&amp;gt;
     &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Name&amp;lt;TD&amp;gt;Mark Pilgrim
     &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Link&amp;lt;TD&amp;gt;
       &amp;lt;span itemprop=&amp;quot;url&amp;quot;&amp;gt;
       &amp;lt;A href=# onclick=goExternalLink()&amp;gt;http://diveintomark.org/&amp;lt;/A&amp;gt;
       &amp;lt;/span&amp;gt;
   &amp;lt;/TABLE&amp;gt;

&lt;/pre&gt;

&lt;p&gt;The table element defines the scope of the item and the type of the item is a URL &lt;a href=&quot;http://www.data-vocabulary.org/Person/&quot;&gt;http://data-vocabulary.org/Person&lt;/a&gt; which indicates that the item represents a person. The enclosed span element carries the &#147;url&#148; property of the person.&lt;/p&gt;

&lt;p&gt;It&#146;s good to have a standard way to encode types, scope and property values in HTML, but you also need standard vocabularies of types and properties to make this approach successful. There are some HTML Microdata vocabularies defined at data-vocabulary.org and HTML Microdata can also be used with RDF, opening up a huge number of vocabularies.&lt;/p&gt;

&lt;h4&gt;RDFa&lt;/h4&gt;

&lt;img src=&quot;http://rollerweblogger.org/roller/mediaresource/26e3fa3f-a271-4d98-a6a8-356b02610c4d&quot; alt=&quot;RDFa Logo&quot; align=&quot;right&quot;&gt;

&lt;p&gt;&lt;a href=&quot;http://www.w3.org/2010/02/rdfa/&quot;&gt;RDFa&lt;/a&gt; is a W3C recommendation, a specification that defines ways to embed RDF data in HTML and XHTML. Like HTML Microdata, RDFa adds new attributes to HTML to enable this. Let&#146;s look at an example from the &lt;a href=&quot;http://en.wikipedia.org/wiki/RDFa&quot;&gt;Wikipedia page on RDFa&lt;/a&gt;, which uses two of these attributes &lt;b&gt;about&lt;/b&gt; and &lt;b&gt;property&lt;/b&gt;:&lt;/p&gt;

&lt;pre&gt;
 
   &amp;lt;div xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;
     about=&amp;quot;http://www.example.com/books/wikinomics&amp;quot;&amp;gt;
     &amp;lt;span property=&amp;quot;dc:title&amp;quot;&amp;gt;Wikinomics&amp;lt;/span&amp;gt;
     &amp;lt;span property=&amp;quot;dc:creator&amp;quot;&amp;gt;Don Tapscott&amp;lt;/span&amp;gt;
     &amp;lt;span property=&amp;quot;dc:date&amp;quot;&amp;gt;2006-10-01&amp;lt;/span&amp;gt;
   &amp;lt;/div&amp;gt;

&lt;/pre&gt;

&lt;p&gt;The above example embeds some property values about the book Wikinomics, which is identified by URL http://www.example.com/books/wikinomics. The example provides a title, creator and date values about that resource, and it doesn&#146;t say what type of resource exists at the URL, but it could.&lt;/p&gt;

&lt;p&gt;The advantage of the RDFa approach is that it ties in with the growing RDF / Linked Data movement, and the huge number of vocabularies from almost every field of endeavor. RDFa has some momentum and has been adopted by Facebook in its &lt;a href=&quot;http://ogp.me/&quot;&gt;OpenGraph Protocol&lt;/a&gt; and &lt;a href=&quot;http://www.readwriteweb.com/archives/w3c_pleased_with_semantic_web_adoption.php&quot;&gt;Best Buy&lt;/a&gt; for exposing catalog data in standard ways. However, HTML Microdata can also be used with RDF, so RDFa is not the only way to go if you favor Linked Data.&lt;/p&gt;

&lt;h4&gt;Wrapping up&lt;/h4&gt;

&lt;p&gt;We&amp;#39;ve talked about three different ways to implement Embedded Properties in HTML, so which one do you choose? It&amp;#39;s not to me whether one of these techniques will dominate. Google is hedging its bet, so to speak, by indexing all three types of data. If you don&amp;#39;t already have a favorite, one way to choose is to look at what others in your community, company or &amp;quot;industry vertical&amp;quot; are doing. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Network_effect&quot;&gt;network effect&lt;/a&gt; applies here, so if one technique is already favored amongst web application or sites in your space, then go with that.&lt;/p&gt;

&lt;p&gt;Next up: Resource Preview&lt;/p&gt;
</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/wip_links</id>
        <title type="html">WIP: Links</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/wip_links"/>
        <published>2011-03-21T06:49:23+00:00</published>
        <updated>2012-11-03T23:35:28+00:00</updated> 
        <category term="Web Development" label="Web Development" />
        <category term="atompub" scheme="http://roller.apache.org/ns/tags/" />
        <category term="html" scheme="http://roller.apache.org/ns/tags/" />
        <category term="linkeddata" scheme="http://roller.apache.org/ns/tags/" />
        <category term="links" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rdf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wip" scheme="http://roller.apache.org/ns/tags/" />
        <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;</summary>
        <content 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;

&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;
</content>
    </entry>
</feed>

