Code Monkey home page Code Monkey logo

neuroshapes's Introduction

Join the chat at https://gitter.im/INCF/neuroshapes Build Status GitHub release

Note

This is the new simplified structure of Neuroshapes. A v0 branch is available to work with the previous schemas format.

Welcome to Neuroshapes

The goal of Neuroshapes is the development of open, use case driven and shared validatable data models (schemas, vocabularies) to enable the FAIR principles (Findable, Accessible, Interoperable and Reusable) for basic, computational and clinical neuroscience (meta)data. The data models developed thus far entities for electrophysiology, neuron morphology, brain atlases, in vitro electrophysiology and computational modeling. Future developments could include brain imaging, transcriptomic and clinical form data, as determined by community interests.

Table of contents:

Goal

The main goal is to promote:

  • the use of standard semantic markups and linked data principles as ways to structure metadata and related data: the W3C RDF format is leveraged, specifically its developer friendly JSON-LD serialization. The adoption of linked data principles and JSON-LD will ease federated access and discoverability of distributed neuroscience (meta)data over the web.

  • the use of the W3C SHACL (Shape Constraint Language) recommendation as a rich metadata schema language which is formal and expressive; interoperable; machine interpretable; and domain agnostic. With SHACL, (meta)data quality can be enforced based on schemas and vocabularies (easily discoverable and searchable) rather than being fully encoded in procedural codes. SHACL also provides key interoperability capabities to ensure the evolution of standard data models and data longevity. It allows to incrementally build standard data models in term of semantics and sophistication.

  • the reuse of existing schemas and semantic markups (like schema.org) and existing ontologies and controlled vocabularies (including NIFSTD - NIF Standard Ontologies)

  • the use of W3C PROV-O recommendation as a format to record (meta)data provenance: a SHACL version of the W3C PROV-O is created.

Also, Neuroshapes aims at creating a community for an open and use case driven development of not only data models (schemas and vocabularies) and tools around them but also guidelines for FAIR neuroscience (meta)data.

Tutorials

Please check out our tutorials:

Adoption

The following projects have adopted Neuroshapes:

Formats and standards

All schemas in this repository conform to the W3C SHACL recommendation and are serialized using JSON-LD. For practical reasons, the defined schemas are combined in an envelop (an ontology actually) that conforms to Nexus KG schema format.

Testing shapes with examples

Two different tests are executed in the unittest. The first test validates that schemas conform with the SHACL specifications. The second tests consist of having valid and invalid data samples that are going to be tested against the modeled shapes. These examples are placed in the examples directory and follow the directory structure of the shape they should be tested against.

|-- examples
|   |-- neurosciencegraph
|   |   |-- datashapes
|   |   `-- commons
|   |       `-- list
|   |           |-- schema.json
|   |           `-- examples
|   |               |-- datashapes.json 
|   |               `-- valid
|   |               |   `-- recipe_ingredients_list.json 
|   |               `-- invalid
|   |                   `-- recipe_missing_ingredients.json
|   `-- prov     
`-- ...

Tests require python > 3.6, and pytest. To run them follow next:

# create your virtual environment and activate it
python3 -m venv env
source env/bin/activate
# install requirements
pip install pytest pyshacl
# run tests
pytest

To test a set of shapes inside shapes directory, an optional argument can be used:

pytest --testdir=shapes/neurosciencegraph/datashapes/atlas

Roadmap

  • Creation of an INCF/neuroshapes Special Interest Group
  • INCF endorsement as a standard and best practice that support FAIR neuroscience data
  • Extension of the current data model specifications

License

The license for all schemas and data is CC-BY-4.0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.