Kellogg Associates : http://kellogg-assoc.com/articles.rss en-us 40 RdfContext and RDF::RDFa support for RDFa 1.1 2008-08-03 draft semantics <p>&nbsp;I've updated both <a href="http://github.com/gkellogg/rdf_context">RdfContext</a> and <a href="http://github.com/gkellogg/rdf-rdfa">RDF::RDFa</a> gems to support the latest <a href="http://www.w3.org/TR/2010/WD-rdfa-core-20100803/">RDFa Core 1.1 Editor's Draft&nbsp;&nbsp;(2010-08-03)</a>&nbsp;semantics. This includes support for the following:</p> <ul> <li>Use of a Processor Graph to gather information and errors during the course of parsing. Use the&nbsp;:processor_graph option to specify a Graph in which to collect information. There is no published specification for the properties to use, but until there is, each event is saved with a Blank Node subject of type <strong>rdfa.UndefinedPrefixError</strong>, <strong>rdfa:UndefinedTermError</strong>, <strong>rdfa:HostLanguageMarkupError</strong>, <strong>rdfa:ProfileReferenceError</strong>, <strong>rdfa:InformationalMessage</strong>, <strong>rdfa</strong>;MiscellaneousWarning or <strong>rdfa:MiscellaneousError</strong>. Additionally statements with literals for <strong>dc:description</strong>, dc:date, <strong>rdfa:sequence</strong> and <strong>rdfa:source</strong> (path to HTML Node) are generated.</li> <li>RDFa Profiles allow URI mappings for terms and prefixes along with the specification of a default vocabulary.</li> <li>RDFa 1.1 preferes the use of <em>@prefix</em> to create prefix mappings, but <em>@xmlns</em> continues to be supported.</li> <li>XMLLiterals must be declared explicitly by setting <em>@datatype</em>=&quot;rdf:XMLLiteral&quot;. In 1.0, any statement with a property that contained anything other than text nodes as children caused an XMLLiteral to be emitted.</li> </ul> <p>Note that until RDFa Core 1.1 is published, all features are subject to change. I will not be attempting to maintain compatibility with draft features that are obsoleted during the standardization process.</p> <hr /><p><small>Original article writen by Gregg Kellogg and published on <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a> | <a href='http://www.kellogg-assoc.com/2010/09/01/rdfcontext-and-rdf-rdfa-support-for-rdfa-1-1-2008-08-03-draft-semantics'>direct link to this article</a> | If you are reading this article elsewhere than <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a>, it has been illegally reproduced and without proper authorization.</small></p> Wed, 01 Sep 2010 18:53:00 -0500 urn:uuid:5132d387-2e75-45d5-88f5-654f603c2acd gregg@kellogg-assoc.com (Gregg Kellogg) http://www.kellogg-assoc.com/2010/09/01/rdfcontext-and-rdf-rdfa-support-for-rdfa-1-1-2008-08-03-draft-semantics#comments Ruby on Rails http://www.kellogg-assoc.com/trackbacks?article_id=90 http://www.kellogg-assoc.com/2010/09/01/rdfcontext-and-rdf-rdfa-support-for-rdfa-1-1-2008-08-03-draft-semantics Channel Islands July 2010 <p>&nbsp;<a href="http://kellogg-assoc.com/galleries/Channel%20Islands%202010-07/">New photos</a> from my recent dive trip to the Channel Islands.</p> <p>I had some camera issues in the first couple of days, but things settled down by the time I got to the Macro photography on day 3. I like the perspective on the Nudibranchs. The last couple of shots may be of an embryonic Nudibramch.</p> <p>The Gold and White Nudibranch is a Horned Aeolid (<a href="http://en.wikipedia.org/wiki/Hermissenda_crassicornis">Hermissenda crassicornis</a>), which is reasonably common in the Northern Channel Islands.</p> <p>The Purple and Orange is a Spanish Shawl (<a href="http://en.wikipedia.org/wiki/Spanish_shawl">Flabellina iodinea</a>), also fairly common.</p> <hr /><p><small>Original article writen by Gregg Kellogg and published on <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a> | <a href='http://www.kellogg-assoc.com/2010/07/19/channel-islands-july-2010'>direct link to this article</a> | If you are reading this article elsewhere than <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a>, it has been illegally reproduced and without proper authorization.</small></p> Mon, 19 Jul 2010 01:19:00 -0500 urn:uuid:59d96fb4-ed03-444d-b2f3-f9e73d7ea4cf gregg@kellogg-assoc.com (Gregg Kellogg) http://www.kellogg-assoc.com/2010/07/19/channel-islands-july-2010#comments Diving Photography http://www.kellogg-assoc.com/trackbacks?article_id=89 http://www.kellogg-assoc.com/2010/07/19/channel-islands-july-2010 RdfContext version 0.5.4 with provisional RDFa 1.1 support <p> I just released version 0.5.4 of RdfContext to <a href="http://github.com/gkellogg/rdf_context">GitHub</a> and <a href="http://gemcutter.org/gems/rdf_context">GemCutter</a>. This version is notable for including support for <a href="http://www.w3.org/TR/2010/WD-rdfa-core-20100422/"> RDFa 1.1</a> parsing. This is still based on an Working Draft, so it will likely change in the future. </p> <p> RDFa 1.1 includes support for profiles, vocabularies and terms. And supports using URIs or CURIEs or terms anywhere that's legal within an HTML document. Right now, only the <a href="http://www.w3.org/TR/2010/WD-xhtml-rdfa-20100422/">XHTML+RDFa</a> profile is supported. </p> <div> <h3>Default term URI using @vocab.</h3> <p> RDFa 1.1 allows URIs to be expressed using an NCName, called a term, by using the <code>@vocab</code> attribute, an author can define a URI to be used for a bare word to turn it into a URI. Take for example the following: </p> <pre><code>&lt;div vocab=&quot;http://xmlns.com/foaf/0.1/&quot;&gt; &nbsp;&nbsp; &lt;p about=&quot;#me&quot; typeof=&quot;Person&quot; property=&quot;name&quot;&gt;Gregg Kellogg&lt;/p&gt; &lt;/div&gt; </code></pre> <p> willgenerate the following triples: </p> <pre><code><#me> a foaf:Person; foaf:name "Gregg Kellogg" . </code></pre> </div> <div> <h3>Profile documents for defining prefixes and terms</h3> <p> A <em>Profile</em> document allows the specification of a set of URI mappings and term mappings in a single document. These documents are RDF formatted, and may or may not be RDFa. The following shows an example <em>Profile</em> document: </p> <pre><code>@prefix rdfa: &lt;http://www.w3.org/ns/rdfa#&gt; . [ rdfa:prefix &quot;foaf&quot;; rdfa:uri &quot;http://xmlns.com/foaf/0.1/&quot;] . [ rdfa:prefix &quot;dc&quot;; rdfa:uri &quot;http://purl.org/dc/terms/&quot;] . [ rda:term &quot;name&quot;; rdfa:uri &quot;http://xmlns.com/foaf/0.1/name&quot;] . [ rda:term &quot;created&quot;; rdfa:uri &quot;http://purl.org/dc/terms/created&quot;] . </code></pre> <p>This bit profile results in namespace mappings and a bare terms. Multiple vocabularies may be used together to create a namespace composed of terms from several vocabularies, without needing to describe them explicitly. These may then be used in a document as follows: </p> <pre><code>&lt;div profile=&quot;http://example.com/my_vocab&quot;&gt; &lt;p about=&quot;#me&quot;&gt; &lt;span property=&quot;name&quot;&gt;Gregg Kellogg&lt;/span&gt; is the author of &lt;a rel=&quot;created&quot; resource=&quot;http://github.com/gkellogg/rdf_context&quot;&gt; RdfContext &lt;/a&gt; &lt;/p&gt; &lt;/div&gt; </code></pre> </div> <div> <h3>Namespace definitions</h3> <p> RDFa 1.1 deprecates the use of @xmlns for defining namespace prefixes. The <code>@prefix</code> attribute defines one or more mappings between prefixes and URIs. For example: </p> <pre><code>&lt;div prefix=&quot;foaf: http://xmlns.com/foaf/0.1/ dc: http://purl.org/dc/terms/&quot;&gt; &lt;p about=&quot;#me&quot;&gt; &lt;span property=&quot;foaf:name&quot;&gt;Gregg Kellogg&lt;/span&gt; is the author of &lt;a rel=&quot;dc:created&quot; resource=&quot;http://github.com/gkellogg/rdf_context&quot;&gt; RdfContext &lt;/a&gt; &lt;/p&gt; &lt;/div&gt; </code></pre> <p>Defines and uses two different namespace mappings.</p> </div> <div> <h3>URIs Everywhere</h3> <p> In RDFa 1.0, certain attributes took a URI, others a CURIE, and still others either a URI or a Safe CURIE. This is confusing, and RDFa 1.1 now allows either URIs, CURIEs, or SafeCURIEs to be used most anywhere (SafeCURIEs are maintained for backwards compatibility). For example: </p> <pre><code>&lt;div&gt; &lt;p about=&quot;#me&quot;&gt; &lt;span property=&quot;http://xmlns.com/foaf/0.1/name&quot;&gt; Gregg Kellogg &lt;/span&gt; is the author of &lt;a rel=&quot;http://purl.org/dc/terms/created&quot; resource=&quot;http://github.com/gkellogg/rdf_context&quot;&gt; RdfContext &lt;/a&gt; &lt;/p&gt; &lt;/div&gt; </code></pre> </div> <div> <h3>Change History</h3> <p>The following is the change log for this version of RdfContext. Note that one change may potentially break existing code: <code>URIRef#namespace</code> no longer throughs an exception if a mapping is not found. Other changes are noted here: </p> <ul> <li>RDFa 1.1 parsing supported (based on RDFa Core 1.1 W3C Working Draft 22 April 2010)</li> <li>Fix URIRef#short_name (and consequently #base and #namespace) to not extract a non-hierarchical path as a short_name</li> <li>Namespace no longer uses URIRef, but just acts on strings.</li> <li>Namespace#new does not take an optional _fragment_ argument any longer.</li> <li>Added Namespace#to_s to output "prefix: uri" format</li> <li>Graph#qname first trys generating using bound namespaces, then adds well-known namespaces.</li> <li>URIRef#to_qname and #to_namespace No longer generates an exception. Each take either a Hash or an Array of namespaces and tries them from longest to shortest.</li> <li>Improved Turtle and XML serializers in use of namespaces.</li> <li>Generate pending messages if RDFa tests skipped due to lack of Redland installation.</li> <li>Change dcterms: prefix to dc: (fully compatible with previous /elements/ definitions)</li> </ul> </div> <hr /><p><small>Original article writen by Gregg Kellogg and published on <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a> | <a href='http://www.kellogg-assoc.com/2010/05/07/rdfcontext-version-0-5-4-with-provisional-rdfa-1-1-support'>direct link to this article</a> | If you are reading this article elsewhere than <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a>, it has been illegally reproduced and without proper authorization.</small></p> Fri, 07 May 2010 00:25:00 -0500 urn:uuid:21833a3f-9015-4616-ba86-d659dd5b951b gregg@kellogg-assoc.com (Gregg Kellogg) http://www.kellogg-assoc.com/2010/05/07/rdfcontext-version-0-5-4-with-provisional-rdfa-1-1-support#comments Ruby on Rails Ruby RDF RDFa http://www.kellogg-assoc.com/trackbacks?article_id=88 http://www.kellogg-assoc.com/2010/05/07/rdfcontext-version-0-5-4-with-provisional-rdfa-1-1-support Socorro Slide Show <p>&nbsp;Just uploaded a&nbsp;<a href="http://www.kellogg-assoc.com/galleries/Socorro.mov">slide show</a>&nbsp;made from the the&nbsp;<a href="http://www.kellogg-assoc.com/galleries/Socorro%202010-04/index.html">Socorro photo album</a>&nbsp;I recently published. Enjoy.</p> <hr /><p><small>Original article writen by Gregg Kellogg and published on <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a> | <a href='http://www.kellogg-assoc.com/2010/04/27/socorro-slide-show'>direct link to this article</a> | If you are reading this article elsewhere than <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a>, it has been illegally reproduced and without proper authorization.</small></p> Tue, 27 Apr 2010 15:09:00 -0500 urn:uuid:b84c371e-4536-4e83-ad08-b7e09d5591ce gregg@kellogg-assoc.com (Gregg Kellogg) http://www.kellogg-assoc.com/2010/04/27/socorro-slide-show#comments Diving Photography http://www.kellogg-assoc.com/trackbacks?article_id=87 http://www.kellogg-assoc.com/2010/04/27/socorro-slide-show Socorro Pictures <p>&nbsp;Just got back from <a href="http://www.divephotoguide.com/images/news/uploaded/article_4687/524005322.jpg">Socorro and associated islands.</a> We dove off of the <a href="http://www.solmarv.com/">Solmar V</a>, a very nice dive boat operating out of Cabo San Lucas. I got some wonderful pictures of a friendly Giant Manta Rey who did several fly overs during the course of one dive off San Benedicto Island.</p> <p>My picks for the best pictures of the trip can be found <a href="http://www.kellogg-assoc.com/galleries/Socorro%20Picks/index.html">here</a>. More pictures, including people and several sequences of Manta fly overs can be found <a href="http://www.kellogg-assoc.com/galleries/Socorro%202010-04/index.html">here</a>.</p> <hr /><p><small>Original article writen by Gregg Kellogg and published on <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a> | <a href='http://www.kellogg-assoc.com/2010/04/26/socorro-pictures'>direct link to this article</a> | If you are reading this article elsewhere than <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a>, it has been illegally reproduced and without proper authorization.</small></p> Mon, 26 Apr 2010 18:35:00 -0500 urn:uuid:f4931e7a-f4ff-4b9a-af1e-4d11d7a430f6 gregg@kellogg-assoc.com (Gregg Kellogg) http://www.kellogg-assoc.com/2010/04/26/socorro-pictures#comments Diving Photography diving Underwater Photography Socorro Solmar V http://www.kellogg-assoc.com/trackbacks?article_id=83 http://www.kellogg-assoc.com/2010/04/26/socorro-pictures RdfContext version 0.5.1 brings Turtle and enhanced RDF/XML serializers <p>&nbsp;Just pushed version 0.5.1 of <a href="http://github.com/gkellogg/rdf_context">RdfContext</a> to GitHub and <a href="http://gemcutter.org/gems/rdf_context">Gemcutter</a>. This version includes a Serializer framework, including a AbstractSerializer, RecursiveSerializer and Turtle and RDF/XML serializers based on these. The RDF/XML serializer is a big improvement over the previous version, including Typed element names an RDF Container folding using parseType=&quot;collection&quot;.</p> <p>RdfContext includes native Ruby parsers for RDF/XML, RDFa and N3-rdf, which includes Turtle and N-Triples. All parsers pass W3C tests (included in specs). It also includes context-aware quad store, with in-memory and SQLite3 storage models.</p> <hr /><p><small>Original article writen by Gregg Kellogg and published on <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a> | <a href='http://www.kellogg-assoc.com/2010/04/03/rdfcontext-version-0-5-1-brings-turtle-and-enhanced-rdf-xml-serializers'>direct link to this article</a> | If you are reading this article elsewhere than <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a>, it has been illegally reproduced and without proper authorization.</small></p> Sat, 03 Apr 2010 00:57:00 -0500 urn:uuid:9647ae74-bd59-4110-ac37-bf6dd3d3d970 gregg@kellogg-assoc.com (Gregg Kellogg) http://www.kellogg-assoc.com/2010/04/03/rdfcontext-version-0-5-1-brings-turtle-and-enhanced-rdf-xml-serializers#comments Ruby on Rails RDF RDFa Ruby Gem RdfContext rdf_context http://www.kellogg-assoc.com/trackbacks?article_id=82 http://www.kellogg-assoc.com/2010/04/03/rdfcontext-version-0-5-1-brings-turtle-and-enhanced-rdf-xml-serializers RdfContext version 0.5.0 brings compliant notation-3/turtle parsing <p>This version of 0.5.0 adds support for Ruby 1.9 and 1.8.6 in addition to 1.8.7. Full unicode character escapes are supported in Ruby 1.9. The N3 parser has been substantially re-written and updated to be compliant with W3C SWAP, CWM and Turtle test suites, although it is supported only to the N3-rdf level, with variables and formulae not yet supported.</p> <p>See <a href="http://github.com/gkellogg/rdf_context">GitHub project page</a> for more information. Available for download through Gemcutter.</p> <p>Release notes for version 0.5.0</p> <ul> <li>Support for Ruby 1.9, 1.8.7 and 1.8.6. <ul> <li>Unicode escapes and URIRefs only work properly in Ruby 1.9</li> <li>Replaced some (&amp;:meth) spells with {|c| c.meth} for Ruby 1.8.6 compatibility</li> </ul> </li> <li>Fully compliant N3 parser (n3-rdf level) with extnensive tests, including SWAP, CWM and Turtle test suites. <ul> <li>Supports paths, keywords, all semantic expressions.</li> <li>No support yet for Formulae, variables, rules or automatic reification</li> <li>Allow Triple#subject to be like an object, allowing literals and graphs</li> <li>Allow Triple#predicate to be a BNode as well as a URIRef</li> </ul> </li> <li>Graph changes <ul> <li>Graph#properties(subject) returns properties of a subject expressed as a hash to arrays of objects.</li> <li>Graph#seq(subject) returns ordered rdf:_n objects if subject is a rdf:Seq., or list of rdf:first/rdf:rest</li> <li>Graph#qname(uri) as alternative to uri.qname, has namespaces available.</li> <li>Graph#type_of(subject) array of RDF_TYPE objects.</li> <li>Graph#allow_n3 (getter/setter and option) controls if extra N3 semantics for graphs are allowed. Otherwise, calls Triple#validate_rdf to raise exception</li> <li>Real graph comparisons, including permutation search of triples containing BNodes (obviously, may be expensive)</li> <li>Add QuotedGraph and AggregateGraph</li> </ul> </li> <li>Literal changes <ul> <li>Literal#== as alias to eql? Needed for sort and uniq.</li> <li>Normalize valid typed literals</li> <li>Added Literal#valid? to perform some content validations.</li> </ul> </li> <li>URIRef/Namespace changes <ul> <li>Fix URI generation, performing normalizations for normal URI refs, and not for Namespace URIs.</li> <li>Fixed bug in URIRef#namespace &amp; to_qname when namespace does not have a trailing / or #</li> <li>URIRef#short_name may return a different value after a namespace is assigned.</li> </ul> </li> <li>Reduce dependency on Redland when running tests</li> </ul> <hr /><p><small>Original article writen by Gregg Kellogg and published on <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a> | <a href='http://www.kellogg-assoc.com/2010/02/22/rdfcontext-version-0-5-0-brings-compliant-notation-3-turtle-parsing'>direct link to this article</a> | If you are reading this article elsewhere than <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a>, it has been illegally reproduced and without proper authorization.</small></p> Mon, 22 Feb 2010 17:33:00 -0600 urn:uuid:2fa26e1a-f4cb-4b56-b2b4-f6616c3d6cd0 gregg@kellogg-assoc.com (Gregg Kellogg) http://www.kellogg-assoc.com/2010/02/22/rdfcontext-version-0-5-0-brings-compliant-notation-3-turtle-parsing#comments Ruby on Rails http://www.kellogg-assoc.com/trackbacks?article_id=81 http://www.kellogg-assoc.com/2010/02/22/rdfcontext-version-0-5-0-brings-compliant-notation-3-turtle-parsing RdfContext gem version 0.4.5 pushed <p>Bug fixes and minor API changes:</p> <ul> <li>Order includes to remove platform dependencies on load requirements.</li> <li>Fix XML Comparison matcher</li> <li>Add --store option to bin/rdf_context. Let Parser#detect_format intuit file type./li&gt;</li> <li>Add Graph#contents as alias to store</li> <li>Add ConjunctiveGraph#triples to return all triples from store, not just default context</li> <li>Add Graph#nsbinding to retreive Store#nsbinding&lt;</li> <li>Fix numerious SQLite3Store and AbstractSQLStore bugs. Add round-trip tests to Graph spec.</li> </ul> <hr /><p><small>Original article writen by Gregg Kellogg and published on <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a> | <a href='http://www.kellogg-assoc.com/2010/01/08/rdfcontext-gem-version-0-4-5-pushed'>direct link to this article</a> | If you are reading this article elsewhere than <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a>, it has been illegally reproduced and without proper authorization.</small></p> Fri, 08 Jan 2010 16:11:00 -0600 urn:uuid:42c6f214-2a9d-4e38-81af-2df67fb4ab9d gregg@kellogg-assoc.com (Gregg Kellogg) http://www.kellogg-assoc.com/2010/01/08/rdfcontext-gem-version-0-4-5-pushed#comments Ruby on Rails RDF http://www.kellogg-assoc.com/trackbacks?article_id=77 http://www.kellogg-assoc.com/2010/01/08/rdfcontext-gem-version-0-4-5-pushed RdfContext gem released <p>I've released version 0.4.4 of the <a href="http://gemcutter.org/gems/rdf_context">RdfContext</a> gem. As the name implies, RdfContext supports contextual data-stores bound to graphs, along with a <em>ConjunctiveGraph</em> providing the union of contexts within a given data-store.</p> <ul> <li>Parses RDF/XML, RDFa and N3. RDF/XML and RDFa both pass all relevant W3C test cases (may be run through specs).</li> <li>Graph and ConjunctiveGraph with pluggable data-stores. MemoryStore and SQLite3Store both support contexts as well as quoted-graphs and formulae, although no appropriate graph classes yet exist.</li> <li>Graphs serialize to N-Triples and RDF/XML.</li> <li>An RDF distiller runs on this site to test out different parsers. This is also useful for running automated RDFa Test Harness.&nbsp;</li> </ul> <p>RdfContext is based, in part on Tom Morris' <a href="http://gemcutter.org/gems/reddy">Reddy</a> gem. See the <a href="http://github.com/gkellogg/rdf_context">readme</a> on GitHub for more information. MemoryStore, SQLite3Store and ConjunctiveGraph are largely ports of Python RDFLib.</p> <hr /><p><small>Original article writen by Gregg Kellogg and published on <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a> | <a href='http://www.kellogg-assoc.com/2010/01/03/rdfcontext-gem-released'>direct link to this article</a> | If you are reading this article elsewhere than <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a>, it has been illegally reproduced and without proper authorization.</small></p> Sun, 03 Jan 2010 17:40:00 -0600 urn:uuid:ddfee147-8fd7-4641-81eb-1e85cb2d9519 gregg@kellogg-assoc.com (Gregg Kellogg) http://www.kellogg-assoc.com/2010/01/03/rdfcontext-gem-released#comments Ruby on Rails RDF RDFa XML Ruby Gem http://www.kellogg-assoc.com/trackbacks?article_id=73 http://www.kellogg-assoc.com/2010/01/03/rdfcontext-gem-released RSpec soft failure for pending test cases <p>&nbsp;Recently, I've been playing with RSpec to run <a href="http://github.com/msporny/rdfa-test-suite">RDFa test cases</a>. The suite has accepted and unreviewed test cases. My general way of testing is to parse the suite, and run each test through a generated spec as follows:</p> <div> <pre> test_cases.each do |tc| specify &quot;test #{tc.name}&quot; do tc.run_test do |input| RdfaParser::RdfaParser.new.parse(input, tc.informationResourceInput) end end end </pre> </div> <p>The problem is, some tests are pending, so that a failure should be soft, and not hard. The way to do this is to catch Spec::Expectations::ExpectationNotMetError. This this, we can modify the above test as follows:</p> <div> <pre> test_cases.each do |tc| specify &quot;test #{tc.name}&quot; do tc.run_test do |input| begin RdfaParser::RdfaParser.new.parse(input, tc.informationResourceInput) rescue Spec::Expectations::ExpectationNotMetError =&gt; e if tc.status == &quot;unreviewed pending(e.message) { raise } else raise end end end end end </pre> </div> <hr /><p><small>Original article writen by Gregg Kellogg and published on <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a> | <a href='http://www.kellogg-assoc.com/2009/10/26/rspec-soft-failure-for-pending-test-cases'>direct link to this article</a> | If you are reading this article elsewhere than <a href='http://www.kellogg-assoc.com'>Kellogg Associates</a>, it has been illegally reproduced and without proper authorization.</small></p> Mon, 26 Oct 2009 13:40:00 -0500 urn:uuid:563f171a-75b2-4004-80ba-5516e465f52a gregg@kellogg-assoc.com (Gregg Kellogg) http://www.kellogg-assoc.com/2009/10/26/rspec-soft-failure-for-pending-test-cases#comments Ruby on Rails http://www.kellogg-assoc.com/trackbacks?article_id=71 http://www.kellogg-assoc.com/2009/10/26/rspec-soft-failure-for-pending-test-cases