ESciDoc Container Toc

From MPDLMediaWiki
Jump to: navigation, search

In eSciDocEnhanced Scientific Documentation hierarchical structures are build by means of container resources. A container resource refers to its members which are again containers or items. The set of references is represented as structural map (struct-map) inside the representation of a container resource. Additionally a container may contain a table of content (TOCTable of Contents) which contains an ordered selection of members. The TOCTable of Contents does not allow the grouping of members. It contains only direct members of the container resource. Grouping of direct members is not necessary; a hierarchical structure is build by container resources which are linked as members.

Example of a eSciDocEnhanced Scientific Documentation TOCTable of Contents:

General Idea

The TOCTable of Contents of a books is divided into two sections.

  • The physical section is generated during the ingestion and contains informations about the scans
  • The logical section can be generated by the user and contains informations about the logical structure of the container. The physical pages are mapped to the logical structure via id.

Example xml

<?xml version="1.0" encoding="UTFUnicode Transformation Format-8"?>
<toc:toc IDIdentifier="myFirstTOC" xml:base="http://localhost:8080" 
		         xmlns:toc="http://www.escidoc.de/schemas/toc/0.4" 
	                 xmlns:xlink="http://www.w3.org/1999/xlink"
		         xsi:schemaLocation="http://www.escidoc.de/schemas/toc/0.4 TOCTable of Contents-v3.xsd">
     <toc:div IDIdentifier="rootDiv" VISIBLE="false">	
	<toc:div IDIdentifier="toc1" TYPE="physical">		
	    <toc:div IDIdentifier="item287" ORDER="4" ORDERLABEL="1"> 
                <toc:ptr IDIdentifier="ptr1_item" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/>
		<toc:ptr IDIdentifier="ptr1_min" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/287_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/>  
		<toc:ptr IDIdentifier="ptr1_default" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/287_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/>
		<toc:ptr IDIdentifier="ptr1_max" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/287_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/>
	    </toc:div>									
	    <toc:div IDIdentifier="item289" ORDER="5" ORDERLABEL="2">
                <toc:ptr IDIdentifier="ptr2_item" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/>
		<toc:ptr IDIdentifier="ptr2_min" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/289_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/>  
		<toc:ptr IDIdentifier="ptr2_default" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/289_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/>
		<toc:ptr IDIdentifier="ptr2_max" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/289_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/>
	    </toc:div>
	    <toc:div IDIdentifier="item290" ORDER="6" ORDERLABEL="3">
                <toc:ptr IDIdentifier="ptr3_item" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/>
		<toc:ptr IDIdentifier="ptr3_min" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/290_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/>  
		<toc:ptr IDIdentifier="ptr3_default" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/290_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/>
		<toc:ptr IDIdentifier="ptr3_max" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/290_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/>
	    </toc:div>
	    <toc:div IDIdentifier="item291" ORDER="7" ORDERLABEL="4">
                <toc:ptr IDIdentifier="ptr4_item" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/>
		<toc:ptr IDIdentifier="ptr4_min" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/291_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/>  
		<toc:ptr IDIdentifier="ptr4_default" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/291_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/>
		<toc:ptr IDIdentifier="ptr4_max" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/291_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/>
	    </toc:div>
	    <toc:div IDIdentifier="item275" ORDER="8" ORDERLABEL="5">
                <toc:ptr IDIdentifier="ptr5_item" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/>
		<toc:ptr IDIdentifier="ptr5_min" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/275_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/>  
		<toc:ptr IDIdentifier="ptr5_default" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/275_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/>
		<toc:ptr IDIdentifier="ptr5_max" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/275_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/>
	    </toc:div>
	    <toc:div IDIdentifier="item277" ORDER="9" ORDERLABEL="6">
                <toc:ptr IDIdentifier="ptr6_item" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/>
		<toc:ptr IDIdentifier="ptr6_min" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/277_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/>  
		<toc:ptr IDIdentifier="ptr6_default" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/277_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/>
		<toc:ptr IDIdentifier="ptr6_max" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12/277_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/>
	    </toc:div>
        </toc:div>
        <toc:div IDIdentifier="toc2" TYPE="logical">	
 
	    <toc:div IDIdentifier="rootNode" LABEL="[the containers title]" TYPE="monograph">																	
		<toc:ptr IDIdentifier="rootNodePtr" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:10" xlink:type="locator" xlink:title="[the containers title]"/> 
 
		<toc:div IDIdentifier="container1" ORDER="1" LABEL="[the containers title]" TYPE="chapter">   					
			<toc:ptr IDIdentifier="container1Ptr"  LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:11" xlink:type="locator" xlink:title="[the containers title]"/>
			<toc:ptr IDIdentifier="item287Ptr" TYPE="page" xlink:href="item287" xlink:type="resource"/>		
			<toc:ptr IDIdentifier="item289Ptr" TYPE="page" xlink:href="item289" xlink:type="resource"/>		
			<toc:ptr IDIdentifier="item290Ptr" TYPE="page" xlink:href="item290" xlink:type="resource"/>														
		</toc:div>
 
		<toc:div IDIdentifier="container2" ORDER="2" LABEL="[the containers title]" TYPE="chapter">						
			<toc:ptr IDIdentifier="container2Ptr" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:12" xlink:type="locator" xlink:title="[the containers title]"/>
 
			<toc:div IDIdentifier="container3" ORDER="1" LABEL="[the containers title]" TYPE="section">
				<toc:ptr IDIdentifier="container3Ptr" LOCTYPE="URLUniform Resource Locator" xlink:href="/ir/container/escidoc:13" xlink:type="locator" xlink:title="[the containers title]"/>
				<toc:ptr IDIdentifier="item275" TYPE="page" xlink:href="item275" xlink:type="resource"/>	
				<toc:ptr IDIdentifier="item277" TYPE="page" xlink:href="item277" xlink:type="resource"/>	
			</toc:div>
		</toc:div>
	    </toc:div>
       </toc:div>
    </toc:div>
</toc:toc>

Attributes

toc attributes:

  • TYPE: The type of structure this TOCTable of Contents describes
    PHYSICAL = The physical structure
    LOGICAL = The logical structure


div attributes:

  • ORDER: The physical pagenumber of the scan. The physical order must begin with number "1".
  • ORDERLABEL: The logical pagenumber of the scan
  • IDIdentifier: The identification number of this scan (id of the item)
  • TYPE: The type of this structural element (see List of structural element types)
  • LABEL: The elements title
  • VISIBLE: Indicates if this div (and its sub-elements should be displayed when displaying this toc


ptr attributes:

  • IDIdentifier: The identification of this pointer
  • USE: The type of the file described with this locator
    MIN = thumbnail size
    DEFAULT = Web size
    MAX = Full size
    ITEM = item which contains these files
  • xlink:href: The locator for this file
  • LOCTYPE: The locator type
  • MIMETYPE: The scans MIMEMultipurpose Internet Mail Extensions type

Relation between TOCTable of Contents, Containers and Items for different use cases

Ingestion of Books:

  • As it is now, for every scan an item is created that contains 3 file components for the different scan resolutions (thumbnail, web, full).
  • These items do not need an metadata set, because only structural elements contain metadata. (Anyway, metadata can be provided or added in later stages if it is required).
  • For each volume, an container is created. All items with the scans are added as members to this container)
  • Additionally, a TOCTable of Contents with physical part is created and all scanned pages are added and linked (picture URLs and item references), as in the example above
  • The TOCTable of Contents is added as member to the volume container using the "hasMember/isMemberOf" relationship.


Pagination:

  • The orderLabel in the physical part of the TOCTable of Contents is changed


Creation of a new structural element:

  • For each structural element that is added to the logical part of the TOCTable of Contents, an item is created with a metadata set and linked from the associated div in the logical TOCTable of Contents.
  • (Optional: The created item is added as member to the volume's container (using the "hasMember/isMemberOf" relationship))  ????
    • I think here we have agreed that each newly created item (i.e. structural element) will be assigned as a member of a container. In this case the physical TOCTable of Contents needs to be updated as well. --Natasa 10:11, 9 October 2008 (UTCCoordinated Universal Time)
  • Item must have a relation to its TOCTable of Contents (either via container or direct relation)
See my comment above --Natasa 10:11, 9 October 2008 (UTCCoordinated Universal Time)


Searching for a structural element:

  • If a search is performed, the user gets back the item that represents an structural element. Due to the "isMemberOf" relation, the volume's container can be retrieved and, thus, also the TOCTable of Contents. In the TOCTable of Contents, the scan(s) can be retrieved by searching for the item id in the logical part and using the mapping to its physical part.

Open questions:

  • Workflow? when and how can a TOCTable of Contents be released?
    • A TOCTable of Contents can be released any time user decides to do so. My proposal is - that until the TOCTable of Contents is released the user is able to only browse by the structural-map of the TOCTable of Contents. --Natasa 10:15, 9 October 2008 (UTCCoordinated Universal Time)
    • User can release the TOCTable of Contents at any time. The mandatory element to release the TOCTable of Contents should be the "physical" part. The "logical part" may not be fully finalized. --Natasa 10:15, 9 October 2008 (UTCCoordinated Universal Time)
  • VIRRVirtueller Raum Reichsrecht User cannot create/release TOCs yet
    • what are the blockers for it? --Natasa 10:15, 9 October 2008 (UTCCoordinated Universal Time)
  • Discussion of VIRRVirtueller Raum Reichsrecht Application Profile for Structural elements
    • what are actual open questions on VIRRVirtueller Raum Reichsrecht App profile? --Natasa 10:15, 9 October 2008 (UTCCoordinated Universal Time)

Previous Ideas

TOCTable of Contents Representation based on RSSReally Simple Syndication 1.0

A TOCTable of Contents consists of a RSSReally Simple Syndication items element which is "an RDFResource Description Framework table of contents" [1] containing an ordered list of member resources. The items element contains an RDFResource Description Framework sequence (rdf:Seq) with RDFResource Description Framework list items (rdf:li). A list item refers to a member resource by the RDFResource Description Framework resource attribute.

<rss:items>
	<rdf:Seq>
		<rdf:li rdf:resource="http://localhost:8080/ir/item/escidoc:234"/>
		<rdf:li rdf:resource="http://localhost:8080/ir/container/:111"/>
	</rdf:Seq>
</rss:items>

toc-view

If the toc-view of a container resource is requested, a RSSReally Simple Syndication channel is generated for delivery. The channel's about attribute is set to the container's URLUniform Resource Locator; title and description are set to the container's title and description. The link element of the channel contains the URLUniform Resource Locator of the requested toc-view. Further the content of the container's TOCTable of Contents is added (rss:items) and a RSSReally Simple Syndication item for each TOCTable of Contents entry is added.

An item element contains information about the referred member (rdf:about attribute). An item contains at least title, description and URLUniform Resource Locator of the member resource as rss:title, rss:description and rss:link. Additionally all DCDublin Core entries from the triple store pertaining to the referred member are added.

<?xml version="1.0"?>
<rdf:RDFResource Description Framework 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:rss="http://purl.org/rss/1.0/" 
    xmlns:dc="http://purl.org/dc/elements/1.1/">

  <rss:channel rdf:about="http://localhost:8080/ir/container/escidoc:123">
    <rss:title>The containers title</rss:title>
    <rss:link>http://localhost:8080/ir/container/escidoc:123/resources/toc-view</rss:link>
    <rss:description>A selected list of the members of the container.</rss:description>

    <!--
      From RDFResource Description Framework Site Summary (RSSReally Simple Syndication) 1.0 (http://web.resource.org/rss/1.0/spec#s5.3.5)
  
      5.3.5 <items>
      An RDFResource Description Framework table of contents, associating the document's items [5.5] 
      with this particular RSSReally Simple Syndication channel. Each item's rdf:resource {item_uri}
      must be the same as the associated item element's rdf:about {item_uri}.

      An RDFResource Description Framework Seq (sequence) is used to contain all the items rather than an 
      RDFResource Description Framework Bag to denote item order for rendering and reconstruction. 
    -->
    <rss:items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://localhost:8080/ir/item/escidoc:234"/>
        <rdf:li rdf:resource="http://localhost:8080/ir/container/:111"/>
      </rdf:Seq>
    </rss:items>
		
    <rss:item rdf:about="http://localhost:8080/ir/item/escidoc:234">
      <rss:title>Title of the refered resource</rss:title>
      <rss:link>http://localhost:8080/ir/item/escidoc:234</rss:link>
      <rss:description>Description from the refered resource</rss:description>
      <!-- All dc metadata entries from triplestore. -->
      <dc:title>Title from DCDublin Core</dc:title>
      <dc:identifier>Identifier from DCDublin Core</dc:identifier>
    </rss:item>

    <rss:item rdf:about="http://localhost:8080/ir/container/escidoc:111">
      <!-- ... -->
    </rss:item>

  </rss:channel>
</rdf:RDFResource Description Framework>

Questions & Discussion

Please check the talk page for discussion

Additionally discussed on ViRR Development page

Workshops

ESciDoc_Developer_Telco_2008-02-26

ESciDoc_Developer_Workshop_2008-03-11

References

  1. {{
    1. if: {{#if: http://web.resource.org/rss/1.0/spec#s5.3.5 | {{#if: RDFResource Description Framework Site Summary (RSSReally Simple Syndication) 1.0 |1}}}}
    ||You must specify title = and url = when using {{cite web}}. {{#if: ||}} }}{{
    1. if:
    | {{#if: {{#if: | {{#if: |1}}}} ||You must specify archiveurl = and archivedate = when using {{cite web}}. {{#if: ||}} }} }}{{#if: | {{#if: | [[{{{authorlink}}}|{{#if: | {{{last}}}{{#if: | , {{{first}}} }} | {{{author}}} }}]] | {{#if: | {{{last}}}{{#if: | , {{{first}}} }} | {{{author}}} }} }} }}{{#if: | {{#if: | ; {{{coauthors}}} }} }}{{#if: | {{#if: | ({{#ifeq:{{#time:Y-m-d|{{{date}}}}}|{{{date}}}|[[{{{date}}}]]|{{{date}}}}}) | {{#if: | {{#if: | ({{{month}}} {{{year}}}) | ({{{year}}}) }} }} |}} }}{{#if: | . }}{{ #if: | {{{editor}}}: }}{{#if: | {{#if: | {{#if: RDFResource Description Framework Site Summary (RSSReally Simple Syndication) 1.0 | [{{{archiveurl}}} RDFResource Description Framework Site Summary (RSSReally Simple Syndication) 1.0] }}}} | {{#if: http://web.resource.org/rss/1.0/spec#s5.3.5 | {{#if: RDFResource Description Framework Site Summary (RSSReally Simple Syndication) 1.0 | RDF Site Summary (RSS) 1.0 }}}} }}{{#if: | () }}{{#if: | ({{{language}}}) }}{{#if: | . {{{work}}} }}{{#if: | {{{pages}}} }}{{#if: | . {{{publisher}}}{{#if: | | {{#if: || }} }} }}{{#if: ||{{#if: | ({{#ifeq:{{#time:Y-m-d|{{{date}}}}}|{{{date}}}|[[{{{date}}}]]|{{{date}}}}}) | {{#if: | {{#if: | ({{{month}}} {{{year}}}) | ({{{year}}}) }} }} }} }}.{{#if: | Archived from the original on [[{{{archivedate}}}]]. }}{{#if: | DOI:{{{doi}}}. }}{{#if: 2007-09-26 | Retrieved on 2007-09-26{{#if: | , [[{{{accessyear}}}]] }}. }}{{#if: | Retrieved on {{{accessmonthday}}}{{#if: | , [[{{{accessyear}}}]] }}. }}{{#if: | Retrieved on {{{accessdaymonth}}}{{#if: | , [[{{{accessyear}}}]] }}. }}{{#if: |  “{{{quote}}}” }}