Skip to content

Model Agents

Paolo Ciccarese edited this page Mar 31, 2014 · 9 revisions

< Reference Model

Annotopia manages Agents on the lines of what the Open Annotation Model specifies in the Agents section.

Person

For an agent of type Person here are the required fields:

{
     "@id":"...",
     "@type": "foaf:Person",
     "foaf:name":"John Doe"
}

Where the @id needs to be a URI or URN. If anonymity is not a requirement, the usage of global URIs such as ORCID is strongly encouraged.

Additional fields are allowed as well, they will be stored in the Annotopia server as RDF and exposed as maps in the Annotopia views. Here is a more complete and valid example:

{
     "@id":"...",
     "@type": "foaf:Person",
     "foaf:name":"John Doe"
     "foaf:homepage":"...."
     ...
}

Anonymized People

As the Annotopia is part of a distributed architecture, it might be interest of a connected system to keep the annotation data anonymized. Annotopia still needs the @id to work properly. Therefore the connected system can characterize people as follow:

{
     "@id":"...",
     "@type": "foaf:Person",
     "foaf:name":"Anonymous"
}

Where the @id can be an ID that is local to the connected system or even one that the connected system makes up and maps later on to the local ones.

Software

For an agent of type Software here are the required fields:

{
     "@id":"...",
     "@type":"prov:SoftwareAgent",
     "foaf:name":"Software name"
}

Where the @id needs to be a URI or URN. Additional fields are allowed as well, they will be stored in the Annotopia server as RDF and exposed as maps in the Annotopia views.

Anonymized Software

As the Annotopia is part of a distributed architecture, it might be interest of a connected system to keep the annotation data anonymized. The data related to the Software can be anonymized the same way that People are.