Git Product home page Git Product logo

i40-tools / i40kg Goto Github PK

View Code? Open in Web Editor NEW
64.0 13.0 24.0 42.33 MB

Contains the development for the Industry 4.0 standards knowledge graph (I40KG). Its current collaborative development is driven by VoCol - http://vocol.iais.fraunhofer.de/sto/

HTML 89.30% CSS 4.16% JavaScript 4.81% Shell 1.73%
industrial-automation standards-ontology standards industry-4 semantic-technologies rdf rdfs owl

i40kg's Introduction

The Industry 4.0 Standards Knowledge Graph (I40KG)

This repository host the development of the Standard Ontology. The Industry 4.0 Standards Knowledge Graph is used for describing standards and their relations. Characteristics of I4.0 standards are described and these descriptions are exploited for classifying standards from different perspectives according to reference architectures development in different regions. Moreover, semantics encoded in the Standard Ontology allows for the discovery of relations between I4.0 standards, and for mappings across reference architectures proposed by different industrial communities such as RAMI, IIRA, etc.

Documentation

https://i40-tools.github.io/I40KG/ provides the ontology documentation.

Reused Vocabularies

To build the Standard Ontology, as well as to populate it we have reused the following vocabularies
foaf, vcard, purl&dcterms, schema.org, dbpedia, cc, geonames, purl.

Reference Architectures

Reference Architecture Model for Industry 4.0 (RAMI 4.0)
Industrial Internet Reference Architecture

Standards Landscape for Smart Manufacturing Systems
National Smart Manufacturing Standards Architecture Construction Guidance

License

The I40KG is licensed under Creative Common License 3

i40kg's People

Contributors

arivasm avatar ashuaru avatar igrangel avatar m-tasnim avatar mmaltsev avatar mubeequreshi avatar paulbaptista avatar priyankananjappa avatar sebbader avatar spyroskou avatar tasneemrashid avatar thomasgilles85 avatar thomasgillescgi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

i40kg's Issues

Create class for ICS (International Classification for Standards)

Many technical specifications and standards have ICS which is used for classifying standards and normative documents in databases, libraries, etc. It is a hierarchical classification which consists of three levels, e.g. ICS 25.040.40. Level 1 covers 40 fields of activity in standardization, and there are sub-divided group in level 2 and level 3.

has Edition Property for the standard.

The documentation provided for dcterms:hasVersion is quoted below.
"Has Version: A related resource that is a version, edition, or adaptation of the described resource.
Notes: Dublin Core: This term is intended to be used with non-literal values as defined in the DCMI Abstract Model (http://dublincore.org/documents/abstract-model/). As of December 2007, the DCMI Usage Board is seeking a way to express this intention with a formal range declaration."

This is intended to be used with a non-literal value but I don't think it is defined as of now. My suggestion was to have our own sto:hasEdition Probaby just as a float value as of now.

No untyped individuals

Unless there is a specific reason, there should not exist individuals which type is only owl:NamedIndividual as in this example. The individuals should always contain an rdf:type declaring which class they belong.

To check/fix for syntax errors with VoCol

The ideal way to do it is by using Protégé before pushing. But even after that, you should check with VoCol to see the errors. For example, as you can check here there is an error in the current version. So please fix the error.

IEC TS 62832-1:2016

TO/DOs
Create:

  1. class for ICS (International Classification for Standards)
  2. object property hasICS
  3. instance of ICS (25.040.40)
  4. property for file size for IEC_TS 62832-1:2016
  5. instance of IEC_TS 62832-1:2016

has Classification Property

Can anybody help me with the meaning and the source of information for the value of the property "has Classification"?

TRF: Test Report Form of standards

Some standards has an information called TRF ( Test Report Form). This TRF is a publication type and has basic details like publication date, edition etc. For example this standard has a TRF.
Just a sample how TRF template may look like :
TRF template

Proper description of Licenses

The range of dcterms:license is the class dcterms:LicenseDocument. Values used with this property have to be instances of the class LicenseDocument and therefore non-literal values as in the following example.

1 - Create an instance of the license.

sto:GPLv2 a dcterms:LicenseDocument ;
  rdfs:comment "Published under Open Content License." ;
  skos:prefLabel "OCL 1.0" ;
  rdfs:seeAlso <https://opcfoundation.org/license/gpl.htm> .

2 - Link the standard with the created instance by using the dcterms:license property.
sto:IEC_62541 dcterms:license sto:GPLv2 ;

Licenses of standards MUST be changed in this way.

Why NIST concepts are included?

NIST concepts should not be part of the STO ontology. If the NIST Ontology does not exist then we should create a rather small ontology to represent this but never include so many concepts in the STO ontology, e.g., here.

has Available Language for Standards

We want to represent that the document for standard is in a certain language but dcterms:Language and dcterms:LinguisticSystem are dead ends. dcterms:Language just provides "Recommended best practice is to use a controlled vocabulary such as RFC 4646 [RFC4646]."

Modeling of relations with classifications and initiatives

A modeling example with OPC UA (IEC 62541)

sto:IEC_62541 sto:hasClassification sto:SCADALevel;
sto:SCADALevel a sto:StandardClassification;
sto:SCADALevel sto:isDescribedIn sto:ISA95;
sto:ISA95 a sto:StandarizationInitiative.
sto:IEC_62541 sto:hasClassification sto:Communication;
sto:Communication a sto:StandardClassification;
sto:Communication sto:isDescribedIn sto:RAMI40;
sto:RAMI40 a sto:StandarizationInitiative. 

sto-std-initiatives

Check consistency of the ontology with Protégé reasoner

The following errors occur when executing the reasoner on top of the ontology.
image
The properties sto:hasTitle and "sto:hasImplementationFormat" should be fixed, i.e., the rdfs:range should be changed to rdfs:Literal in order to support the @en annotation.

Improve the figures resulting of querying AutomationML

  1. To use the subfigure command in latex to put one figure next to the other and to show the contrast of one entailed relation, maybe in red.
  2. To make the caption of the figure consistent, i.e., AutomationML is described in the text and IEC 62741 is depicted in the figure.
  3. To highlight one entailed relation, IEC 64199 with IEC 62741 which is entailed based on the OPC UA, maybe in red.

Improving the README file.

Could you please improve the readme and provide a description of what is the ontology about. Its links in the web, i.e., VoCol, LOV, version, the other ontologies that are reused, etc?

Revision of hierarchy classes naming

Recently I noticed that some of the hierarchy classes in the STO have different names but seem to describe same things, e.g. rami:LifecycleStatus, rami:LifeCycle_Status and rami:Lifecycle_Status. Therefore, I propose to conduct a careful revision of the classification names and decide on some uniformed naming in each case.

Below, there is a full list of classes which names seemed suspicious for me:

sto:Product
sto:Prodcut

rami:LifecycleStatus
rami:Lifecycle_Status
rami:LifeCycle_Status

rami:Asst
rami:Asset
rami:Assest

rami:safety
rami:Safety

rami:Communication
rami:Communications

rami:ConditionMonitoring
rami:Conditional_Monitoring


rami:AdminShellGeneral
rami:GeneralAdminShell

rami:WorkCenter
rami:Work_Centers

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.