[annotator-dev] NLP Interchange Format (NIF)

Sebastian Hellmann hellmann at informatik.uni-leipzig.de
Wed May 9 14:18:52 UTC 2012


On 05/09/2012 02:29 PM, Nick Stenning wrote:
> On Sun, May 6, 2012 at 8:10 PM, Sebastian Hellmann
> <hellmann at informatik.uni-leipzig.de>  wrote:
>> Hi all,
>> please have a short look at:
>> http://svn.aksw.org/papers/2012/WWW_NIF/nif_public_draft2.pdf
> Hi Sebastian,
>
> I've had a brief look at this. I think you might want to look into the
> work of the Open Annotation Collaboration
> (http://www.openannotation.org/), who are trying to build a semantic
> specification for annotations on the the web, and have just published
> their first beta specification:
>
>    http://www.openannotation.org/spec/beta/
>
I am familiar with the work of open annotation. They provide a generic 
way to represent annotations, which might be the "correct" way to model 
annotations.
However, the way they are annotating the web comes at a price: 1. it is 
difficult to understand 2. too many triples

>> I think the least you should do is to provide an RDF
>> Vocabulary for your annotations and a converter, that converts your JSON to
>> RDF and vice versa.
> I agree, and if you wish to contribute a converter for NIF, that would
> be great to have. My efforts towards any kind of semantic annotation
> endpoint, however, will almost certainly be focused on exposing
> annotations according to the OAC spec referenced above, as this seems
> to have developed a critical mass of support.
Would you consider several EU projects critical mass, also?
NIF can not exactly be considered standard 15 ( http://xkcd.com/927/ )
With the new 2.0 version (coming in some months), we will have stripped 
out anything that is overly complicated or superfluous to drive adoption.

Here is an example of NIF  based on your annotation format (the hash is 
fiction, as is your xpath):
https://github.com/okfn/annotator/wiki/Annotation-format


@prefix an:<http://annotateit.org/schema/>
<http://example.com#hash_10_27_i923ejueiljfdweo88_the%20text%20t>
     an:hasAnnotation<http://annotateit.org/annotations/4kcArX26So2gcQ8ZHpyMqQ>  ;
     str:anchorOf"the text that was annotated"  ;
     a str:StringInContext .

<http://annotateit.org/annotations/4kcArX26So2gcQ8ZHpyMqQ>
     an:text "A note I wrote" ;
     an:user "alice" ;
     an:created  "2011-05-24T18:52:08.036814"  ;
     an:updated"2011-05-26T12:17:05.012544"  ;
     an:tags"review"  ,  "error"  ;
     an:permissions [an:read "group:__world__"  ]  .
    


The syntax is Notation3 or Turtle, it might not be correct yet, but 
already close to what it might look like. I would consider that 
straightforward and something which can be implemented on a good night's 
honest work with a quarter case of beer. The hash part might be 
replacable with Xpointer or Xlink also in the future.
NIF is about doing things the Web + Linked data way. As I said, we 
stripped out anything, which might hinder adoption.
We also try to achieve compatibility to OpenAnnotation, so the formats 
can be converted into each other, that said, I looked at the open 
annotation spec several times and I am still unsure how to use it.
The examples are too generic, so I can not imagine yet, how the data 
will look like.

All the best,
Sebastian



-- 
Dipl. Inf. Sebastian Hellmann
Department of Computer Science, University of Leipzig
Projects: http://nlp2rdf.org , http://dbpedia.org
Homepage: http://bis.informatik.uni-leipzig.de/SebastianHellmann
Research Group: http://aksw.org





More information about the annotator-dev mailing list