Detail frame subject matching.
--- a/spec/latest/json-ld-api/index.html Thu Apr 19 11:06:05 2012 -0700
+++ b/spec/latest/json-ld-api/index.html Thu Apr 19 11:23:23 2012 -0700
@@ -1559,8 +1559,20 @@
<p class="note">Just a sketch for now</p>
<ol class="algorithm">
- <li>Validate <strong>expanded frame</strong>.</li>
- <li>Create a set of matched subjects by filtering <em>subjects</em>.</li>
+ <li>Validate <em>frame</em>.</li>
+ <li>Create a set of matched subjects by filtering <em>subjects</em> by checking
+ the <tref>map of flattened subjects</tref> against <em>frame</em>:
+ <ol class="algorithm">
+ <li>If <em>frame</em> has a <code>@type<code> property containing
+ one or more <tref title="iri">IRIs</tref> match any <tref>subject definition</tref>
+ with a <code>@type</code> property including any of those <tref title="iri">IRIs</tref>.</li>
+ <li>Otherwise, if <em>frame</em> has a <code>@type<code> property only
+ a empty <tref>JSON object</tref>, matches any <tref>subject definition</tref>
+ with a <code>@type</code> property, regardless of the actual values.</li>
+ <li>Otherwise, match if the <tref>subject definition</tref> contains all of the
+ non-<tref>keyword</tref> properties in <em>frame</em>.</li>
+ </ol>
+ </li>
<li>Get values for <em>embedOn</em> and <em>explicitOn</em> by looking in <em>frame</em>
for the keys <code>@embed</code> and <code>@explicit</code> using the current values
for <tref>object embed flag</tref> and <tref>explicit inclusion flag</tref> from <em>state</em> if not found.</li>