We are working on an OAC experiment with Fedora that aims to provide some basic OAC functionality without requiring any additional overhead (e.g. additional indexers, etc.).
In our sandbox, we're creating Fedora objects for annotations (A-1 in the spec), and optionally creating objects for the body and target (B1 and T1). This is all fine, but if the target is a fragment of a larger resource (Figure 7-1 in the spec), the spec says to link it to the parent object via dcterms:IsPartOf. The problem in our implementation is that, as far as I know, Fedora's RDF index only handles two "flavors" of RDF: RELS-EXT (relationships to other resources) and RELS-INT (relationships between parts of the object). As far as I know, the built-in indexer won't pick up RDF data stored in any other datastreams. We can safely put most of the OAC relationships in the A1 object's RELS-EXT. However, if the target is a fragment, and the fragment itself is not a Fedora object, then there is no place to hang the the assertion that the fragment is part of the larger object.
The RELS-EXT has a rule that only one rdf:Description statement can exist within it, so it doesn't seem like we can add the Fragment->IsPartOf->Whole relationship to the A-1 RELS-EXT. It is possible to make the assertion within the rdf:Description about A1, but that is semantically incorrect, since we aren't trying to say that the annotation (A1) is a part of the larger resource.
In the case of targets that are actually Fedora objects, I have tried putting the relationship into the RELS-INT of the target object. However, in that case we run into the problem that any subject within the RELS-INT has to be a resource that is a dissemination or datastream of the object. A fragment identifier such as URI#foo is not valid unless it is explicitly built into the model for that object.
So, given these constraints, I'm wondering if there is any obvious and OAC-friendly way to make the link between the fragment and the whole object. I considered using oac:Annotates to link A-1 to the larger resource, but it appears that is intended to provide a direct link between the Target and Body. I'd prefer not to involve a stand-off indexer because the purpose of this experiment is to make it easy to deploy OAC in Fedora.
Any ideas?
Thanks, Andy