A JSON Schema implementation of the ANSI/ISA-95 and ANSI/ISA-88 standards.
An JSON implementation of the ANSI/ISA-95, Enterprise-Control System Integration, family of standards (ISA-95), known internationally as IEC/ISO 62264. Rhize ISA-95/ISA-88 JSON Schema consists of a set of JSON schemas written using the JSON Schema's Schema language (2020) that implement the data models in the ISA-95 standard.
This JSON schema is intented be used for design for syncrhonous and asynchronous APIs.
Based on the works of https://github.com/MESAInternational/B2MML-BatchML.
| Acronynm | Description | 
|---|---|
| ANSI | American National Standards Institute | 
| API | Application Programming Interface | 
| B2MML | Business to (2) Manufacturing Markup Language | 
| BatchML | Batch Markup Language | 
| BOD | Business Object Document | 
| ISA | International Society of Automation | 
| IEC | International Electrotechnical Commission | 
| JSON | JavaScipt Object Notation | 
| XML | eXensible Markup Language | 
| XSD | eXtensible markup language Schema Definition | 
The JSON schema can be used to validate JSON file content and can be referenced multiple ways.
Using https://json.libremfg.ai
For convenience, Libre Technologies Inc. hosts the schema at https://json.libremfg.ai/.
{
    "$schema": "https://json.libremfg.ai/schemas/v2.0.1.equipment.schema.json",
    "Equipment": {
        "ID": "Hello World"
    }
}
You can clone this repository and use file references to the schema.
- Clone this respository to a directory for example git clone https://github.com/libremfg/json-schema ~/json-schema
- Create a new file touch ~/equipment.json. Edit the file with:
{
    "$schema": "~/json-schema/schemas/v2.0.1.equipment.schema.json",
    "Equipment": {
        "ID": "Hello World"
    }
}You can use the JSON schemas for validating ISA-95 based data exchanges. Here's an example of how to use it with a validation tool like Ajv:
const Ajv = require("ajv");
const schema = require("./path/to/json-schema/v2.0.1.equipment.schema.json");
const ajv = new Ajv();
const validate = ajv.compile(schema);
const valid = validate(data);
if (!valid) {
  console.log(validate.errors);
}Contributions are welcome! Here's how you can get invovled:
- Fork the repository.
- Create a new branch for your feature or bugfix: git checkout -b feature-name. Following conventional commits is appreciated but not required.
- Commit your changes: git commit -m "Add a new feature"
- Push your branch: git push origin feature-name
- Create a Pull Request.
If you encounter any bugs or want to suggest enhancements, please open an issue and provide detailed steps to reproduce the problem or your enhancement proposal.
Rhize ISA-95/ISA-88 JSON Schema is distributed under AGPL-3.0-only.
- Based on the works of MESA International.
- Contributions from the ISA-95 and ISA-88 community are appreciated.
Copyright 2025, Libre Technologies Inc.