The Relationships Manager
Fedora 2.0 has new relationship features, which can be exploited to create complex and interesting graphs of digital objects within a repository. Unfortunately at present administration of these relationships is problematic due to the complex processes of adding and retrieving this relationship Metadata from the repository. The relationships are encapsulated in RDF XML Metadata and can be queried through ITQL or RDQL, which are both query languages but are not easy for end users to use. What is lacking is an application that will allow the intuitive creation and maintenance of these relationships. There should also be an easier way of building queries to retrieve relationship information from the repository. When investigating relationships in other repositories specifically DSpace it has become apparent that the relationship graphs can produce interesting results. One example is the work Cambridge is doing with coloration graphs between co-authorship papers. The link to the presentation given at the 2005 DSpace user group meeting is given below:
The process of creating links between objects in a base instillation of Fedora is by uploading a data stream named REL-EXTS, which contains RDF xml data. An example is shown below:
<rdf:RDF> <rdf:Description rdf:about="info:fedora/llgctest1:183"> <fedora:hasPart rdf:resource="info:fedora/llgctest1:175"/> <fedora:hasPart rdf:resource="info:fedora/llgctest1:176"/> <fedora:hasPart rdf:resource="info:fedora/llgctest1:177"/> <fedora:hasPart rdf:resource="info:fedora/llgctest1:178"/> <fedora:hasPart rdf:resource="info:fedora/llgctest1:179"/> <fedora:hasPart rdf:resource="info:fedora/llgctest1:180"/> <fedora:hasPart rdf:resource="info:fedora/llgctest1:181"/> <fedora:hasPart rdf:resource="info:fedora/llgctest1:182"/> </rdf:Description> </rdf:RDF>
The RDF is describing object llgctest1:183 and specifies it has 8 constituent parts llgctest1:175 through to llgctest1:182. As well as the relationship `hasPart`, there are a number of other relationships related to Fedora and these are defined in the schema located at:
Once the relationships are defined they need to be retrieved for either searching or viewing purposes. A query builder is distributed on a base fedora install and it gives an interface somewhat similar to a traditional SQL query. A typical query might be in the look like the following:
select $object from <#ri> where $object <fedora-rels-ext:isPartOf> <info:fedora/llgctest1:183>
There are two languages which can be used to retrieve relationships from the repository these are ITQL and RDQL. The above query could be run through the inbuilt query builder mentioned earlier at the following address:
Where fedora host and fedora port will need to be changed to fit the instillation location. The response can be in either plane text or XML formats. The technology behind the relationships is a Kowari triple store.
Tasks and functions
The software has three requirement groups:
- Relationship Builder Module
- Query Builder Module
- Graph Module
The relationships build module should be responsible for creating the relationships but also for allowing editing of links between objects.
The query builder should allow relationships to be retrieved from the repository and where possible display the corresponding ITQL to allow users to understand the complicated query language/
The graph module should display a comprehensive representation of how the repository is related.
It is perceived that cataloguers and repository administrators will update the relationships using this project.