[IPython-dev] Notebook format "incompatible" changes

Nicholas Bollweg nick.bollweg at gmail.com
Wed Nov 5 10:59:37 EST 2014


Assuming @context were actually in /@context in the notebook, it could be
explicitly amended by using an array of contexts:

> "@context": [
>   "http://foo/bar/json.ld",
>   {" dc":"http://..."}
> ]
>
However, i'm not sure this assumption would be appropriate, as, for
example, the format doesn't include an explicit $schema... perhaps, again
in an nbconvert plugin.

For everything you described, i think you could just add an inline @context
to the /metadata or /cells/0/metadata. This will override any other meaning
of like-named terms in that object and its children. You can't use all
keywords, like @base and @vocab, though.

Your use cases are great: true to semantic nerd, I was thinking about
exploiting the data for learning about how people use the notebook, rather
than telling other exploiters what a given notebook means. With the
explicit metadata schema you describe, all the properties about the /
metadata or /cells/0/metadata, and not the notebook or cell, but then that
was the point of metadata: to keep the "wild west" out of the notebook and
cell roots.

As to the particular ontologies used: that's a whole other kettle of fish!
schema.org, doapl, foaf, dc, skos?!? I see the exposure of this to users
being a "Linked Data" nbextension, which in turn can offer different
notebook/cell-level metadata annotations. Once the metadata tag UI lands,
we'll have a better baseline for what this should be like.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20141105/2cf8d7a6/attachment.html>


More information about the IPython-dev mailing list