ESciDoc Container Toc
In eSciDoc 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 (TOC) which contains an ordered selection of members. The TOC 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 eSciDoc TOC:[edit]
General Idea[edit]
The TOC 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[edit]
<?xml version="1.0" encoding="UTF-8"?> <toc:toc ID="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 TOC-v3.xsd"> <toc:div ID="rootDiv" VISIBLE="false"> <toc:div ID="toc1" TYPE="physical"> <toc:div ID="item287" ORDER="4" ORDERLABEL="1"> <toc:ptr ID="ptr1_item" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/> <toc:ptr ID="ptr1_min" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/287_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr1_default" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/287_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr1_max" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/287_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/> </toc:div> <toc:div ID="item289" ORDER="5" ORDERLABEL="2"> <toc:ptr ID="ptr2_item" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/> <toc:ptr ID="ptr2_min" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/289_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr2_default" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/289_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr2_max" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/289_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/> </toc:div> <toc:div ID="item290" ORDER="6" ORDERLABEL="3"> <toc:ptr ID="ptr3_item" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/> <toc:ptr ID="ptr3_min" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/290_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr3_default" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/290_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr3_max" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/290_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/> </toc:div> <toc:div ID="item291" ORDER="7" ORDERLABEL="4"> <toc:ptr ID="ptr4_item" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/> <toc:ptr ID="ptr4_min" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/291_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr4_default" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/291_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr4_max" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/291_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/> </toc:div> <toc:div ID="item275" ORDER="8" ORDERLABEL="5"> <toc:ptr ID="ptr5_item" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/> <toc:ptr ID="ptr5_min" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/275_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr5_default" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/275_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr5_max" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/275_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/> </toc:div> <toc:div ID="item277" ORDER="9" ORDERLABEL="6"> <toc:ptr ID="ptr6_item" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12" xlink:type="locator" USE="ITEM"/> <toc:ptr ID="ptr6_min" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/277_1.jpeg" xlink:type="locator" USE="MIN" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr6_default" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/277_2.jpeg" xlink:type="locator" USE="DEFAULT" MIMETYPE="image/jpg"/> <toc:ptr ID="ptr6_max" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12/277_2.jpeg" xlink:type="locator" USE="MAX" MIMETYPE="image/jpg"/> </toc:div> </toc:div> <toc:div ID="toc2" TYPE="logical"> <toc:div ID="rootNode" LABEL="[the containers title]" TYPE="monograph"> <toc:ptr ID="rootNodePtr" LOCTYPE="URL" xlink:href="/ir/container/escidoc:10" xlink:type="locator" xlink:title="[the containers title]"/> <toc:div ID="container1" ORDER="1" LABEL="[the containers title]" TYPE="chapter"> <toc:ptr ID="container1Ptr" LOCTYPE="URL" xlink:href="/ir/container/escidoc:11" xlink:type="locator" xlink:title="[the containers title]"/> <toc:ptr ID="item287Ptr" TYPE="page" xlink:title="item287" xlink:type="resource"/> <toc:ptr ID="item289Ptr" TYPE="page" xlink:title="item289" xlink:type="resource"/> <toc:ptr ID="item290Ptr" TYPE="page" xlink:title="item290" xlink:type="resource"/> </toc:div> <toc:div ID="container2" ORDER="2" LABEL="[the containers title]" TYPE="chapter"> <toc:ptr ID="container2Ptr" LOCTYPE="URL" xlink:href="/ir/container/escidoc:12" xlink:type="locator" xlink:title="[the containers title]"/> <toc:div ID="container3" ORDER="1" LABEL="[the containers title]" TYPE="section"> <toc:ptr ID="container3Ptr" LOCTYPE="URL" xlink:href="/ir/container/escidoc:13" xlink:type="locator" xlink:title="[the containers title]"/> <toc:ptr ID="item275" TYPE="page" xlink:title="item275" xlink:type="resource"/> <toc:ptr ID="item277" TYPE="page" xlink:title="item277" xlink:type="resource"/> </toc:div> </toc:div> </toc:div> </toc:div> </toc:div> </toc:toc>
Attributes[edit]
toc attributes:
- TYPE: The type of structure this TOC describes
- PHYSICAL = The physical structure
- LOGICAL = The logical structure
div attributes:
- ORDER: The physical pagenumber of the scan
- ORDERLABEL: The logical pagenumber of the scan
- ID: 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:
- ID: 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 MIME type
Relation between TOC, Containers and Items for different use cases[edit]
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 TOC with physical part is created and all scanned pages are added and linked (picture URLs and item references), as in the example above
- The TOC is added as member to the volume container using the "hasMember/isMemberOf" relationship.
Pagination:
- The orderLabel in the physical part of the TOC is changed
Creation of a new structural element:
- For each structural element that is added to the logical part of the TOC, an item is created with a metadata set and linked from the associated div in the logical TOC.
- (Optional: The created item is added as member to the volume's container (using the "hasMember/isMemberOf" relationship)) ????
- Item must have a relation to its TOC (either via container or direct relation)
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 TOC. In the TOC, 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 TOC be released? - VIRR User cannot create/release TOCs yet - Discussion of VIRR Application Profile for Structural elements
Previous Ideas[edit]
TOC Representation based on RSS 1.0[edit]
A TOC consists of a RSS items element which is "an RDF table of contents" [1] containing an ordered list of member resources. The items element contains an RDF sequence (rdf:Seq) with RDF list items (rdf:li). A list item refers to a member resource by the RDF 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[edit]
If the toc-view of a container resource is requested, a RSS channel is generated for delivery. The channel's about attribute is set to the container's URL; title and description are set to the container's title and description. The link element of the channel contains the URL of the requested toc-view. Further the content of the container's TOC is added (rss:items) and a RSS item for each TOC entry is added.
An item element contains information about the referred member (rdf:about attribute). An item contains at least title, description and URL of the member resource as rss:title, rss:description and rss:link. Additionally all DC entries from the triple store pertaining to the referred member are added.
<?xml version="1.0"?> <rdf:RDF 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 RDF Site Summary (RSS) 1.0 (http://web.resource.org/rss/1.0/spec#s5.3.5) 5.3.5 <items> An RDF table of contents, associating the document's items [5.5] with this particular RSS channel. Each item's rdf:resource {item_uri} must be the same as the associated item element's rdf:about {item_uri}. An RDF Seq (sequence) is used to contain all the items rather than an RDF 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 DC</dc:title> <dc:identifier>Identifier from DC</dc:identifier> </rss:item> <rss:item rdf:about="http://localhost:8080/ir/container/escidoc:111"> <!-- ... --> </rss:item> </rss:channel> </rdf:RDF>
Questions & Discussion[edit]
Please check the talk page for discussion
Additionally discussed on ViRR Development page
Workshops[edit]
ESciDoc_Developer_Telco_2008-02-26
ESciDoc_Developer_Workshop_2008-03-11
References[edit]
- ↑ RDF Site Summary (RSS) 1.0. Retrieved on 2007-09-26.