Itql scripts
Contents
Normal ITQL Queries
Find Members of Collection
The following query finds object which have the 'isMemberOf' relationship to the colleciton 'collection:digitisation'
select $member from <#ri> where $member <fedora-rels-ext:isMemberOf> <info:fedora/collection:digitisation>
When the return format is set to CSV the output will be:
"member" info:fedora/llgc-id:183 info:fedora/llgc-id:226 info:fedora/llgc-id:108 info:fedora/llgc-id:196 info:fedora/llgc-id:182 info:fedora/llgc-id:221 info:fedora/llgc-id:178 info:fedora/llgc-id:150 info:fedora/llgc-id:215 info:fedora/llgc-id:225
Find Members of Collection and print dc:title
The following query finds objects which have a 'isMemberOf' relationship to he collection 'collection:digitisation' and displays the PID and title.
select $member $title from <#ri> where $member <fedora-rels-ext:isMemberOf> <info:fedora/collection:digitisation> and $member <dc:title> $title
When the return format is set to CSV the output will be:
"member","title" info:fedora/llgc-id:183,"[Revd D Williams, Llangollen] [graphic]." info:fedora/llgc-id:226,"[Revd J B Thomas and Mrs Thomas and family, St Clears] [graphic]." info:fedora/llgc-id:108,[A view of Nefyn from Holburn] [graphic]. info:fedora/llgc-id:196,"[Revd W Pierce, Rhosemor] [graphic]." info:fedora/llgc-id:182,"[Revd David Williams, Llangollen (CM)] [graphic]." info:fedora/llgc-id:221,[Revd Richards] [graphic]. info:fedora/llgc-id:178,[Revd W Jones (1889)] [graphic]. info:fedora/llgc-id:150,"[Revd D Williams, Penmorfa] [graphic]." info:fedora/llgc-id:215,"[Revd W Jones, Llanfair Caereinion (MC)] [graphic]." info:fedora/llgc-id:225,[Revd T Roberts] [graphic].
Find Property
If you added a property to the FOXML before ingest e.g.:
<foxml:objectProperties> <foxml:property NAME="http://www.w3.org/1999/02/22-rdf-syntax-ns#type" VALUE="FedoraObject"/> <foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> <foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Chapel Street, Oswestry, Methodist Church Autumn Fair"/> <foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2007-10-23T12:00:37.088Z"/> <foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2007-10-23T12:00:37.166Z"/> <foxml:property NAME="info:fedora/fedora-system:def/model#contentModel" VALUE="METS-VITAL02"/> <foxml:extproperty NAME="http://dev.llgc.org.uk/digitisation/identifiers/handle" VALUE="10107/34753"/> <foxml:extproperty NAME="http://dev.llgc.org.uk/digitisation/identifiers/original_name" VALUE=""/> <foxml:extproperty NAME="http://dev.llgc.org.uk/digitisation/identifiers/nlw_id" VALUE="WlAbNL003368990"/> <foxml:extproperty NAME="http://dev.llgc.org.uk/digitisation/identifiers/catalogue" VALUE="(WlAbNL)003368990"/> </foxml:objectProperties>
You can search these values using the following query
select $object from <#ri> where $object <http://dev.llgc.org.uk/digitisation/identifiers/nlw_id> 'WlAbNL003368990'
Where http://dev.llgc.org.uk/digitisation/identifiers/nlw_id is the name of a property and 'WlAbNL003368990' is the value.
Find Gutor Glyn manuscripts and show the children associated with the manuscript
select $member $child from <#ri> where $member <fedora-rels-ext:isMemberOfCollection> <info:fedora/collection:gutorglyn> and $member <fedora-model:hasModel> <info:fedora/model:parent> and $child <fedora-rels-ext:isPartOf> $member
Full Text Queries
For the following queries to work you need to change the auto full text property of the kowari configuration to true. Extract of fedora.conf is below:
<datastore id="localKowariTriplestore"> <comment>local Kowari Triplestore used by the Resource Index</comment> <param name="connectorClassName" value="org.trippi.impl.kowari.KowariConnector"/> <param name="remote" value="false"/> <param name="path" value="/home/fedora/version2.1.1/resourceIndex" isFilePath="true"/> <param name="serverName" value="fedora"/> <param name="modelName" value="ri"/> <param name="poolInitialSize" value="3"/> <param name="poolMaxGrowth" value="-1"/> <param name="readOnly" value="false"/> <param name="autoCreate" value="true"/> <param name="autoTextIndex" value="true"/> <param name="memoryBuffer" value="true"/> <param name="autoFlushDormantSeconds" value="5"/> <param name="autoFlushBufferSize" value="20000"/> <param name="bufferFlushBatchSize" value="20000"/> <param name="bufferSafeCapacity" value="40000"/> </datastore>
Then stop fedora and run fedora-rebuild from $FEDORA_HOME/server/bin. Select option 1 to rebuild the resource index. Then start fedora again.
Search DC in Collection
This query selects all objects with 'aberystwyth' in the dublin core title field in the collection with pid 'collection:jth':
select $member subquery(select $member from <#ri> where $member <fedora-rels-ext:isMemberOf> <info:fedora/collection:jth>) from <#ri-fullText> where $member <http://purl.org/dc/elements/1.1/title> 'aberystwyth'
When the return format is set to CSV the output will be:
"member","member" info:fedora/llgc-id:166,info:fedora/llgc-id:166 null,null info:fedora/llgc-id:405,info:fedora/llgc-id:405 info:fedora/llgc-id:958,info:fedora/llgc-id:958
I think the null,null is because there is an object with 'aberystwyth' in the dublin core title field but it is not part of the collection 'collection:jth'.