GithubHelp home page GithubHelp logo

fossabot / datamodels Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fiware/data-models

0.0 0.0 0.0 2.09 MB

Code and specifications to support harmonized data models

Home Page: http://schema.fiware.org

License: MIT License

Python 69.56% JavaScript 30.40% Shell 0.04%

datamodels's Introduction

FIWARE Data Models

FIWARE Core Context Management License: MIT License: CC BY 4.0 Documentation Build badge Support badge FOSSA Status

This repository contains:

  • JSON Schemas and documentation on harmonized datamodels for smart cities, developed jointly with OASC, and other domains.
  • code that allows to expose different harmonized datasets useful for different applications. Such datasets are exposed through the FIWARE NGSI version 2 API (query).

This work is aligned with the results of the GSMA IoT Big Data Project. Such project is working on the harmonization of APIs and data models for fueling IoT and Big Data Ecosystems. In fact the FIWARE datamodels are a superset of the GSMA Data Models.

All the code in this repository is licensed under the MIT License. However each original data source may have a different license. So before using harmonized data please check carefully each data license.

All the datamodels documented here are offered under a Creative Commons by Attribution 4.0 License.

JSON Schemas

We intend to provide a JSON Schema for every harmonized data model. In the future all the documentation could be generated from a JSON Schema, as it is part of our roadmap. The different JSON Schemas usually depend on common JSON Schema definitions found at the root directory of this repository.

There are different online JSON Schema Validators, for instance: http://jsonschemalint.com/. For the development of these schemas the AJV JSON Schema Validator is being used. For using it just install it through npm:

    npm install ajv
    npm install ajv-cli

A validate.sh script is provided for convenience.

Note: JSON Schemas only capture the NGSI simplified representation, this means that to test the JSON schema examples with a FIWARE NGSI version 2 API implementation, you need to use the keyValues mode (options=keyValues).

How to contribute

Contributions should come in the form of pull requests.

New data models should be added under a folder structured as follows:

The name of the folder should match the entity type used in the JSON Schema (e.g. NewModel). For data models including more entities, a hierarchical folder should be used. The father folder can include common JSON schemas shared among the entities. e.g.:

  • specs/
    • NewModel/
      • doc/
        • spec.md
      • README.md
      • newmodel-schema.json: the common schema for the different entities.
      • NewModelEntityOne/
        • doc/
          • spec.md
        • README.md
        • schema.json
        • example.json
      • NewModelEntityTwo/
        • doc/
          • spec.md
        • README.md
        • schema.json
        • example.json

To facilitate contributions and their validation, we developed a tool that is also used for the Continuous Integration of FIWARE Data Models. The FIWARE Data Model validator checks the adherence of each data model to the FIWARE Data Models guidelines.

For using it just install it through npm:

   npm install -g fiware-model-validator

More details are available in the validator documentation.

Related Projects

See:

License

FOSSA Status

datamodels's People

Contributors

10aboskin avatar aarranz avatar albernetr avatar caa06d9c avatar cayetanobv avatar chicco785 avatar fgalan avatar fisuda avatar fossabot avatar frdavid avatar gtorodelvalle avatar jason-fox avatar jmcanterafonseca avatar joaquincabezas avatar joudsi avatar juliozinga avatar mathi123 avatar sergiogarciag avatar victorvicente1 avatar

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.