Added text outlining context sensitivity of @type being an issue.
authorManu Sporny <msporny@digitalbazaar.com>
Tue, 13 Aug 2013 15:57:27 -0400
changeset 1874 3dbe8a72edb1
parent 1873 331192ed61ed
child 1875 0be8a57c20ea
Added text outlining context sensitivity of @type being an issue.
spec/latest/json-ld/index.html
--- a/spec/latest/json-ld/index.html	Tue Aug 13 15:39:34 2013 -0400
+++ b/spec/latest/json-ld/index.html	Tue Aug 13 15:57:27 2013 -0400
@@ -1120,6 +1120,9 @@
 -->
 </pre>
 
+<p>
+</p>
+
 <p>The <em>modified</em> key's value above is automatically type coerced to a
   <em>dateTime</em> value because of the information specified in the
   <code>@context</code>. A JSON-LD processor will interpret the example above
@@ -1377,6 +1380,31 @@
   in the <tref>active context</tref> and not for the corresponding, expanded
   <tref>IRI</tref> <code>http://xmlns.com/foaf/0.1/age</code>.</p>
 
+<div class="issue atrisk" data-number="6" title="Confusion related to context-sensitivity of @type">
+  <p class="atrisk-head">Note: This feature is
+    <a href="http://www.w3.org/2005/10/Process-20051014/tr#cfi">"at risk"</a> and may
+    be removed from this specification based on feedback. Please send feedback to
+    <a href="mailto:[email protected]">[email protected]</a>.
+    For the current status see
+    <a href="http://www.w3.org/2011/rdf-wg/wiki/JSON-LD_Features_at_Risk">features "at risk" in JSON-LD 1.0</a></p>
+ <p>A number of JSON-LD document authors have been confused with the context
+  sensitivity of @type. When used in the context, it means 
+  "coerce the string value associated with the term to the following datatype."
+  When used in the body of a document in a JSON-LD object that represents a
+  node in the graph, it means "the rdf:type of the subject identified by @id
+  is the one that is the value associated with the @type keyword". When used
+  in expanded literal form, it means "the datatype of the value associated with
+  @value is the value associated with the @type keyword". This shifting of usage
+  has led to confusion that may be easily remedied by reading a tutorial or
+  the specification. It may also be that further modifications for declaring a
+  datatype may be required, such as introducing a "@coerce" or "@literalType"
+  keyword. Implementors are asked to pay particular attention to the 
+  feature and provide feedback on alternative ways to express the functionality
+  described above. The feature may remain in the specification as-is, or it may
+  be modified heavily after further implementation experience has been gathered.
+ </p>
+</div>
+
 <p class="note">Keys in the context are treated as <tref title="term">terms</tref> for the purpose of
   expansion and value coercion. At times, this may result in multiple representations for the same expanded IRI.
   For example, one could specify that <code>dog</code> and <code>cat</code> both expanded to <code>http://example.com/vocab#animal</code>.