<docbook><section><title>VirtSparqlCxmlHead</title><title>VirtSparqlCxmlHead</title><ulink url="VirtSparqlCxmlHead">VirtSparqlCxmlHead</ulink>
<para>Draft documentation for CXML generation from /sparql endpoint</para>
<para>Work in progress ...</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtSparqlCxml">VirtSparqlCxml</ulink></listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtSparqlCxmlDzcs">VirtSparqlCxmlDzcs</ulink></listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="SparqlCxmlDzcsOld">SparqlCxmlDzcsOld</ulink></listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtSparqlCxmlFacetPivotBridge">VirtSparqlCxmlFacetPivotBridge</ulink></listitem>
</itemizedlist><para>-- <ulink url="MainCarlBlakeley">CarlBlakeley</ulink> 29 Sep 2010</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="SparqlCxmlQueriesCollection">SparqlCxmlQueriesCollection</ulink></listitem>
</itemizedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> CXML Generation Routines used by /sparql</bridgehead>
<para>The main Virtuoso/PL procedures used are:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem>DB.DBA.SPARQL_RESULTS_TO_CXML_WRITE <itemizedlist mark="bullet" spacing="compact"><listitem>Prepares CXML data for a given SPARQL SELECT result set.
 metas[1] can be tweaked by caller and contain get_keyword style vector of collection attributes.
</listitem>
</itemizedlist></listitem>
<listitem>DB.DBA.RDF_TRIPLES_TO_CXML <itemizedlist mark="bullet" spacing="compact"><listitem>Prepares CXML data for a given SPARQL CONSTRUCT-like dictionary of triples </listitem>
</itemizedlist></listitem>
<listitem>DB.DBA.CXML_CONVERT_FACET_VALUES <itemizedlist mark="bullet" spacing="compact"><listitem>Calls any value conversion callback functions of all facets for all facet values.
</listitem>
</itemizedlist></listitem>
<listitem>DB.DBA.CXML_MAKE_COLLECTION <itemizedlist mark="bullet" spacing="compact"><listitem>Serializes facets and items into a complete CXML text.
</listitem>
</itemizedlist></listitem>
<listitem>DB.DBA.CXML_FACET_OF_COL <itemizedlist mark="bullet" spacing="compact"><listitem>Returns a facet IRI for the given column name.
 (Used by DB.DBA.SPARQL_RESULTS_TO_CXML_WRITE) </listitem>
</itemizedlist></listitem>
<listitem>DB.DBA.CXML_FACET_OF_P <itemizedlist mark="bullet" spacing="compact"><listitem>Returns a facet IRI (facet name) for the given item type and predicate.
 By default, the facet IRI is equal to the predicate IRI.
</listitem>
</itemizedlist></listitem>
<listitem>DB.DBA.CXML_FACET_ATTRS <itemizedlist mark="bullet" spacing="compact"><listitem>Given a facet IRI, the function returns a vector of attributes of the facet.
</listitem>
<listitem>Attributes currently recognized by the CXML serializer are: <itemizedlist mark="bullet" spacing="compact"><listitem>@Name (the fragment from the facet / predicate IRI is used if not specified) </listitem>
<listitem>@Type (default is &#39;String&#39;, values are standard CXML types or one of &#39;Item/Description&#39;, &#39;Item/Related&#39;, &#39;Item/@Img&#39;, &#39;Item/@Id&#39;, &#39;Item/@Href&#39;, &#39;Item/@Name&#39; ) </listitem>
<listitem>@Format </listitem>
<listitem>d1p1:<ulink url="IsFilterVisible">IsFilterVisible</ulink> </listitem>
<listitem>d1p1:<ulink url="IsMetaDataVisible">IsMetaDataVisible</ulink> </listitem>
<listitem>d1p1:<ulink url="IsWordWheelVisible">IsWordWheelVisible</ulink></listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Default CXML Output</bridgehead>
<para>The default settings for the CXML generation include the following defaults:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem>FacetCategory attributes <itemizedlist mark="bullet" spacing="compact"><listitem>Name <itemizedlist mark="bullet" spacing="compact"><listitem>Defaults to a short property name, without a prefix.
 e.g.
 Predicate http://www.openlinksw.com/campsites/schema#distance_from_calais_km becomes a FacetCategory with Name=&quot;distance_from_calais_km&quot; </listitem>
</itemizedlist></listitem>
<listitem>Type <itemizedlist mark="bullet" spacing="compact"><listitem>Defaults to CXML type &quot;String&quot; </listitem>
</itemizedlist></listitem>
<listitem>IsFilterVisible, IsMetaDataVisible, IsWordWheelVisible <itemizedlist mark="bullet" spacing="compact"><listitem>All default to &quot;true&quot;</listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem>Facet attributes <itemizedlist mark="bullet" spacing="compact"><listitem>Name <itemizedlist mark="bullet" spacing="compact"><listitem>As with the FacetCategory Name attribute, defaults to a short property name.
</listitem>
</itemizedlist></listitem>
<listitem>Type <itemizedlist mark="bullet" spacing="compact"><listitem>As with the FacetCategory Type attribute, defaults to &quot;String&quot;.</listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem>Item attributes <itemizedlist mark="bullet" spacing="compact"><listitem>Name <itemizedlist mark="bullet" spacing="compact"><listitem>Defaults to the URI of the entity described by the Item element </listitem>
</itemizedlist></listitem>
<listitem>Href <itemizedlist mark="bullet" spacing="compact"><listitem>Defaults to the URI of the entity described by the Item element </listitem>
</itemizedlist></listitem>
<listitem>Img <itemizedlist mark="bullet" spacing="compact"><listitem>Defaults to &quot;#10&quot;</listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
</itemizedlist><itemizedlist mark="bullet" spacing="compact"><listitem>Items attributes <itemizedlist mark="bullet" spacing="compact"><listitem>ImgBase <itemizedlist mark="bullet" spacing="compact"><listitem>Defaults to &quot;/pivot_collections/default_pivot_collection_files/n3ijndyb.ian.xml&quot;</listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Tailoring the CXML Output</bridgehead>
<para>The CXML output can be tailored by settings in graph &lt;http://www.openlinksw.com/schemas/virtcxml#&gt;.
 The graph can also be referred to by its short name virtcxml: which is declared in table DB.DBA.SYS_XML_PERSISTENT_NS_DECL.
</para>
</section></docbook>