Post

The motivation is pretty simple. There are tons of linguistic annotation formats, and they don't really talk to each other. If you want to use annotations from one tool in another, you end up writing conversion scripts that inevitably break on edge cases.

On top of that, most annotation data lives in isolated repositories on centralized services, and there's no standard way to link annotations to the experiments that produced them or other signals (e.g. neural recordings) they were collected alongside. Layers tries to address both of these problems.

The core idea is a small set of shared primitives (anchors, selectors, feature maps) that all data types compose from. Expressions are recursive: a document contains paragraphs, which contain sentences, which contain words, which contain morphemes. Annotations attach to any level of that hierarchy.

The format doesn't commit to any particular tagset or theoretical framework. Whether you work in UD, HPSG, LFG, or Minimalism, your labels and categories are data values within the schema, not baked into it. The same primitives represent your annotations regardless of formalism.

If you do fieldwork or language documentation: the same schema that handles treebank annotations also handles interlinear glossed text, ELAN-style time-aligned tiers, and multimodal alignment across audio, video, and images. All linked to the same expressions and living in your own PDS.

For computational linguistics and NLP, the goal is a common interchange format you can import training and evaluation data through. The docs cover how Layers subsumes a bunch of data models (CoNLL, brat, ELAN, TEI, AMR, LAF/GrAF, and others), and the plan for the appview is adapters from each.

Beyond annotation, Layers covers psycholinguistic and neurolinguistic signals: eye-tracking fixations, EEG/ERP waveforms, MEG sensor data, fMRI activations. These use the same anchoring and annotation primitives as text, just with temporal and spatial selectors.

Layers also covers offline judgment experiments with four orthogonal design dimensions (what you measure, the response instrument, how stimuli are presented, and what captures the data) and annotation project design metadata for things like annotator redundancy, adjudication, and quality criteria.

For knowledge representation, there's a typed property graph (pub.layers.graph) that works similarly to how @chive.pub does its knowledge graph with pub.chive.graph.*. Annotations ground to Wikidata, FrameNet, WordNet, PropBank, and so on through knowledgeRef links.

Layers is a sister project to @chive.pub. The idea is bidirectional linking between annotation resources and eprints: datasets link to the papers that describe them, and papers link back to their data. This works with eprints on Chive and other repositories.

The plan is for community governance to follow @chive.pub's approach. All the enums (annotation kinds, tagsets, categories, formalisms) are community-expandable. Anyone can mint new ones by publishing ontology records in their own PDS without any schema changes on our end.