
An Alternative CIM Modeling Approach using JSON-LD Authors: Milan Gavrić, Kosa Nenadić Presented by: Milan Gavrić, Ph.D. [email protected] Head of Systems Integration Department Content Typical CIM Modeling Approach RDF Serialization Formats JSON-LD Proposed CIM Modeling Approach ENTSO-E IOP Use Case Schneider Electric DMS NS 2 Integrations Need Standards „Standards are great. Everyone should have one.“ – Bob Metcalfe Research project, in cooperation with the Faculty of Technical Sciences, Novi Sad, Serbia Schneider Electric DMS NS 3 Integrating Utility Systems Schneider Electric DMS NS 4 Two Main Aspects of CIM Applicability Network Model Exchange ● RDF based modeling approach ● Standard-based, well defined, IOP tests performed on yearly basis ● Different serialization approaches, mostly CIMXML ● Introducing of CIM specifics in RDFS ● Limited validation capabilities ● Siloed approach – model parts ● Limited standardized reasoning capabilities ● Focus on Full Models Message Exchange ● SOAP based messages ● Standard-based, well defined, but issues with IOP tests ● XML payload with defined XSDs Schneider Electric DMS NS 5 Typical CIM Modeling Approach CIM UML RDFS - schema specification language expressed using RDF used to govern information exchanged within a specific business exchange context. extends CIMXML serialization format (subset of RDF) Extensions UML ● Both machine and human readable, primarily intended for programmatic access restricts ● Can be accessed by any tool that supports the DOM ● Self-describing Profiles ● Takes advantage of current W3C recommendations. RDFS CIM Datasets (Instance Files) that are Model Part * uses content normally contain ‘dangling references’ . RDFS maintains CIM and Extension namespaces CIMXML * Using the Common Information Model for Network Analysis Data Management: A CIM Primer Series Guide. EPRI, Palo Alto, CA: 2014. 3002002587. Schneider Electric DMS NS 6 Typical CIM Modeling Approach Extensions 2 2 1 1 CIM Profile Profile CIM CIM Profile Profile CIM CIM defined with defined with Profile 1 Profile 2 CIM RDFS CIM RDFS #URI #URI references using references using Model.profile Model.profile Model 1 references using Model 2 CIMXML Model.DependentOn CIMXML #UUID #UUID Schneider Electric DMS NS 7 ENTSO-E CIM Modeling Approach ENTSO-E Extensions Assembled Power System Model = Combined instance files from different models EQ Profile EQ ● MAS files EQ, SSH, TP, Profile SSH DY, GL grouped in .zip CIM ● Boundary MAS files defined with defined with OCL used for handling defined constraints EQ Short Circuit SSH CIM RDFS CIM RDFS #URI #URI references using references using Model.profile #URI Model.profile #URI EQ Model 1 references using SSH Model 1 CIMXML Model.DependentOn #URI CIMXML #UUID #UUID MAS files zipped Schneider Electric DMS NS 8 ENTSO-E CIM Modeling Approach Profiles enable definitions of ● different cardinalities ● different model extensions Model Parts assume referenced object existence Enriching the knowledge about the referenced instances IdentifiedObject DL profile DL TP profile TP GL profile GL SV profile DY profile DY EQ profile EQ SSH profile SSH .name R O O R R × O .description O O × × × × O .energyIdentCodeEic O O × × × × × .shortName O O × × × × × Schneider Electric DMS NS 9 Dangling Reference Types There are two types of dangling references: ● An object of one class may reference an object of another class, as allowed by associations defined in the CIM UML. ● An object may exist in one Model Part, and another Model Part may provide additional information about the object. Schneider Electric DMS NS 10 Independent CIM Profiles Modeling Each CIM Profile has its own set of classes and properties, e.g. each CIM Profile has defined a separate IdentifiedObject class in the EA Schneider Electric DMS NS 11 Mapping CIM RDFS to OWL CIM RDF Schema CIM OWL 2 Ontology CIM RDF Schema owl:Ontology cims:profile; rdfs:isDefinedBy rdfs:Class with Primitive stereotype XSD type rdfs:Class - CIMDatatype stereotype XSD type, owl:Class rdfs:Class enumeration stereotype owl:Class; Enumeration Element owl:NamedIndividual rdfs:Class owl:Class rdfs:Property owl:DatatypeProperty, owl:ObjectProperty cims:multiplicity owl:qualifiedCardinality, owl:maxQualifiedCardinality, owl:minQualifiedCardinality cims:inverseRoleName owl:inverseOf cims:datatype rdfs:range of owl:DatatypeProperty or owl:ObjectProperty cims:isAggregate meta:isAggregate (owl:AnnotationProperty); cims:stereotype meta:stereotype (owl:AnnotationProperty); cims:ClassCategory owl:Class (Meta ontology) cims:belongsToCategory meta:belongsToCategory (owl:AnnotationProperty); cims:isFixed* meta:isFixed (owl:AnnotationProperty); cims:associationUsed* meta:associationUsed (owl:AnnotationProperty); Schneider Electric DMS NS 12 RDF1.1 Serialization Formats Grouping RDF statements in multiple graphs Associating named graph with an IRI First introduced in SPARQL Multiple Graphs Support TriG N-Quads JSON-LD extends extends Turtle N-Triples Schneider Electric DMS NS 13 JavaScript Object Notation for Linked Data (JSON-LD) a lightweight Linked Data format that extends JSON: ● easy for humans to read and write ● provides a way to help JSON data interoperate at Web-scale JSON-LD 1.0 is a W3C Recommendation published at 16th Jan 2014 Current version JSON-LD 1.1 Defines algorithms for transformation of JSON-LD documents: ● expansion, ● compaction, ● flattening, ● and RDF serialization/deserialization. Schneider Electric DMS NS 14 Shapes Constraint Language (SHACL) SHACL is a W3C Recommendation published at 20th July 2017 Used for RDF graph validation SHACL is divided into two parts: ● SHACL Core ● SHACL-SPARQL Schneider Electric DMS NS 15 Proposed Modeling Approach Model Description CIM Meta Ontology CIM UML Ontology OWL 2 OWL 2 OWL 2 extends uses Extensions Extensions UML OWL 2 ontology mapping uses restricts semantic ontology mapping mapping uses Profiles Profiles SHACL shape RDFS OWL 2 graphs uses uses uses validated/ reshaped CIM CIMXML JSON-LD Schneider Electric DMS NS 16 Proposed Modeling Approach A comprehensive common CIM ontology is created, including Model, Meta and Extension ontologies using RDFS and OWL2 concepts. Standard XML Schema datatypes are used. Each CIM Profile ontology is mapped to the common CIM ontology, and potentially to the Extension ontology using owl:equivalentClass and owl:equivalentProperty. Each CIM Profile ontology has its own namespace Each ontology/namespace is dereferenceable. CIM data documents and contained resources are dereferenceable. JSON-LD syntax is utilized. The goal is formally and semantically interlinked data. Schneider Electric DMS NS 17 Proposed Approach on CGMES Model CIM CIM UML Meta Ontology Description OWL2 Ontology extends uses CGMES CGMES UML Extensions ontology OWL2 mapping uses restricts ontology mapping conversion CGMES Profiles and CGMES Profiles RDFS semantic OWL 2 uses mapping uses CGMES CGMES SHACL shape uses OCL uses graphs validated by validates/ reshapes CGMES CGMES Mini Grid Mini Grid CIMXML JSON-LD Schneider Electric DMS NS 18 Proposed Modeling Approach ENTSO-E DL and EQ Profiles CommonCIM ENTSOE extensions co:IdentifiedObject co:mRID co:description co:name entsoe:shortName isEquivalent entsoe:energyIdentCodeEic isEquivalent isEquivalent isEquivalent Meta Diagram Layout Profile EquipmentProfile me:ClassCategory isEquivalent 0..1 eq:mRID 0..1 dl:mRID dl:IdentifiedObject eq:IdentifiedObject 0..1 eq:description 1..1 dl:name 1..1 eq:name ModelDescription 0..* dl:DiagramObjects 0..1 eq:shortName md:Model 0..1 eq:energyIdentCodeEic Schneider Electric DMS NS 19 Proposed Modeling Approach Example Profiles in JSON-LD Test Configurations from the Conformity Assessment Scheme v2.0 CommonCIM.owl.jsonld ... { "@id": "co:IdentifiedObject", "@type": "owl:Class", "me:belongsToCategory": { Meta "@id": "me:Package_Core" ... }, { "me:stereotype": "abstract", "@id": "http://www.utility.com/meta#Package_LoadModel", "rdfs:comment": "This is a root class to provide common identification ...", "@type": [ "rdfs:isDefinedBy": { "@id": "http://www.utility.com/CommonCIM" }, "http://www.utility.com/meta#ClassCategory", "rdfs:label": { "@language": "en", "@value": "IdentifiedObject" }, "owl:NamedIndividual" ], "rdfs:subClassOf": [ "rdfs:comment": {"@language": "en","@value": "Package LoadModel" }, { "@id": "_:N20498595194f4e4bb39689de7423c983" }, "rdfs:label": { "@language": "en", "@value": "LoadModel" } { "@id": "_:Na44c69c0f46a443fb000a1b9ab1fd0dc" }, }, { "@id": "_:Ncca9e4426b4c4c2aa0fe100ff3592e35" }, ... { "@id": "_:Nd47c8d95b16f4128811ab705328796b0" } ] }, ... DiagramLayoutProfile.owl.jsonld EquipmentProfileCoreShortCircuitOperation.owl.jsonld ... ... { { "@id": "dl:IdentifiedObject", "@id": "eq:IdentifiedObject", "@type": "owl:Class", "@type": "owl:Class", "me:belongsToCategory": { "@id": "me:Package_Core" }, "me:belongsToCategory": { "@id": "me:Package_Core" }, "rdfs:comment": "This is a root class to provide common identification ...", "rdfs:comment": "This is a root class to provide common ...", "rdfs:isDefinedBy": { "@id": "http://www.utility.com/DiagramLayoutProfile" }, "rdfs:isDefinedBy": { "@id": "http://www.utility.com/EquipmentProfileCoreShortCircuitOperation" }, "rdfs:label": { "@language": "en", "@value": "IdentifiedObject" }, "rdfs:label": { "@language": "en", "@value": "IdentifiedObject" }, "rdfs:subClassOf": [ "rdfs:subClassOf": [ { "@id": "_:Ncef32b12d0b6455280b9bc99018f79ae" }, //"dl:IdentifiedObject.DiagramObjects" { "@id": "_:N5b146c98556c40849a2b7981cef19e52"
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages24 Page
-
File Size-