Child pages
  • Fedora Resource Index

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added date range example

...

No Format
select count(
  select  $object
  from    <#ri>
  where   $object
          <info:fedora/fedora-system:def/relations-external#isMemberOfCollection>
          <info:fedora/iudl:10>
  )
from <#ri>
where $a $b $c

Get objects with models and created dates that were created in a specified date range:

No Format
select $object $model $created from <#ri> 
where  $object <fedora-model:hasModel> $model 
and    $object <info:fedora/fedora-system:def/model#createdDate> $created
and    $created <mulgara:after> '2015-12-01T00:00:00.000Z'^^<xml-schema:dateTime> in <#xsd>
and    $created <mulgara:before> '2016-01-01T00:00:00.000Z'^^<xml-schema:dateTime> in <#xsd>

Get all collection objects:

No Format
select  $object
from    <#ri>
where   $object
        <fedora-model:hasModel>
        <info:fedora/cmodel:collection>

...

Find the OwnerID for an item:

No Format

select  $ownerId
from    <#ri>
where   <info:fedora/iudl:200332>
        <info:fedora/fedora-system:def/model#ownerId>
        $ownerId

Count all non-deleted items in a collection:

No Format
select count(select  $object
from    <#ri>
where $object
    <info:fedora/fedora-system:def/relations-external#isMemberOfCollection>
    <info:fedora/iudl:10>
minus $object
        <fedora-model:state>
        <info:fedora/fedora-system:def/model#Deleted>)
from <#ri>
where $a $b $c

Find all Service Deployments

No Format
select $object from <#ri>
where  $object <fedora-model:hasModel> <info:fedora/fedora-system:ServiceDeployment-3.0>

Find all Service Deployments for a given content model (in this case, the cmodel:image content model):

No Format
select $object from <#ri>
where  $object <fedora-model:isContractorOf> <info:fedora/cmodel:image>

Find all deleted object:

No Format
select  $object
from    <#ri>
where   $object <fedora-model:state> <info:fedora/fedora-system:def/model#Deleted>

Find all collections that have an item exposed through OAI PMH: (NOTE: be sure to check "Force Distinct")

No Format
select $collectionPid
from   <#ri>
where  $item           <http://www.openarchives.org/OAI/2.0/itemID> $itemID
and    $item           <info:fedora/fedora-system:def/relations-external#isMemberOfCollection>
 $collectionPid

Find all image-derivative items in the slocum collection that aren't described by another object nor contain description themselves

No Format
select $image
from <#ri>
where $image <fedora-model:hasModel> <info:fedora/cmodel:image-derivatives>
and $image <info:fedora/fedora-system:def/relations-external#isMemberOfCollection>
 <info:fedora/iudl:14>
minus $image
 <info:fedora/fedora-system:def/relations-external#hasMetadata>
 $description
minus $image <fedora-model:hasModel> <info:fedora/cmodel:item-metadata>

Find all service definitions that aren't registered with a "hasService" relationship to another object.

No Format
select $object from <#ri>
where $object <fedora-model:hasModel> <info:fedora/fedora-system:ServiceDefinition-3.0>
minus $object2 <fedora-model:hasService> $object

 

Encoding queries as URLs

All RI queries must be URL-encoded (with a tool like this one) before being added to a behavior mechanism. To manually encode a query, make the following substitutions:

Original

Replaced

#

%23

$

%24

(

%28

)

%29

/

%2F

:

%3A

<

%3C

>

%3E

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="bd3a0ee3-1bad-42be-a1ed-815385730ed8"><ac:plain-text-body><![CDATA[ [space]

+

]]></ac:plain-text-body></ac:structured-macro>

Do not encode the parentheses around any parameters that you want Fedora to pass in. The encoded query should be placed after a suitable base URL like

No Format
http://fedora.dlib.indiana.edu:9090/fedora/risearch?type=tuples&lang=itql&format=Sparql&query=

...

No Format
http://fedora.dlib.indiana.edu:9090/fedora/risearch?type=tuples&lang=itql&format=Sparql&query=select+%24page+
%24sequence+from+%3C%23ri%3E+where+%24page+%3Cinfo%3Afedora%2Ffedora-system%3Adef%2Frelations-external%23
isPartOf%3E+%3C(objuri)%3E+and+%24page+%3Chttp%3A%2F%2Fdlib.indiana.edu%2Flib%2Fxml%2Finfrastructure%2F
rdfRelations%23sequenceNumber%3E+%24sequence&dummy=(NULLBIND)