compared with
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (17)

View Page History
- Search: doesn't need to be tracked

h2. Use Case

In the first tab of a Museum Object (Object Details), we want to show all related annotations and forum posts. Related annotations/posts for an object are the ones that mention it, or one of its fields
!related_objects.png!

h2. Link Types

{code}

|| Link CSS Class || Item Type || Sample URL || Note ||
| linkMO | rso:FC70_Thing | [http://collection.britishmuseum.org/id/object/RFI41407] | Museum Object |
| linkStatement | rdf:Statement | [http://www.researchspace.org/st/2] | [Annotation Point|Annotation Design#Annotation Point] |
| linkImageAnnotation | rso:ImageAnnotation | [http://www.researchspace.org/DT219363.tif/annot/1] | [Image Annotation|Image Annotation Design#Example] |

h2. Annotations and Posts Linking an Object

In the first tab of a Museum Object (Object Details), we want to show all related annotations and forum posts. Related annotations/posts for an object are the ones that mention it, or one of its fields its fields.
!related_objects.png!

h2. Definition of Link

h2. Linked Object
An annotation/post Links to an object ?obj iff: there is an ?uri in the free-text such that:
|| Link to || Conditions || Notes ||
| object itself | ?uri a rso:FC70_Thing. ?uri=?obj |
| *Property* | *Notes* |
| rdf:type | rso:Link (new class) |
| oac:hasBody | oac:Body (for annotations) or rso:Forum (for a post)
- For annotation: points to the oac:Body of the annotation. The annotation text is stored in oac:hasBody/rso:P3_has_description.
| oac:hasBody | rso:DataAnnotation or rso:ImageAnnotation or rso:Forum
- For annotation: the free text linking the object is in in oac:hasBody/oac:hasBody/rso:P3_has_description.
- For forum post: they are stored in jForum, not OWLIM. We generate URIs like [http://www.researchspace.com/forum/123] (where 123 is the forum ID), and mark the URI with rso:Forum (new class) |
| oac:hasTarget | ?uri pointing to one of the [#Link Item Types] |
| rso:root | if ?uri matches one of the conditions in [#Definition of Link], the respective rso:FC70_Thing |
| oac:hasTarget | rso:FC70_Thing matching one of the conditions in [#Linked Object]

{warning}
This model links to oac:Body of annotation, with the idea that's most similar to forum, because the text is stored in the body.
The other option would be to link directly to annotation. Let me know if that's more convenient, and I'll rework the model{warning}

h2. Link Data Example

{noformat}
<link/1> a rso:Link;
oac:hasBody <object/123/annot/23/body>;
oac:hasTarget <object/456>;.
rso:root <object/456>.

<forum/123> a rso:Forum;
<link/2> a rso:Link;
oac:hasBody <forum/123>;
oac:hasTarget <object/456/annot/45/body>; <object/456>.
rso:root <object/456>.

<link/3> a rso:Link;
oac:hasBody <pic.tif/annot/67/body>;
oac:hasTarget <st/56>; <object/456>.
rso:root <object/456>;
{noformat}
All these statements (including "a rso:Forum") need to be created