<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Referencing Content External to DataONE — v2.1.0-beta</title> <link rel="stylesheet" href="../_static/dataone.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../', VERSION: '2.1.0-beta', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true, SOURCELINK_SUFFIX: '.txt' }; </script> <script type="text/javascript" src="../_static/mathjax_pre.js"></script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"></script> <script type="text/javascript" src="../_static/sidebar.js"></script> <link rel="author" title="About these documents" href="../about.html" /> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="DataONE Preservation Strategy" href="PreservationStrategy.html" /> <link rel="prev" title="Search Metadata Elements Extracted from Dryad" href="SearchMetadata_dryad.html" /> <link media="only screen and (max-device-width: 480px)" href="../_static/small_dataone.css" type= "text/css" rel="stylesheet" /> </head> <body role="document"> <div class="version_notice"> <p> <span class='bold'>Warning:</span> These documents are under active development and subject to change (version 2.1.0-beta).<br /> The latest release documents are at: <a href="https://purl.dataone.org/architecture">https://purl.dataone.org/architecture</a> </p> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="PreservationStrategy.html" title="DataONE Preservation Strategy" accesskey="N">next</a> |</li> <li class="right" > <a href="SearchMetadata_dryad.html" title="Search Metadata Elements Extracted from Dryad" accesskey="P">previous</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html"></a> »</li> <li class="nav-item nav-item-1"><a href="index.html" accesskey="U"><no title></a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="referencing-content-external-to-dataone"> <h1><a class="toc-backref" href="#id5">Referencing Content External to DataONE</a><a class="headerlink" href="#referencing-content-external-to-dataone" title="Permalink to this headline">¶</a></h1> <div class="contents topic" id="contents"> <p class="topic-title first">Contents</p> <ul class="simple"> <li><a class="reference internal" href="#referencing-content-external-to-dataone" id="id5">Referencing Content External to DataONE</a><ul> <li><a class="reference internal" href="#index-fields" id="id6">Index Fields</a></li> <li><a class="reference internal" href="#use-of-index-fields-in-search-ui" id="id7">Use of Index Fields in Search UI</a></li> <li><a class="reference internal" href="#appearance-of-external-content-in-the-search-ui" id="id8">Appearance of External Content in the Search UI</a></li> <li><a class="reference internal" href="#mapping-iso-tc211-to-index-fields-for-services" id="id9">Mapping ISO-TC211 to Index Fields for Services</a><ul> <li><a class="reference internal" href="#isservice" id="id10">isService</a></li> <li><a class="reference internal" href="#servicecoupling" id="id11">serviceCoupling</a></li> <li><a class="reference internal" href="#servicetitle" id="id12">serviceTitle</a></li> <li><a class="reference internal" href="#servicedescription" id="id13">serviceDescription</a></li> <li><a class="reference internal" href="#servicetype" id="id14">serviceType</a></li> <li><a class="reference internal" href="#serviceendpoint" id="id15">serviceEndpoint</a></li> <li><a class="reference internal" href="#serviceinput" id="id16">serviceInput</a></li> <li><a class="reference internal" href="#serviceoutput" id="id17">serviceOutput</a></li> </ul> </li> <li><a class="reference internal" href="#mapping-of-eml-to-index-fields-for-services" id="id18">Mapping of EML to Index Fields for Services</a><ul> <li><a class="reference internal" href="#id1" id="id19">isService</a></li> <li><a class="reference internal" href="#id2" id="id20">ServiceTitle</a></li> <li><a class="reference internal" href="#id3" id="id21">ServiceDescription</a></li> <li><a class="reference internal" href="#id4" id="id22">ServiceEndpoint</a></li> </ul> </li> </ul> </li> </ul> </div> <p>Here “content external to DataONE” refers to data, metadata, or other information not accessible directly through the DataONE Member Node or Coordinating Node APIs.</p> <p>For example, a researcher may create a data package that contains the usual data and metadata objects, but would also like to provide a reference to additional data (the “external data”) that can not be retrieved using the DataONE MNRead.get method.</p> <p>The external data is not synchronized by DataONE.</p> <p>There are two mechanisms for showing references to external content in the the DataONE Search UI, both rely on information stored in Science Metadata:</p> <ol class="arabic"> <li><p class="first">During rendering of metadata by stylesheet transformation.</p> <p>Some metadata formats have a mechanisms to reference arbitrary links to information outsie of the data package.</p> </li> <li><p class="first">By reference to a Service through the <code class="docutils literal"><span class="pre">service*</span></code> index fields</p> <p>DataONE provides a mechanism where services related to a data package may be described within a metadata document contained in the data package. A reference to external content can be considered a simple type of service (e.g. a HTTP GET).</p> </li> </ol> <p>The mechanisms for post processing allow for more control over the expression and reliability of such references through the service oriented metadata as opposed to a direct reference to an arbitrary location with poorly defined characteristics.</p> <p>Content creators are thus encouraged to leverage the servie description mechanism when there is a need to reference content external to DataONE from a data package.</p> <div class="section" id="index-fields"> <h2><a class="toc-backref" href="#id6">Index Fields</a><a class="headerlink" href="#index-fields" title="Permalink to this headline">¶</a></h2> <p>The solr index in DataONE acts as a common representation of metadata for synchronized content. Content of the various formats of Science Metadata is mapped to index fields using various parsing and processing rules.</p> <p>The index fields relevant to external content are:</p> <table border="1" class="docutils"> <colgroup> <col width="24%" /> <col width="76%" /> </colgroup> <thead valign="bottom"> <tr class="row-odd"><th class="head">Field</th> <th class="head">Description</th> </tr> </thead> <tbody valign="top"> <tr class="row-even"><td>isService</td> <td>Set to true if document is a member node service description document. Use to filter search results for to exclude or include member node services.</td> </tr> <tr class="row-odd"><td>serviceTitle</td> <td>A brief, human readable descriptive title for the member node service.</td> </tr> <tr class="row-even"><td>serviceDescription</td> <td>A human readable description of the member node service to assist discovery and to evaluate applicability.</td> </tr> <tr class="row-odd"><td>serviceType</td> <td>The type of service being provided by the member node.</td> </tr> <tr class="row-even"><td>serviceCoupling</td> <td>One of ‘tight’, ‘mixed’, or ‘loose’. Tight coupled service work only on the data described by this metadata document. Loose coupling means service works on any data. Mixed coupling means service works on data described by this metadata document but may work on other data.</td> </tr> <tr class="row-odd"><td>serviceEndpoint</td> <td>A URL that indicates how to access the member node service.</td> </tr> <tr class="row-even"><td>serviceInput</td> <td>Aspect of the service that accepts a digital entity. Either a list of DataONE formatId URLs or PID RESOLVE URLs that the member node service operates on. A pid RESOLVE URL indicates a ‘tight’ coupled service - while a list of formatIds indicates a loose coupled service.</td> </tr> <tr class="row-odd"><td>serviceOutput</td> <td>Aspect of the service that provides a digital entity resulting from operation of the service. A listing of DataONE formatId which this member node service produces.</td> </tr> </tbody> </table> </div> <div class="section" id="use-of-index-fields-in-search-ui"> <h2><a class="toc-backref" href="#id7">Use of Index Fields in Search UI</a><a class="headerlink" href="#use-of-index-fields-in-search-ui" title="Permalink to this headline">¶</a></h2> <p>The DataONE <a href="#id23"><span class="problematic" id="id24">`Search UI`_</span></a> uses the search index to populate user interface elements such as the data package view, which is shown when viewing a specific data package. For example:</p> <blockquote> <div><a class="reference external" href="https://search.dataone.org/#view">https://search.dataone.org/#view</a>/{1BDC13BA-A8C2-4787-8B77-4EB04AE6B416}</div></blockquote> <p>Shows a table for “Alternate Data Access” which contains columns:</p> <table border="1" class="docutils"> <colgroup> <col width="36%" /> <col width="64%" /> </colgroup> <thead valign="bottom"> <tr class="row-odd"><th class="head">Column</th> <th class="head">Index Field</th> </tr> </thead> <tbody valign="top"> <tr class="row-even"><td>Name</td> <td>serviceTitle</td> </tr> <tr class="row-odd"><td>Description</td> <td>serviceDescription</td> </tr> <tr class="row-even"><td>Access Type</td> <td>serviceType</td> </tr> <tr class="row-odd"><td>URL</td> <td>serviceEndpoint</td> </tr> </tbody> </table> <p>The Alternate Data Access table is shown if the index field <code class="docutils literal"><span class="pre">isService</span></code> is true.</p> </div> <div class="section" id="appearance-of-external-content-in-the-search-ui"> <h2><a class="toc-backref" href="#id8">Appearance of External Content in the Search UI</a><a class="headerlink" href="#appearance-of-external-content-in-the-search-ui" title="Permalink to this headline">¶</a></h2> </div> <div class="section" id="mapping-iso-tc211-to-index-fields-for-services"> <h2><a class="toc-backref" href="#id9">Mapping ISO-TC211 to Index Fields for Services</a><a class="headerlink" href="#mapping-iso-tc211-to-index-fields-for-services" title="Permalink to this headline">¶</a></h2> <p>The mapping from ISO-TC211 to the index fields is described at the generated <a href="#id25"><span class="problematic" id="id26">`index documentation`_</span></a>. An excerpt is repeated here with additional comments.</p> <p>(See application-context-isotc211-base.xml in the d1_index_task_processor project)</p> <p>In ISO 19119, services may be tightly or loosely-coupled to data they operate on and sit under the srv:SV_ServiceIdentification element. Or they may be limited to tightly-coupled distribution info and sit under the gmd:distributionInfo element.</p> <p>The solr fields may be populated either with one expression checking and/or concatenating both the srv:srv:SV_ServiceIdentification and gmd:distributionInfo locations (for example: isotc.isService or isotc.serviceCoupling)</p> <p>Or there may be 2 separate expressions for the different scenarios that affect the same field. (for example: sotc.serviceEndpoint and isotc.distribServiceEndpoint).</p> <p>Two expressions are only used for multivalue SolrFields; this way both results are added - both srv:SV_ServiceIdentification and gmd:distributionInfo subelements are indexed).</p> <div class="section" id="isservice"> <h3><a class="toc-backref" href="#id10">isService</a><a class="headerlink" href="#isservice" title="Permalink to this headline">¶</a></h3> <p>Checks for existence of either srv service description OR distribution “service” info.</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">boolean</span><span class="p">(</span><span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="ow">or</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span><span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span><span class="p">)</span> </pre></div> </div> </div> <div class="section" id="servicecoupling"> <h3><a class="toc-backref" href="#id11">serviceCoupling</a><a class="headerlink" href="#servicecoupling" title="Permalink to this headline">¶</a></h3> <p>The srv location can explicitly set this and if set will override distributionInfo.</p> <p>The serviceCoupling will set:</p> <ul class="simple"> <li>‘loose’ coupling if srv:SV_CouplingType is loose</li> <li>‘tight’ coupling if srv:SV_CouplingType is tight</li> <li>‘tight’ coupling if distribution service info exists and srv:SV_CouplingType doesn’t / is unspecified, empty if neither exists</li> </ul> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">concat</span><span class="p">(</span> <span class="n">substring</span> <span class="p">(</span> <span class="s1">'loose'</span><span class="p">,</span> <span class="mi">1</span> <span class="n">div</span> <span class="n">boolean</span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">couplingType</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_CouplingType</span> <span class="o">/</span><span class="nd">@codeListValue</span> <span class="o">=</span> <span class="s1">'loose'</span> <span class="p">)</span> <span class="p">),</span> <span class="n">substring</span> <span class="p">(</span> <span class="s1">'tight'</span><span class="p">,</span> <span class="mi">1</span> <span class="n">div</span> <span class="n">boolean</span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">couplingType</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_CouplingType</span> <span class="o">/</span><span class="nd">@codeListValue</span> <span class="o">=</span> <span class="s1">'tight'</span> <span class="p">)</span> <span class="p">),</span> <span class="n">substring</span><span class="p">(</span> <span class="s1">'tight'</span><span class="p">,</span> <span class="mi">1</span> <span class="n">div</span> <span class="n">boolean</span><span class="p">(</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span> <span class="ow">and</span> <span class="ow">not</span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">couplingType</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_CouplingType</span> <span class="o">/</span><span class="nd">@codeListValue</span> <span class="p">)</span> <span class="p">)</span> <span class="p">),</span> <span class="n">substring</span><span class="p">(</span> <span class="s1">''</span><span class="p">,</span> <span class="mi">1</span> <span class="n">div</span> <span class="n">boolean</span><span class="p">(</span> <span class="ow">not</span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">couplingType</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_CouplingType</span> <span class="o">/</span><span class="nd">@codeListValue</span> <span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span><span class="p">(</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span> <span class="p">)</span> <span class="p">)</span> <span class="p">)</span> <span class="p">)</span> </pre></div> </div> </div> <div class="section" id="servicetitle"> <h3><a class="toc-backref" href="#id12">serviceTitle</a><a class="headerlink" href="#servicetitle" title="Permalink to this headline">¶</a></h3> <p>This combines the srv service title with the distribution “service” info’s titles.</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">citation</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_Citation</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">title</span> <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span> <span class="o">|</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorTransferOptions</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_DigitalTransferOptions</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">onLine</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">name</span> <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span> <span class="p">)</span><span class="o">/</span><span class="n">text</span><span class="p">()</span> </pre></div> </div> </div> <div class="section" id="servicedescription"> <h3><a class="toc-backref" href="#id13">serviceDescription</a><a class="headerlink" href="#servicedescription" title="Permalink to this headline">¶</a></h3> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">abstract</span> <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span> <span class="o">|</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorTransferOptions</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_DigitalTransferOptions</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">onLine</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">description</span> <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span> <span class="p">)</span><span class="o">/</span><span class="n">text</span><span class="p">()</span> </pre></div> </div> </div> <div class="section" id="servicetype"> <h3><a class="toc-backref" href="#id14">serviceType</a><a class="headerlink" href="#servicetype" title="Permalink to this headline">¶</a></h3> <p>Both are evaluated / indexed, checking the srv and distributionInfo locations for a service type.</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">serviceType</span> <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">LocalName</span> <span class="o">/</span><span class="n">text</span><span class="p">()</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorTransferOptions</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_DigitalTransferOptions</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">onLine</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">protocol</span> <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span> <span class="o">/</span><span class="n">text</span><span class="p">()</span> </pre></div> </div> </div> <div class="section" id="serviceendpoint"> <h3><a class="toc-backref" href="#id15">serviceEndpoint</a><a class="headerlink" href="#serviceendpoint" title="Permalink to this headline">¶</a></h3> <p>Both are evaluated / indexed, checking the srv and distributionInfo locations for service endpoints.</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">containsOperations</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_OperationMetadata</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">connectPoint</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">linkage</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">URL</span> <span class="o">/</span><span class="n">text</span><span class="p">()</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorTransferOptions</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_DigitalTransferOptions</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">onLine</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">linkage</span><span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">URL</span><span class="o">/</span><span class="n">text</span><span class="p">()</span> <span class="o">|</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">transferOptions</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_DigitalTransferOptions</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">onLine</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">linkage</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">URL</span> <span class="o">/</span><span class="n">text</span><span class="p">()</span> </pre></div> </div> </div> <div class="section" id="serviceinput"> <h3><a class="toc-backref" href="#id16">serviceInput</a><a class="headerlink" href="#serviceinput" title="Permalink to this headline">¶</a></h3> <p>Both are evaluated / indexed, checking the srv and distributionInfo locations for service input.</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">operatesOn</span> <span class="o">/</span><span class="nd">@xlink</span><span class="p">:</span><span class="n">href</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorTransferOptions</span> <span class="o">/</span><span class="nd">@xlink</span><span class="p">:</span><span class="n">href</span> </pre></div> </div> </div> <div class="section" id="serviceoutput"> <h3><a class="toc-backref" href="#id17">serviceOutput</a><a class="headerlink" href="#serviceoutput" title="Permalink to this headline">¶</a></h3> <p>Both are evaluated / indexed, checking the srv and distributionInfo locations for service output.</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">resourceFormat</span> <span class="o">/</span><span class="nd">@xlink</span><span class="p">:</span><span class="n">href</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorFormat</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Format</span> <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">version</span> <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span> <span class="o">/</span><span class="n">text</span><span class="p">()</span> </pre></div> </div> </div> </div> <div class="section" id="mapping-of-eml-to-index-fields-for-services"> <h2><a class="toc-backref" href="#id18">Mapping of EML to Index Fields for Services</a><a class="headerlink" href="#mapping-of-eml-to-index-fields-for-services" title="Permalink to this headline">¶</a></h2> <p>(See application-context-eml-base.xml)</p> <p>The EML spec is limited in what info it can hold about services.</p> <p>EML holds no elements that correspond to these fields:</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">ServiceType</span> <span class="n">SerivceInput</span> <span class="n">ServiceOutput</span> <span class="n">ServiceCoupling</span> </pre></div> </div> <p>So info about these can’t be indexed.</p> <p>Supported fields are below:</p> <div class="section" id="id1"> <h3><a class="toc-backref" href="#id19">isService</a><a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3> <p>Checks for the presence of a distribution url.</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">boolean</span><span class="p">(</span><span class="o">//</span><span class="n">software</span><span class="o">/</span><span class="n">implementation</span><span class="o">/</span><span class="n">distribution</span><span class="o">/</span><span class="n">online</span><span class="o">/</span><span class="n">url</span><span class="p">)</span> </pre></div> </div> </div> <div class="section" id="id2"> <h3><a class="toc-backref" href="#id20">ServiceTitle</a><a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3> <p>Fetches the software title.</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">software</span><span class="o">/</span><span class="n">title</span><span class="o">//</span><span class="n">text</span><span class="p">()[</span><span class="n">normalize</span><span class="o">-</span><span class="n">space</span><span class="p">()]</span> </pre></div> </div> </div> <div class="section" id="id3"> <h3><a class="toc-backref" href="#id21">ServiceDescription</a><a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3> <p>Fetches the software abstract.</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">software</span><span class="o">/</span><span class="n">abstract</span><span class="o">//</span><span class="n">text</span><span class="p">()[</span><span class="n">normalize</span><span class="o">-</span><span class="n">space</span><span class="p">()]</span> </pre></div> </div> </div> <div class="section" id="id4"> <h3><a class="toc-backref" href="#id22">ServiceEndpoint</a><a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3> <p>Fetches the distribution url.</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">software</span><span class="o">/</span><span class="n">implementation</span><span class="o">/</span><span class="n">distribution</span><span class="o">/</span><span class="n">online</span><span class="o">/</span><span class="n">url</span><span class="o">/</span><span class="n">text</span><span class="p">()</span> </pre></div> </div> </div> </div> </div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <p class="logo"><a href="http://dataone.org"> <img class="logo" src="../_static/dataone_logo.png" alt="Logo"/> </a></p> <h3><a href="../index.html">Table Of Contents</a></h3> <ul> <li><a class="reference internal" href="#">Referencing Content External to DataONE</a><ul> <li><a class="reference internal" href="#index-fields">Index Fields</a></li> <li><a class="reference internal" href="#use-of-index-fields-in-search-ui">Use of Index Fields in Search UI</a></li> <li><a class="reference internal" href="#appearance-of-external-content-in-the-search-ui">Appearance of External Content in the Search UI</a></li> <li><a class="reference internal" href="#mapping-iso-tc211-to-index-fields-for-services">Mapping ISO-TC211 to Index Fields for Services</a><ul> <li><a class="reference internal" href="#isservice">isService</a></li> <li><a class="reference internal" href="#servicecoupling">serviceCoupling</a></li> <li><a class="reference internal" href="#servicetitle">serviceTitle</a></li> <li><a class="reference internal" href="#servicedescription">serviceDescription</a></li> <li><a class="reference internal" href="#servicetype">serviceType</a></li> <li><a class="reference internal" href="#serviceendpoint">serviceEndpoint</a></li> <li><a class="reference internal" href="#serviceinput">serviceInput</a></li> <li><a class="reference internal" href="#serviceoutput">serviceOutput</a></li> </ul> </li> <li><a class="reference internal" href="#mapping-of-eml-to-index-fields-for-services">Mapping of EML to Index Fields for Services</a><ul> <li><a class="reference internal" href="#id1">isService</a></li> <li><a class="reference internal" href="#id2">ServiceTitle</a></li> <li><a class="reference internal" href="#id3">ServiceDescription</a></li> <li><a class="reference internal" href="#id4">ServiceEndpoint</a></li> </ul> </li> </ul> </li> </ul> <h3>Related Topics</h3> <ul> <li><a href="../index.html">Documentation Overview</a><ul> <li><a href="index.html"><no title></a><ul> <li>Previous: <a href="SearchMetadata_dryad.html" title="previous chapter">Search Metadata Elements Extracted from Dryad</a></li> <li>Next: <a href="PreservationStrategy.html" title="next chapter">DataONE Preservation Strategy</a></li> </ul></li> </ul></li> </ul> <div id="searchbox" style="display: none" role="search"> <h3>Quick search</h3> <form class="search" action="../search.html" method="get"> <div><input type="text" name="q" /></div> <div><input type="submit" value="Go" /></div> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="footer"> <div id="copyright"> © Copyright <a href="http://www.dataone.org">2009-2017, DataONE</a>. [ <a href="../_sources/design/ExternalContent.txt" rel="nofollow">Page Source</a> | <a href='https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/ExternalContent.txt' rel="nofollow">Revision History</a> ] </div> <div id="acknowledgement"> <p>This material is based upon work supported by the National Science Foundation under Grant Numbers <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=0830944">083094</a> and <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=1430508">1430508</a>.</p> <p>Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.</p> </div> </div> <!-- <hr /> <div id="HCB_comment_box"><a href="http://www.htmlcommentbox.com">HTML Comment Box</a> is loading comments...</div> <link rel="stylesheet" type="text/css" href="_static/skin.css" /> <script type="text/javascript" language="javascript" id="hcb"> /*<! -*/ (function() {s=document.createElement("script"); s.setAttribute("type","text/javascript"); s.setAttribute("src", "http://www.htmlcommentbox.com/jread?page="+escape((typeof hcb_user !== "undefined" && hcb_user.PAGE)||(""+window.location)).replace("+","%2B")+"&mod=%241%24wq1rdBcg%24Gg8J5iYSHJWwAJtlYu/yU."+"&opts=21407&num=10"); if (typeof s!="undefined") document.getElementsByTagName("head")[0].appendChild(s);})(); /* ->*/ </script> --> </body> </html>