Hi again everyone

 

More newbie questions ....

 

Today I am thinking about ingest of complex objects, specifically
digitised books.  Obviously, to "reconstruct" a digitised book at point
of dissemination both structural and sequencing data needs to be
recorded so tools like page-turners can work.  So I'm wondering how the
structural information might be recorded in Fedora and how others
approached this.  

 

My thinking so far goes something like this ......

I've been trained in METS and I realise that I could have a METS
datastream that could be used to carry all the structural information
(I've attached two examples of different approaches I've been thinking
about) but I don't know if this is a good / workable / wise approach.
Or should I be using Content Architecture Models (which I have to
confess I don't really understand ... yet) to carry structure info?

 

Confused as every

Best wishes

Gill

PS Yesterday we successfully ran an automated mass test ingest of 200
simple objects.  We couldn't have done it without help from the Commons.
So thank you everyone!

---------------------------------------------------
Gill Hamilton
Systems Librarian
National Library of Scotland
George IV Bridge
Edinburgh EH1 1EW
Scotland, UK

e: [email protected]
skype: gill.hamilton.nls
t: +44 (0)131-623 3769
w: http://www.nls.uk <http://www.nls.uk/> 

 

***********************************************************************
Visit the National Library of Scotland online at www.nls.uk
***********************************************************************
Please consider the environment before printing this e-mail.

This communication is intended for the addressee(s) only. If you
are not the intended recipient, please notify the Information Services Helpdesk 
on +44 131 623 3789 or [email protected] and delete this e-mail. The 
statements and opinions expressed in this message are those of the author and 
do not necessarily reflect those of the National Library of Scotland. The 
National Library of Scotland is a registered Scottish charity. Scottish Charity 
No. SC011086. This message is subject to the Data Protection Act 1998 
and Freedom of Information (Scotland) Act 2002 and has been 
scanned by Webroot.
*********************************************************************** 

Follow us on Twitter for twice-weekly updates.
Become our fan on Facebook and keep up-to-date that way too.
<?xml version="1.0" encoding="utf-8"?>
<!-- GWH
Thinking behind this approach is just transport structure with METS 
datastream and use foxml to load all other datastreams.  
Could "manufacture" METS on the fly for DIP or not -->

<foxml:digitalObject VERSION="1.1" PID="nls:1112"
    xmlns:foxml="info:fedora/fedora-system:def/foxml#"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:schemaLocation="info:fedora/fedora-system:def/foxml#
    http://www.fedora.info/definitions/1/0/foxml1-1.xsd";>

    <foxml:objectProperties>
        <foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="A"/>
        <foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Complex object using only METS structMap"/>
        <foxml:property NAME="info:fedora/fedora-system:def/model#ownerId"
            VALUE="National Library of Scotland"/>
    </foxml:objectProperties>

    <foxml:datastream ID="DC" CONTROL_GROUP="X" STATE="A" VERSIONABLE="true">
        <foxml:datastreamVersion ID="DC.0" MIMETYPE="text/xml" LABEL="Dublin Core record">
            <foxml:xmlContent>
                <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/";
                    xmlns:dc="http://purl.org/dc/elements/1.1/";>
                    <dc:title>Gill's complex object test</dc:title>
                </oai_dc:dc>
            </foxml:xmlContent>
        </foxml:datastreamVersion>
    </foxml:datastream>
    <!-- GWH END file data stream for OAI_DC -->

    <!-- GWH BEGIN file data stream for MODS -->
    <foxml:datastream ID="MODS" CONTROL_GROUP="X" STATE="A" VERSIONABLE="true">
        <foxml:datastreamVersion ID="MODS.0" MIMETYPE="text/xml" LABEL="MODS record">
            <foxml:xmlContent>
                <mods:mods version="3.4" xmlns:mods="http://www.loc.gov/mods/v3";
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                    xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-4.xsd";>
                    <mods:titleInfo>
                        <mods:title>Gill's complex object test</mods:title>                     
                    </mods:titleInfo>
                </mods:mods>
            </foxml:xmlContent>
        </foxml:datastreamVersion>
    </foxml:datastream>
    <!-- GWH END file data streams for MODS -->
    
    <!-- GWH BEGIN file data stream for METS -->
    <foxml:datastream ID="mets" CONTROL_GROUP="X" STATE="A" VERSIONABLE="true">
        <foxml:datastreamVersion ID="mets.0" MIMETYPE="text/xml" LABEL="METS record">
            <foxml:xmlContent>
                <METS:mets 
                    xmlns:METS="http://www.loc.gov/METS/"; 
                    xmlns:xlink="http://www.w3.org/1999/xlink"; 
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
                    xsi:schemaLocation="http://www.loc.gov/METS/    http://www.loc.gov/standards/mets/mets.xsd";>
                    <METS:structMap TYPE="physical">
                        <METS:div TYPE="pamphlet" LABEL="Gill's pamphlet">
                            <METS:div TYPE="page" ORDER="1" LABEL="front cover">
                                <METS:fptr FILEID="f001"/>
                            </METS:div>
                            <METS:div TYPE="page" ORDER="2" LABEL="page 1">
                                <METS:fptr FILEID="f002"/>
                            </METS:div>
                            <METS:div TYPE="page" ORDER="3" LABEL="page 2">
                                <METS:fptr FILEID="f003"/>
                            </METS:div>
                        </METS:div>
                    </METS:structMap>
                </METS:mets>           
            </foxml:xmlContent>
        </foxml:datastreamVersion>
    </foxml:datastream>
    <!-- GWH END file data streams for METS -->

    <!-- GWH BEGIN file data streams -->
    <foxml:datastream ID="f001" CONTROL_GROUP="M" STATE="A" VERSIONABLE="true">
        <foxml:datastreamVersion ID="f001.0" MIMETYPE="application/pdf" LABEL="front cover pdf">
            <foxml:contentDigest TYPE="SHA-1"/>
            <foxml:contentLocation TYPE="URL" REF="file:/ingest/gilltest/f_001.pdf"/>
        </foxml:datastreamVersion>
    </foxml:datastream>
    
    <foxml:datastream ID="f002" CONTROL_GROUP="M" STATE="A" VERSIONABLE="true">
        <foxml:datastreamVersion ID="f002.0" MIMETYPE="application/pdf" LABEL="page 1 pdf">
            <foxml:contentDigest TYPE="SHA-1"/>
            <foxml:contentLocation TYPE="URL" REF="file:/ingest/gilltest/f_002.pdf"/>
        </foxml:datastreamVersion>
    </foxml:datastream>
    
    <foxml:datastream ID="f003" CONTROL_GROUP="M" STATE="A" VERSIONABLE="true">
        <foxml:datastreamVersion ID="f003.0" MIMETYPE="application/pdf" LABEL="page 2 pdf">
            <foxml:contentDigest TYPE="SHA-1"/>
            <foxml:contentLocation TYPE="URL" REF="file:/ingest/gilltest/f_003.pdf"/>
        </foxml:datastreamVersion>
    </foxml:datastream>
    <!-- GWH END file data streams -->
    
    <!-- GWH END relationships data stream -->
    <foxml:datastream ID="RELS-EXT" CONTROL_GROUP="X" STATE="A" VERSIONABLE="true">
        <foxml:datastreamVersion FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0"
            ID="RELS-EXT.0" MIMETYPE="application/rdf+xml" LABEL="relationships">
            <foxml:xmlContent>
                <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
                    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#";
                    xmlns:fedora="info:fedora/fedora-system:def/relations-external#">
                    <rdf:Description rdf:about="info:fedora/nls:1112">
                        <fedora:isMemberOfCollection rdf:resource="info:fedora/nls:100"/>
                        <fedora:isMemberOfCollection rdf:resource="info:fedora/nls:102"/>
                    </rdf:Description>
                </rdf:RDF>
            </foxml:xmlContent>
        </foxml:datastreamVersion>
    </foxml:datastream>
</foxml:digitalObject>
<?xml version="1.0" encoding="utf-8"?>

<!-- GWH
Thinking behind this approach is the METS document carries in 
ALL information for Fedora except RELS-EXT 
(I guess METS could actually carry relationships info too) 
and we programmatically 
- convert the METS:fileSec in to FOXML file datastreams 
 - and METS:dmdSec for MODS and DC etc into thier datastreams if we want that.
We load full METS as a datastream itself and it transports in all structural information too
    -->
<foxml:digitalObject VERSION="1.1" PID="nls:1113"
    xmlns:foxml="info:fedora/fedora-system:def/foxml#"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:schemaLocation="info:fedora/fedora-system:def/foxml#
    http://www.fedora.info/definitions/1/0/foxml1-1.xsd";>

    <foxml:objectProperties>
        <foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="A"/>
        <foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Complex object with Full METS"/>
        <foxml:property NAME="info:fedora/fedora-system:def/model#ownerId"
            VALUE="National Library of Scotland"/>
    </foxml:objectProperties>
    
    <!-- GWH BEGIN file data stream for METS -->
    <foxml:datastream ID="mets" CONTROL_GROUP="X" STATE="A" VERSIONABLE="true">
        <foxml:datastreamVersion ID="mets.0" MIMETYPE="text/xml" LABEL="METS record">
            <foxml:xmlContent>
                <METS:mets 
                    xmlns:METS="http://www.loc.gov/METS/"; 
                    xmlns:xlink="http://www.w3.org/1999/xlink"; 
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
                    xsi:schemaLocation="http://www.loc.gov/METS/ http://www.loc.gov/standards/mets/mets.xsd";>
                    
                    <METS:dmdSec ID="dmd1">
                        <METS:mdWrap MDTYPE="MODS">
                            <METS:xmlData>
                                <mods:mods 
                                    version="3.4" xmlns:mods="http://www.loc.gov/mods/v3";
                                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                                    xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-4.xsd";>
                                    <mods:titleInfo>
                                        <mods:title>Gill's complex object test</mods:title>                     
                                    </mods:titleInfo>
                                </mods:mods>
                            </METS:xmlData>
                        </METS:mdWrap>
                    </METS:dmdSec>
                    
                    <METS:dmdSec ID="dmd2">
                        <METS:mdWrap MDTYPE="DC">
                            <METS:xmlData>
                                <oai_dc:dc 
                                    version="1.1" 
                                    xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/";
                                    xmlns:dc="http://purl.org/dc/elements/1.1/";>
                                    <dc:title>Gill's complex object test</dc:title>
                                </oai_dc:dc>
                            </METS:xmlData>
                        </METS:mdWrap>
                    </METS:dmdSec>
                    
                    <METS:amdSec>     
                    </METS:amdSec>
                    
                    <METS:fileSec>
                        <METS:fileGrp USE="ingest">
                            <METS:file ID="f001" CHECKSUM="SHA-1" MIMETYPE="application/pdf">
                                <METS:FLocat LOCTYPE="URL" xlink:href="file:/ingest/gilltest/f_001.pdf"/>
                            </METS:file>
                            <!-- GWH programmitcally take each one and make a datastream of 
                                <foxml:datastream ID="f001" CONTROL_GROUP="M" STATE="A" VERSIONABLE="true">
                                <foxml:datastreamVersion ID="f001.0" MIMETYPE="application/pdf" LABEL="front cover pdf">
                                <foxml:contentDigest TYPE="SHA-1"/>
                                <foxml:contentLocation TYPE="URL" REF="file:/ingest/gilltest/f_001.pdf"/>
                                </foxml:datastreamVersion>
                                </foxml:datastream>
                            -->
                            <METS:file ID="f002" CHECKSUM="SHA-1" MIMETYPE="application/pdf">
                                <METS:FLocat LOCTYPE="URL" xlink:href="file:/ingest/gilltest/f_002.pdf"/>
                            </METS:file>
                            <METS:file ID="f003" CHECKSUM="SHA-1" MIMETYPE="application/pdf">
                                <METS:FLocat LOCTYPE="URL" xlink:href="file:/ingest/gilltest/f_003.pdf"/>
                            </METS:file>
                        </METS:fileGrp>
                    </METS:fileSec>
                    
                    <METS:structMap TYPE="physical">
                        <METS:div TYPE="pamphlet" LABEL="Gill's pamphlet" DMDID="dmd1">
                            <METS:div TYPE="page" ORDER="1" LABEL="front cover">
                                <METS:fptr FILEID="f001"/>
                            </METS:div>
                            <METS:div TYPE="page" ORDER="2" LABEL="page 1">
                                <METS:fptr FILEID="f002"/>
                            </METS:div>
                            <METS:div TYPE="page" ORDER="3" LABEL="page 2">
                                <METS:fptr FILEID="f003"/>
                            </METS:div>
                        </METS:div>
                    </METS:structMap>
                </METS:mets>           
            </foxml:xmlContent>
        </foxml:datastreamVersion>
    </foxml:datastream>
    <!-- GWH END file data streams for METS -->
    
    <!-- GWH END relationships data stream -->
    <foxml:datastream ID="RELS-EXT" CONTROL_GROUP="X" STATE="A" VERSIONABLE="true">
        <foxml:datastreamVersion FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0"
            ID="RELS-EXT.0" MIMETYPE="application/rdf+xml" LABEL="relationships">
            <foxml:xmlContent>
                <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
                    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#";
                    xmlns:fedora="info:fedora/fedora-system:def/relations-external#">
                    <rdf:Description rdf:about="info:fedora/nls:1113">
                        <fedora:isMemberOfCollection rdf:resource="info:fedora/nls:100"/>
                        <fedora:isMemberOfCollection rdf:resource="info:fedora/nls:102"/>
                    </rdf:Description>
                </rdf:RDF>
            </foxml:xmlContent>
        </foxml:datastreamVersion>
    </foxml:datastream>
</foxml:digitalObject>
------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Fedora-commons-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to