€cdocutils.nodes document q)q}q(U nametypesq}q(Ximplications for implementationqNX%selectors for data package componentsqNXgoalqNX rationaleq NuUsubstitution_defsq }q Uparse_messagesq ]q Ucurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq}q(hUimplications-for-implementationqhU%selectors-for-data-package-componentsqhUgoalqh U rationalequUchildrenq]qcdocutils.nodes section q)q}q(U rawsourceqUUparentqhUsourceqXd/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/notes/selectors.txtqUtagnameq Usectionq!U attributesq"}q#(Udupnamesq$]Uclassesq%]Ubackrefsq&]Uidsq']q(haUnamesq)]q*hauUlineq+KUdocumentq,hh]q-(cdocutils.nodes title q.)q/}q0(hX%Selectors for Data Package Componentsq1hhhhh Utitleq2h"}q3(h$]h%]h&]h']h)]uh+Kh,hh]q4cdocutils.nodes Text q5X%Selectors for Data Package Componentsq6…q7}q8(hh1hh/ubaubh)q9}q:(hUhhhhh h!h"}q;(h$]h%]h&]h']q(h.)q?}q@(hXGoalqAhh9hhh h2h"}qB(h$]h%]h&]h']h)]uh+Kh,hh]qCh5XGoalqD…qE}qF(hhAhh?ubaubcdocutils.nodes paragraph qG)qH}qI(hXfDevelop a generalized selector API and standard that can be used to identify granules within a data resource (data set, data package, composite object) that is managed by DataONE. The “selector†can be appended to an identifier or included with an API call to retrieve an object and the response is the sub-element or component specified by the selector.qJhh9hhh U paragraphqKh"}qL(h$]h%]h&]h']h)]uh+Kh,hh]qMh5XfDevelop a generalized selector API and standard that can be used to identify granules within a data resource (data set, data package, composite object) that is managed by DataONE. The “selector†can be appended to an identifier or included with an API call to retrieve an object and the response is the sub-element or component specified by the selector.qN…qO}qP(hhJhhHubaubhG)qQ}qR(hX÷Types of selector are likely to vary with the types of composite objects being managed by DataONE. For example, a selector may be defined to return a range by bytes from a BLOB, or perhaps a single file from within a zip archive of a set of files.qShh9hhh hKh"}qT(h$]h%]h&]h']h)]uh+K h,hh]qUh5X÷Types of selector are likely to vary with the types of composite objects being managed by DataONE. For example, a selector may be defined to return a range by bytes from a BLOB, or perhaps a single file from within a zip archive of a set of files.qV…qW}qX(hhShhQubaubhG)qY}qZ(hXSome examples:q[hh9hhh hKh"}q\(h$]h%]h&]h']h)]uh+Kh,hh]q]h5XSome examples:q^…q_}q`(hh[hhYubaubcdocutils.nodes bullet_list qa)qb}qc(hUhh9hhh U bullet_listqdh"}qe(UbulletqfX-h']h&]h$]h%]h)]uh+Kh,hh]qg(cdocutils.nodes list_item qh)qi}qj(hX<Byte range (first and last offset, or first offset and size)qkhhbhhh U list_itemqlh"}qm(h$]h%]h&]h']h)]uh+Nh,hh]qnhG)qo}qp(hhkhhihhh hKh"}qq(h$]h%]h&]h']h)]uh+Kh]qrh5X<Byte range (first and last offset, or first offset and size)qs…qt}qu(hhkhhoubaubaubhh)qv}qw(hX Index range (offset into a list)qxhhbhhh hlh"}qy(h$]h%]h&]h']h)]uh+Nh,hh]qzhG)q{}q|(hhxhhvhhh hKh"}q}(h$]h%]h&]h']h)]uh+Kh]q~h5X Index range (offset into a list)q…q€}q(hhxhh{ubaubaubhh)q‚}qƒ(hXHTML fragment identifierq„hhbhhh hlh"}q…(h$]h%]h&]h']h)]uh+Nh,hh]q†hG)q‡}qˆ(hh„hh‚hhh hKh"}q‰(h$]h%]h&]h']h)]uh+Kh]qŠh5XHTML fragment identifierq‹…qŒ}q(hh„hh‡ubaubaubhh)qŽ}q(hXTime offset or rangeqhhbhhh hlh"}q‘(h$]h%]h&]h']h)]uh+Nh,hh]q’hG)q“}q”(hhhhŽhhh hKh"}q•(h$]h%]h&]h']h)]uh+Kh]q–h5XTime offset or rangeq—…q˜}q™(hhhh“ubaubaubhh)qš}q›(hXBounding box spatial rangeqœhhbhhh hlh"}q(h$]h%]h&]h']h)]uh+Nh,hh]qžhG)qŸ}q (hhœhhšhhh hKh"}q¡(h$]h%]h&]h']h)]uh+Kh]q¢h5XBounding box spatial rangeq£…q¤}q¥(hhœhhŸubaubaubhh)q¦}q§(hX&Database record selection from a key hhbhhh hlh"}q¨(h$]h%]h&]h']h)]uh+Nh,hh]q©hG)qª}q«(hX$Database record selection from a keyq¬hh¦hhh hKh"}q­(h$]h%]h&]h']h)]uh+Kh]q®h5X$Database record selection from a keyq¯…q°}q±(hh¬hhªubaubaubeubeubh)q²}q³(hUhhhhh h!h"}q´(h$]h%]h&]h']qµhah)]q¶h auh+Kh,hh]q·(h.)q¸}q¹(hX Rationaleqºhh²hhh h2h"}q»(h$]h%]h&]h']h)]uh+Kh,hh]q¼h5X Rationaleq½…q¾}q¿(hhºhh¸ubaubhG)qÀ}qÁ(hXãThere are practical limits to the total number of objects that may be effectively managed at the level of detail supported by the DataONE infrastructure. By managing content at the collection or package level, the total number of managed identifiers can be constrained to a more manageable range (e.g. a single collection may have >= 1e5 elements or records). Using selectors, this could be reduced to a single identifier for the collection plus support for the appropriate selector.qÂhh²hhh hKh"}qÃ(h$]h%]h&]h']h)]uh+Kh,hh]qÄh5XãThere are practical limits to the total number of objects that may be effectively managed at the level of detail supported by the DataONE infrastructure. By managing content at the collection or package level, the total number of managed identifiers can be constrained to a more manageable range (e.g. a single collection may have >= 1e5 elements or records). Using selectors, this could be reduced to a single identifier for the collection plus support for the appropriate selector.qÅ…qÆ}qÇ(hhÂhhÀubaubhG)qÈ}qÉ(hX»So a "selector service" is implemented by a node as a mechanism for retrieving some object that exists as a sub-component of a larger object that is managed by the DataONE infrastructure.qÊhh²hhh hKh"}qË(h$]h%]h&]h']h)]uh+K'h,hh]qÌh5X»So a "selector service" is implemented by a node as a mechanism for retrieving some object that exists as a sub-component of a larger object that is managed by the DataONE infrastructure.qÍ…qÎ}qÏ(hhÊhhÈubaubeubh)qÐ}qÑ(hUhhhhh h!h"}qÒ(h$]h%]h&]h']qÓhah)]qÔhauh+K-h,hh]qÕ(h.)qÖ}q×(hXImplications for ImplementationqØhhÐhhh h2h"}qÙ(h$]h%]h&]h']h)]uh+K-h,hh]qÚh5XImplications for ImplementationqÛ…qÜ}qÝ(hhØhhÖubaubha)qÞ}qß(hUhhÐhhh hdh"}qà(hfX-h']h&]h$]h%]h)]uh+K/h,hh]qá(hh)qâ}qã(hXFAdvertisement and discovery of selector services implemented by a nodeqähhÞhhh hlh"}qå(h$]h%]h&]h']h)]uh+Nh,hh]qæhG)qç}qè(hhähhâhhh hKh"}qé(h$]h%]h&]h']h)]uh+K/h]qêh5XFAdvertisement and discovery of selector services implemented by a nodeqë…qì}qí(hhähhçubaubaubhh)qî}qï(hX;Implementation overhead (processing, etc) for a Member NodeqðhhÞhhh hlh"}qñ(h$]h%]h&]h']h)]uh+Nh,hh]qòhG)qó}qô(hhðhhîhhh hKh"}qõ(h$]h%]h&]h']h)]uh+K0h]qöh5X;Implementation overhead (processing, etc) for a Member Nodeq÷…qø}qù(hhðhhóubaubaubhh)qú}qû(hX0Representation formats for extracted informationqühhÞhhh hlh"}qý(h$]h%]h&]h']h)]uh+Nh,hh]qþhG)qÿ}r(hhühhúhhh hKh"}r(h$]h%]h&]h']h)]uh+K1h]rh5X0Representation formats for extracted informationr…r}r(hhühhÿubaubaubhh)r}r(hXEAccess control policies (managed parent object controls everything?) hhÞhhh hlh"}r(h$]h%]h&]h']h)]uh+Nh,hh]r hG)r }r (hXDAccess control policies (managed parent object controls everything?)r hjhhh hKh"}r (h$]h%]h&]h']h)]uh+K2h]rh5XDAccess control policies (managed parent object controls everything?)r…r}r(hj hj ubaubaubeubeubeubahUU transformerrNU footnote_refsr}rUrefnamesr}rUsymbol_footnotesr]rUautofootnote_refsr]rUsymbol_footnote_refsr]rU citationsr]rh,hU current_linerNUtransform_messagesr ]r!Ureporterr"NUid_startr#KU autofootnotesr$]r%U citation_refsr&}r'Uindirect_targetsr(]r)Usettingsr*(cdocutils.frontend Values r+or,}r-(Ufootnote_backlinksr.KUrecord_dependenciesr/NU rfc_base_urlr0Uhttps://tools.ietf.org/html/r1U tracebackr2ˆUpep_referencesr3NUstrip_commentsr4NU toc_backlinksr5Uentryr6U language_coder7Uenr8U datestampr9NU report_levelr:KU _destinationr;NU halt_levelr<KU strip_classesr=Nh2NUerror_encoding_error_handlerr>Ubackslashreplacer?Udebugr@NUembed_stylesheetrA‰Uoutput_encoding_error_handlerrBUstrictrCU sectnum_xformrDKUdump_transformsrENU docinfo_xformrFKUwarning_streamrGNUpep_file_url_templaterHUpep-%04drIUexit_status_levelrJKUconfigrKNUstrict_visitorrLNUcloak_email_addressesrMˆUtrim_footnote_reference_spacerN‰UenvrONUdump_pseudo_xmlrPNUexpose_internalsrQNUsectsubtitle_xformrR‰U source_linkrSNUrfc_referencesrTNUoutput_encodingrUUutf-8rVU source_urlrWNUinput_encodingrXU utf-8-sigrYU_disable_configrZNU id_prefixr[UU tab_widthr\KUerror_encodingr]UUTF-8r^U_sourcer_hUgettext_compactr`ˆU generatorraNUdump_internalsrbNU smart_quotesrc‰U pep_base_urlrdU https://www.python.org/dev/peps/reUsyntax_highlightrfUlongrgUinput_encoding_error_handlerrhjCUauto_id_prefixriUidrjUdoctitle_xformrk‰Ustrip_elements_with_classesrlNU _config_filesrm]rnUfile_insertion_enabledroˆU raw_enabledrpKU dump_settingsrqNubUsymbol_footnote_startrrKUidsrs}rt(hhhh9hh²hhÐuUsubstitution_namesru}rvh h,h"}rw(h$]h']h&]Usourcehh%]h)]uU footnotesrx]ryUrefidsrz}r{ub.