This page describes the use cases, requirements and draft specification for an Image Profile of RegRep4:

Vision

Use Cases Illustrated By Example CQL Queries

Here are example of a few use cases. Note that a query can contain multiple predicates using boolean operation AND, OR as defined by CQL.

Requirements

Specification

Image Context Set

The following are a subset of EXIF and IPTC metadata properties that have been identified as the indexes for a CQL Context Set for Image Resources. These will be used in left hand side of relations such as "=", "<" etc. in query predicates (e.g. exif.imageWidth < 100 ). Each such index name (e.g. exif.imageWith) will be used to match a slot with same name on the ExtrinsicObject for image resources.The slot value will be compared with the search term (right hand side of the relation as in 100 in exif.imageWidth < 100 ). The type of the Value element of the Slot will be defined by the type of the index in table below. For example int types will be mapped to IntegerValueType, string to StringValueType, etc.

Canonical Data Defined By Profile

<?xml version="1.0" encoding="UTF-8"?>
<SubmitObjectsRequest id="urn:oasis:names:tc:ebxml-regrep:request:id" 
                      xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0"
                      xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0"
                      xmlns:query="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0"
                      xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0"
                      xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0"
                      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                      xmlns:xlink="http://www.w3.org/1999/xlink"
                      xsi:schemaLocation="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0  http://docs.oasis-open.org/regrep/regrep-core/v4.0/cos01/xsd/lcm.xsd">
    <rim:RegistryObjectList>
        
        <rim:RegistryObject xsi:type="rim:RegistryPackageType" lid="urn:oasis:names:tc:ebxml-regrep:profile:image" id="urn:oasis:names:tc:ebxml-regrep:profile:image">
            <rim:Name>
                <rim:LocalizedString value="Image Profile"/>
            </rim:Name>
            <rim:Description>
                <rim:LocalizedString value="Folder for all objects defined by the Image Profile of ebXML RegRep."/>
            </rim:Description>
            <rim:VersionInfo userVersionName="1.0"/>
            <rim:RegistryObjectList>
    
                <!--
                ObjectType definitions.
                -->
                <rim:RegistryObject xsi:type="rim:ClassificationNodeType" parent="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExtrinsicObject" 
                    code="image" 
                    lid="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image"
                    id="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image">
                    <rim:Name>
                        <rim:LocalizedString value="image"/>
                    </rim:Name>
                    
                    <rim:ClassificationNode parent="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image" 
                        code="image" 
                        lid="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image:jpeg"
                        id="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image:jpeg">
                        <rim:Name>
                            <rim:LocalizedString value="jpeg"/>
                        </rim:Name>
                    </rim:ClassificationNode>
                    <rim:ClassificationNode parent="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image" 
                        code="image" 
                        lid="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image:gif"
                        id="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image:gif">
                        <rim:Name>
                            <rim:LocalizedString value="gif"/>
                        </rim:Name>
                    </rim:ClassificationNode>
                    <rim:ClassificationNode parent="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image" 
                        code="image" 
                        lid="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image:tiff"
                        id="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image:tiff">
                        <rim:Name>
                            <rim:LocalizedString value="tiff"/>
                        </rim:Name>
                    </rim:ClassificationNode>
                    <rim:ClassificationNode parent="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image" 
                        code="image" 
                        lid="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image:png"
                        id="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image:png">
                        <rim:Name>
                            <rim:LocalizedString value="png"/>
                        </rim:Name>
                    </rim:ClassificationNode>
                    
                </rim:RegistryObject>        
                
            </rim:RegistryObjectList>
        </rim:RegistryObject>
    </rim:RegistryObjectList>
    
</SubmitObjectsRequest>

Examples of Cataloging an Image Resource

A JPEG image file name OregonScientificDS6639-DSC_0307-irfanview.jpg us published described by an ExtrinsicObject of objectType urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image:jpeg. The server's Image Cataloger Plugin catalogs this resource such that each metadata property that matches an index if present is converted to a Slot with ValueType matching the data type for the index. In addition fileName is mapped to <rim:Name>.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RegistryObject xsi:type="ExtrinsicObjectType" mimeType="image/jpeg" lid="urn:test:ImageCataloger:testCatalogImage" objectType="urn:oasis:names:tc:ebxml-regrep:profile:image:ObjectType:image:jpeg" id="urn:test:ImageCataloger:testCatalogImage" xmlns:ns2="http://www.w3.org/1999/xlink" xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rim:4.0" xmlns:ns4="urn:oasis:names:tc:ebxml-regrep:xsd:rs:4.0" xmlns:ns3="http://www.w3.org/2005/08/addressing" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:spi:4.0" xmlns:ns6="urn:oasis:names:tc:ebxml-regrep:xsd:query:4.0" xmlns:ns7="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Slot name="exif.exifVersion">
        <SlotValue xsi:type="StringValueType">
            <Value>48 50 50 48</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.flash">
        <SlotValue xsi:type="IntegerValueType">
            <Value>0</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.xResolution">
        <SlotValue xsi:type="FloatValueType">
            <Value>72.0</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.meteringMode">
        <SlotValue xsi:type="IntegerValueType">
            <Value>1</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.make">
        <SlotValue xsi:type="StringValueType">
            <Value>Oregon Scientific </Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.focalLength">
        <SlotValue xsi:type="FloatValueType">
            <Value>8.64</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.fNumber">
        <SlotValue xsi:type="FloatValueType">
            <Value>2.8</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.exposureTime">
        <SlotValue xsi:type="FloatValueType">
            <Value>9.740892E-4</Value>
        </SlotValue>
    </Slot>
    <Slot name="urn:oasis:names:tc:ebxml-regrep:rim:RegistryObject:locators">
        <SlotValue xsi:type="CollectionValueType" collectionType="urn:oasis:names:tc:ebxml-regrep:CollectionType:List">
            <Element xsi:type="StringValueType">
                <Value>/images/iptc/1/OregonScientificDS6639-DSC_0307-irfanview.jpg</Value>
            </Element>
        </SlotValue>
    </Slot>
    <Slot name="exif.model">
        <SlotValue xsi:type="StringValueType">
            <Value>DS6639</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.resolutionUnit">
        <SlotValue xsi:type="IntegerValueType">
            <Value>2</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.orientation">
        <SlotValue xsi:type="IntegerValueType">
            <Value>1</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.software">
        <SlotValue xsi:type="StringValueType">
            <Value>Adobe Photoshop 7.0</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.imageHeight">
        <SlotValue xsi:type="IntegerValueType">
            <Value>300</Value>
        </SlotValue>
    </Slot>
    <Slot name="iptc.description">
        <SlotValue xsi:type="StringValueType">
            <Value>�</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.dateTime">
        <SlotValue xsi:type="DateTimeValueType">
            <Value>2008-07-13T21:05:34.000</Value>
        </SlotValue>
    </Slot>
    <Slot name="iptc.city">
        <SlotValue xsi:type="StringValueType">
            <Value>Princeton, NJ</Value>
        </SlotValue>
    </Slot>
    <Slot name="iptc.copyrightNotice">
        <SlotValue xsi:type="StringValueType">
            <Value>Value 1</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.yResolution">
        <SlotValue xsi:type="FloatValueType">
            <Value>72.0</Value>
        </SlotValue>
    </Slot>
    <Slot name="exif.brightnessValue">
        <SlotValue xsi:type="FloatValueType">
            <Value>9.0</Value>
        </SlotValue>
    </Slot>
    <Name>
        <LocalizedString value="OregonScientificDS6639-DSC_0307-irfanview.jpg"/>
    </Name>
    <RepositoryItem>...</RepositoryItem>
</RegistryObject>

Open Issues

References

documents/plan/regrep4/ImageProfile (last edited 2012-09-14 12:34:10 by farrukh)