Mention context-sensitivity of @type in section 5.4 Specifying the Type
authorMarkus Lanthaler <mark_lanthaler@gmx.net>
Mon, 21 Oct 2013 20:36:49 +0200
changeset 2035 5f491cadb029
parent 2033 faea9505be17
child 2036 91ba08803c97
child 2072 3e919d45daa1
Mention context-sensitivity of @type in section 5.4 Specifying the Type

/cc @msporny @gkellogg

This addresses #301
spec/latest/json-ld/index.html
--- a/spec/latest/json-ld/index.html	Thu Oct 17 20:34:25 2013 +0200
+++ b/spec/latest/json-ld/index.html	Mon Oct 21 20:36:49 2013 +0200
@@ -93,7 +93,6 @@
   .highlight { font-weight: bold; color: #0a3; }
   .comment { color: #999; }
   table, thead, tr, td { padding: 5px; border-width: 1px; border-spacing: 0px; border-style: solid; border-collapse: collapse; }
-  .atrisk-head { font-style: italic; }
 </style>
 </head>
 
@@ -172,17 +171,16 @@
       [[RFC6839]]</li>
     <li>Added a brief description of the data model to the introduction.</li>
     <li>Fixed a number of document readability and flow issues related to all
-      of the updates made over the last several moths.</li>
+      of the updates made over the last several months</li>
   </ul>
 
-  <p>
-    Before this specification may exit the Candidate Recommendation phase,
-    at least two independent implementations must pass each test,
-    although no single implementation must pass every test. The
-    working group will decide when
-    the test suite is of sufficient quality to test interoperability and
-    will produce an implementation report hosted together with the test suite.
-  </p>
+  <p>Changes since the
+    <a href="http://www.w3.org/TR/2013/CR-json-ld-20130910/">10&nbsp;September&nbsp;2013 Candidate Recommendation</a>:</p>
+
+  <ul>
+    <li>Mention context-sensitivity of <code>@type</code> in
+      <a class="sectionRef" href="#specifying-the-type"></a></li>
+  </ul>
 
 </section>
 
@@ -897,9 +895,15 @@
 </pre>
 
 <p>This section only covers the most basic features associated with
-types in JSON-LD. More advanced features related to
-types are covered in section <a href="#advanced-concepts"></a>.
-</p>
+  types in JSON-LD. It is worth noting that the <code>@type</code>
+  <tref>keyword</tref> is not only used to specify the type of a
+  <tref>node</tref> but also to express <tref title="typed value">typed values</tref>
+  (as described in <a class="sectionRef" href="#typed-values"></a>) and to
+  <tref title="coercion">type coerce</tref> values (as described in
+  <a class="sectionRef" href="#type-coercion"></a>). Specifically, <code>@type</code>
+  cannot be used in a <tref>context</tref> to define a <tref title="node">node's</tref>
+  type. For a detailed description of the differences, please refer to
+  <a class="sectionRef" href="#typed-values"></a>.</p>
 
 </section>
 </section>
@@ -1381,31 +1385,6 @@
   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" id="at-risk-9" data-number="9" 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>.