<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 21, 2020 at 4:51 AM Markus Demleitner &lt;<a href="mailto:msdemlei@ari.uni-heidelberg.de">msdemlei@ari.uni-heidelberg.de</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hi Mark,<br>
<br>
On Fri, Sep 18, 2020 at 11:00:03AM -0400, CresitelloDittmar, Mark wrote:<br>
[the following refers to this:]<br>
&gt; &gt;    &lt;INSTANCE type=&quot;ds:Target&quot;&gt;<br>
&gt; &gt;      &lt;COLLECTION role=&quot;targetPosDef&quot;&gt;<br>
&gt; &gt;       &lt;INSTANCE ref=&quot;RA&quot;/&gt;<br>
&gt; &gt;       &lt;INSTANCE ref=&quot;DEC&quot;/&gt;<br>
&gt; &gt;      &lt;/COLLECTION&gt;<br>
&gt; &gt;      &lt;ATTRIBUTE role=&quot;objectClass&quot; value=&quot;Star&quot;/&gt;<br>
&gt; &gt;    &lt;/INSTANCE&gt;<br>
<br></blockquote><div> &lt;snip&gt;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
&gt;           * which is the latitude? the longitude? the frame?<br>
<br>
Target does not know about them, nor should it.  A target is a<br>
target, whether it is identified by a coords spherical position or<br>
some other way to denote a location in.  The good thing about keeping<br>
such details out of ds:Target is that it will just continue to work<br>
when we&#39;re moving into the solar system (where lat and long just<br>
isn&#39;t enough).  Just say which fields and params belong to the target<br>
designation and leave their annotation to a specialised class.<br></blockquote><div><br></div><div>In your vision then, what does the model element ds:Target contain?</div><div>I don&#39;t mean the annotation, the model.  The current model has</div><div> ds:Target</div><div>    + name: ivoa:string</div><div>    + description: ivoa:string</div><div>    + position: meas:Position[0..1]</div><div>    + objectClass: ivoa:string</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">In this particular case, that would be one of:<br>
<br>
&gt; &gt;   &lt;INSTANCE type=&quot;coords:Position&quot; id=&quot;pos1&quot;&gt;<br>
&gt; &gt;     &lt;ATTRIBUTE role=&quot;ref_frame&quot; value=&quot;ICRS&quot;/&gt;<br>
&gt; &gt;     &lt;ATTRIBUTE role=&quot;latitude&quot; ref=&quot;DEC&quot;/&gt;<br>
&gt; &gt;     &lt;ATTRIBUTE role=&quot;longitude&quot; ref=&quot;RA&quot;/&gt;<br>
&gt; &gt;   &lt;/INSTANCE&gt;<br>
<br>
or<br>
<br>
&gt; &gt;   &lt;INSTANCE type=&quot;coords2:EquatorialPosition&quot; id=&quot;pos2&quot;&gt;<br>
&gt; &gt;     &lt;ATTRIBUTE role=&quot;ref_frame&quot; value=&quot;ICRS&quot;/&gt;<br>
&gt; &gt;     &lt;ATTRIBUTE role=&quot;dec&quot; ref=&quot;DEC&quot;/&gt;<br>
&gt; &gt;     &lt;ATTRIBUTE role=&quot;ra&quot; ref=&quot;RA&quot;/&gt;<br>
&gt; &gt;   &lt;/INSTANCE&gt;<br>
<br>
(or both) -- you see that as long as a client understands any of<br>
coords and coords2, they are able to fully annotate RA and DEC, *and*<br>
work out that they are the position for the Target of something.<br>
<br></blockquote><div><br></div><div>So, the client parsing Target, </div><div>  * sees the attribute &#39;targetPosDef&#39;, and because they know the model, know this is some sort of Position.. </div><div>  * so they scan all the other annotation snippets for a coords*:Position class or subclass which also includes references to fields &quot;RA&quot; and &quot;DEC&quot;. </div><div>  * they find 2 &quot;pos1&quot; and &quot;pos2&quot; which are the same instance annotated to 2 different coords model versions.</div><div>  * they select 1, whichever they prefer, and instantiate the Target.targetPosDef.</div><div>This seems really inefficient to be doing this for every complex object in the serialization.</div><div><br></div><div>Mark</div><div><br></div></div></div>