Giter Club home page Giter Club logo

data-models's Introduction

Smart Data Models

Umbrella Repository for Data Models

Note: This Repository does not accept Pull Requests concerning Data Models. Pull Requests concerning Data Models shall be made against the corresponding subject Repository where the data model is located

**[22-12-2020] All specifications created automatically. Translations into French and Spanish available. Last news

🎯 Roadmap

The availability of widely adopted (de-facto standard) information models is key for creating a global digital single market of interoperable and replicable (portable) smart solutions in multiple domains (smart cities, smart agrifood, smart utilities, smart industry, …). Such models provide an essential element in the common technical ground needed for standards-based open innovation and procurement.

Data Models play a crucial role because they define the harmonised representation formats and semantics that will be used by applications both to consume and to publish data.

The FIWARE Foundation IUDX and TM Forum and other entities to join, are leading a joint collaboration program to support the adoption of a reference architecture and compatible common data models that underpin a digital market of interoperable and replicable smart solutions in multiple sectors, starting with smart cities.

The Reference Architecture and Data Models use the FIWARE NGSI API and TM Forum Open APIs for interoperability and scalability of smart solutions. The FIWARE Context Broker technology, implementing the FIWARE NGSI APIs (NGSI v2 and NGSI-LD), provides the basis for breaking information silos in organizations aiming at becoming smart. Actually, it enables a real-time (or close to real time, i.e., right-time) view and foundation for the development of governance systems at global organization level. Examples of such organizations include cities, factories, hospitals, airports, farms, etc.

Combined with TM Forum Open APIs, data publication platforms can support organizations to realise the potential of real-time (or right-time) open data, easing development of innovative solutions by third parties. In addition, organizations can evolve their current data sharing policies towards a vision which, shared with other organizations, brings support to a Data Economy. This way, the proposed Reference Architecture is ready to solve the needs of organizations today while future-proofing for tomorrow’s requirements.

This GitHub organization structure contains JSON Schemas and documentation on Smart Data Models for different Smart Domains. The following repositories are available:

  • data-models repository which is an umbrella repository that contains all the Data Models from different verticals (e.g., Parking, Street lighting, etc.). This Repository only admit Pull Requests for templates and general documentation and not for data models.

  • For each Domain (industrial sector) there is a Repository containing as submodules the link to the Subjects containing all the Data Models related. And some other shared elements for all the domain.

  • For each Vertical(Subject) there is a Repository containing the Data Models related to that vertical. These repositories do admit pull requests regardign data models.

General Principles

  • Driven-by-implementation approach: Specifications will be considered stable as soon as enough end user organizations (i.e., cities) have validated them in practice.

  • Open-closed. Breaking changes to already approved specs are not allowed. Instead, new versions shall deprecate attributes, add new attributes, extend enumerations, etc.

  • Public and royalty-free nature of specifications. Data Model Licensing mode. Preferred Creative Commons by Attribution 4.0

  • Open contribution. Contributions open to anybody (not only members), while final decision making corresponds to the administrators of the domains and Subjects. Steerin board could opposed to some contributions if it does not meet coding guidelines.

Lifecycle

Specifications evolve over time through versions generated by the contributors in the communities of every Subject. A minimum of a version each year is recommended. The parameter schemaVersion in the schema denotes the version.

The way to handle new Data Models is administrated by the different subjects and domains:

  • Steering board (currently FIWARE foundation, IUDX and TMForum) will check for the consistency and updating of the different data models in this group of repositories

How to contribute

Contributions should come in the form of pull requests made against the corresponding Vertical Data Model repository. An introductory presentation about it.

As an alternative it is also possible to request a new data model choose option new data model in the dropdown list.

A Data Model will contain the following artefacts in this structure:

  • dataModel/
  • README.md: Pointing to the schema, the specifications in different formats and languages, etc information This README.md is generated automatically
  • schema.json: The JSON Schema definition. It includes in the description of every property the type of property, the model, the valid values and some other elements according to the contribution manual
  • notes.yaml: Optional. File for customizing the specification of the data model.
  • LICENSE.md. Templated document with the text of the license default CC-BY 4.0
  • /doc. This directory contains the specifications of the data model. They are generated automatically out of the json schema.
  • /examples. This directory contains the examples for the different versions of NGSI standard and different formats. Example: schema.json of WeatherObserved - example.json: a JSON example file key values of NGSI v2 Example: example.json of WeatherObserved - example-normalized.json: An example file in NGSI v2 normalized format Example: example-normalized.json of WeatherObserved - example.jsonld: a JSON example file key values of NGSI LD Example: example.json of WeatherObserved
-   `example-normalized.jsonld`: A JSON example file in **NGSI-LD** normalized format
           Example: [example-normalized-ld.jsonld of WeatherObserved](https://github.com/smart-data-models/dataModel.Weather/blob/master/WeatherObserved/example-normalized.jsonld)
  • CURRENT ADOPTERS.md. Templated document with references a actual adoption of the data model.

Other files automatically generated

  • examplexxx.csv: Automatically generated examples of the data model exported to csv format and located in the /examples directory
  • model.yaml: Automatically generated model exported from schema.json. Only descriptions are completed manually (if not set in schema). Located in the root directory.
  • swagger.yaml: Automatically generated opbject to be visualized in swagger editor. Located in the root directory.

To facilitate contributions and their validation, we developed:

To achieve a better performance, we need to break down silo’s of data, ensuring that artificial intelligence can be applied across aggregated datasets and to ensure that individual citizen experience can be optimized across different services.

To achieve this, TM Forum and FIWARE launched this initiative, later IUDX has joined it which seeks to harmonize data models across Smart applications.

By agreeing across different communities, the common definition of smart data models, this will empower innovators and companies to develop solutions that adhere to this common definition and ultimately help enable interoperability of services.

A full list of the data models in json format can be found in the file official_list_data_models.json. A full list only for the repositories containing data models can be found in the file official_list_repositories.json

There are new data models in progress for the following areas:

A frontend web page provides global updates on the Smart data models.
Additionally there is a repository for drafting data models named incuabated where anybody (under request) can draft data models that later can submit by PR or any other method. This repo is uncontrolled but open to collaboration.

general contact mail contact

data-models's People

Contributors

albertoabellagarcia avatar fw-ops avatar jmcanterafonseca avatar jason-fox avatar dependabot[bot] avatar juanjohierro avatar caa06d9c avatar pchampin 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.