Closed amoeba closed 4 years ago
Glad to see you making progress with the interface!
Do you like the tabular display or does a tag-like display still make sense?
Is there an instance of the tagging display up somewhere so we can make comparisons? I think I've only seen screenshots of the tag interface and not a version with working annotations.
From what I see in the tabular display, you probably will need a 'Subject' column to indicate the subjects for the eml/additionalMetadata
and eml/annotations
annotations. It's hard to tell what the bottom two tables are annotating, especially because the subjects are referenced by their id and can come from different areas in the EML doc. I also think there needs to be a more noticeable indicator showing that the annotations are clickable, rather than just having the mouse cursor transform into a finger when hovering over an annotation.
What info info should go into the popovers? I thought a definition for the term and a link out to more info made the most sense.
For a start, I say definition, URI, and labels (i.e. rdfs:label, alternative, preferred).
Is there value in a document-wide list of annotations? Essentially a list of triples?
I can't think of any additional value at the moment, particularly if we stick with the tabular interface.
How do we look up or help the user look up more info about terms not indexed in Bioportal? I think at least linking to the concept helps. Ontology repositories are somewhat scattered at the moment so picking a happy path like Bioportal seems practical the moment.
Need to think about this one a little more.
Bryce-- thanks for putting this together. I've embedded comments inline in your text, [ MPS: bracketed as such ]
Regarding Bioportal-- I did look-over the ESIP Fed's COR and their API seems pretty minimal. On the other hand, the API for the OLS (Ontology Lookup Service) seems pretty feature-full:
https://www.ebi.ac.uk/ols/docs/api
OLS is open-source. Maybe worth discussing a bit...
@stevenchong
Is there an instance of the tagging display up somewhere so we can make comparisons? I think I've only seen screenshots of the tag interface and not a version with working annotations.
We can nearly implement the above as-is, minus some of the details related to the external part of those annotations.
Re what I said above,
Is there value in a document-wide list of annotations? Essentially a list of triples?
One thing I'm seeing as I develop and test this is that you can't use your browser's Find feature to find all attribute annotations because our display hides them so I could see some value in a document-wide list but it'd still feel a bit unwieldy.
I've got an Invision mockup I'd like to go over tomorrow if we have time to discuss some of your and @mpsaloha 's comments.
After some very useful discussions, I've added a more complete mockup in a new Invision freehand: https://projects.invisionapp.com/freehand/document/SRsCkLoYa. I'll be soliciting feedback directly with folks but wanted to pop it in here for others.
I've been bad about updating this but the code is all in my branch and I'm merging PR'ing this week.
Current look:
We got some feedback this week on the arctic semantics call which I mocked up here and could use feedback on: https://projects.invisionapp.com/freehand/document/BKyTUhZ7C
Closing since this was shipped, see #1055.
EML 2.2.0 adds support for semantic annotations. We're in the process of writing up docs for them in a primer. The new XML looks like
These can be child elements of the
eml
element (meaning they apply to the whole record), any direct child (e.g., dataset), meaning they can apply to the dataset, entities, attributes, and also inadditionalMetadata
which essentially allows arbitrary RDF triples [MPS: we haven't defined how to enter an "arbitrary Subject" of a Triple into an EML doc!] to be inserted. BothpropertyURI
andvalueURI
are required, and so arelabel
attributes for both.The previous interface for annotations focused on a tagging interface which displays annotations as tags like on a bookmarking site. This paradigm doesn't quite fit as the new annotations are implicitly RDF triples (subject, predicate, and object). I think a higher level discussion is in order but I wanted to write up my current implementation so we can discuss the current direction and go from there.
The overall goal of semantic annotations in EML 2.2.0 are to let us be more specific about the meaning or identity of EML field fillers, than EML otherwise provides. I think the landing page user interface should help the metadata viewer in this way.
I decided that a fairly literal tabular display makes the most sense. Literal in the sense that the annotations display in a table in the place where they are located in the XML. And the table, then, can be scrolled and searched if desired because it's tabular. I also decided we needed to bring in more information about the annotated properties and values like
rdfs:labels
or other info. [MPS: yes! definitely need to display text in rdfs:label info, but also display or ready-access to-- rdfs:comment, and potentially skos:altLabel-- maybe more]I have a clunky demo up at https://neutral-cat.nceas.ucsb.edu/view/afca2e67-58fe-442a-8765-2cbb6a348e37 and you can see (1) the annotations displayed as tables in the various locations annotations can show up. No need to comment on some of the basic display issues as of yet but I am looking for high level feedback. You can see the external lookup feature in action:
When the user clicks a concept:
Lookups from Bioportal are cached locally so multiple lookups for the same concept are instantaneous. For a first pass, I loaded the
definition
which is a Bioportal API thing. We should discuss what all should go in the popover [MPS-- what RDF/OWL structure does Bioportal use to populate "definition"? ]. With this approach, we can include anything in the XML itself and also in this response:Questions:
Do you like the tabular display or does a tag-like display still make sense? [MPS: I like the tabular display, although I think its presentation could be improved. But in general, I'm also hoping we can get a lot denser information display of attributes in general-- even in your examples there is major white-space of unfilled fields -- and many of these attributes might not be of interest. I think the semantic tags will be a strong clarifier for what an attribute "is", and then a scientist can drill in for more detail (if it is even available) ]
What info info should go into the popovers? I thought a definition for the term and a link out to more info made the most sense. [ MPS: we need to discuss this for sure! There is no standard field for "definition" in RDF, RDFS, SKOS, or OWL-- though some vocabularies do have such a term, e.g. DC:definition or schema.org:description ]
Is there value in a document-wide list of annotations? Essentially a list of triples? [ MPS this is an interesting idea that we should discuss. Currently the "search" for relevant entities or attributes in a package can be very exhausting and inefficient ]
How do we look up or help the user look up more info about terms not indexed in Bioportal? I think at least linking to the concept helps. Ontology repositories are somewhat scattered at the moment so picking a happy path like Bioportal seems practical the moment. [* MPS: there are a few other candidate ontology portals for us, including Ontobee and COR. But if terms are not stored in an Onto Repo such that we can leverage an API to do some services for us (e.g. subsumption expansion)-- then minimally we have to expose an rdfs:label and maybe more if it exists (e.g rdfs:comment, etc.)