CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 48
Description
At the F2F we agreed that annotations (i.e., the value of the note
property in the metadata) is (an array of) annotation structures the way the Annotation Working Group defines them. For the simple mapping that would mean:
- JSON mapping just maps the annotations verbatim
- RDF mapping uses the fact that the Annotation Model is RDF, encoded in this case in JSON-LD, that can be mapped onto the output of the mapping.
However, this approach has a problem. The Annotation Model can indeed become very complex. This is still not a problem for the JSON mapping (because that does not care about the semantics). It may, however, become a problem for the RDF mapping; the only proper way of doing this would be to use a JSON-LD to RDF parser, ie, to include a major piece of software (which may or may not be available) into the conversion implementation. That may be considered to be too much.
What I would propose is to have a subset of the annotation model that we would accept in a metadata file. That would mean something like:
The value of the note
property can be (an array of)
- simple strings denoting a URI (pointing to a full annotation somewhere else, ie, in the Annotatio Model sense, an object of type
oa:Annotation
) - a (JSON object) with two required and one optional properties:
body
andtarget
:target
has a value that is supposed to be a URI (typically using the CSV Fragment id)body
has either a plain string as a value or a structure of the form{"@id": "uristring" }
. The latter is used when the body of the annotation is "remote"
--@id
with a URI value. This is optional.
That is it. CSV tools are required to understand and convert annotations of that form; anything else is optional.
The following example provides various types of annotations that must be accepted:
"note" : [{
"body" : "Simple textual note",
"uri" : "example.csv"
},{
"body" : {
"@id" : "myannotation.server.org/myann.json"
},
"uri" : "example.csv#row=1"
}],
But, for example, the following, valid annotation taken from the annotation document is not necessarily recognized by a CSV tool when converting it to RDF:
{
"@id": "https://example.org/anno1",
"@type": "oa:Annotation",
"body": [
{
"@id": "https://example.org/body1"
},
{
"@type": "oa:Tag",
"value": "paris"
}
],
"target": [
{
"@id": "https://example.org/target1",
"@type": "dctypes:Image"
},
{
"@id": "https://example.org/target2",
"@type": "dctypes:Sound"
}
]
}
Thoughts?
Ivan