Hi there
Fedora uses the RELS-EXT datastream directly when evaluating which content
models an object belongs to, so the relationship will need to be present in
the RELS-EXT datastream, and not just in the resource index.
I'm not sure that I understand why you can't define the relationship in the
file you are ingesting? If the ingest file defines the PID then you can add
a RELS-EXT datastream to define the relationship.
If however your objects don't have PIDs on ingest (ie they are automatically
assigned) then this does cause issues.
Possible resolutions for this are:
- use getNextPID to get a set of PIDs to use in the files you ingest, you
will then be able to add the appropriate relationship in RELS-EXT
- after you have ingested your objects use the relationships API method to
add the CModel relationship (as by this point the objects will have a PID).
Regards
Steve
-----Original Message-----
From: Zheng Li [mailto:loyl...@gmail.com]
Sent: 07 March 2011 09:26
To: fedora-commons-users@lists.sourceforge.net
Subject: [fcrepo-user] [Diringest ]Help with crules.xml definingrelationship
with FIXED target
Hi, everyong!
I am using diringest to ingest objects (books, volumes and pages), and I
want to find a way to automatically generate the relationship "hasModel" for
every object (the models have been already defined).
For crules, it is quite easy to generate the relationship between objects
according to the hierarchy in StrutMap. However, it seems not so possible to
fix a value to the target of a relationship, because the primitiveRel is
restricted to "tree:parent", "tree:child", "tree:ancestor" and
"tree:descendant".
I have tried several ways to deal with it:
1. Hardcoding the "hasModel" in METS.xml. It doesn't work becauce I have
to use crules to define the id "RELS-EXT" for this kind of node, and there
will be a "name conflict" (I guess) with the other rules. In other words,
relationship in METS.xml and crules.xml can't be merged together.
2. Using models as objects. Although I have modified the source code to
allow customized PIDs (as diringest uses getNextPIDs the assign PIDs), this
solution is aweful and dramatically increase the difficulty of writing
METS.xml files.
The ideal way, I think, is to generate the relationship "hasModel" only
depending on the nodeType and some rules in crules.xml.
Any idea for that?
Thank you!
LI Zheng
------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
Fedora-commons-users mailing list
Fedora-commons-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users