@prefix cim: <https://cim.ucaiug.io/ns#> .
@prefix nl: <https://cim.ucaiug.io/ns/nl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

cim:BaseWork a sh:NodeShape ;
    rdfs:comment "Common representation for work and work tasks." ;
    sh:closed false ;
    sh:ignoredProperties ( cim:Project cim:Work.workOrderNumber cim:WorkTask.Assets cim:Work rdf:type nl:Work.source ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 18 characters as defined by the EAN code." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path nl:IdentifiedObject.europeanArticleNumberEAN ],
        [ sh:datatype xsd:string ;
            sh:description """Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r
For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.""" ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path cim:IdentifiedObject.mRID ],
        [ sh:datatype xsd:string ;
            sh:description "The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path cim:IdentifiedObject.description ],
        [ sh:class cim:ElectronicAddress ;
            sh:description "Electronic address." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 3 ;
            sh:path cim:Document.electronicAddress ],
        [ sh:datatype xsd:string ;
            sh:description """The name is any free human readable and possibly non unique text naming the object.\r
""" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path cim:IdentifiedObject.name ],
        [ sh:description "Kind of work status." ;
            sh:in ( cim:WorkStatusKind.approved cim:WorkStatusKind.scheduled cim:WorkStatusKind.inProgress ) ;
            sh:maxCount 1 ;
            sh:order 0 ;
            sh:path cim:BaseWork.statusKind ],
        [ sh:datatype xsd:string ;
            sh:description "Location for this work/task." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path cim:BaseWork.WorkLocation ],
        [ sh:class cim:WorkTimeSchedule ;
            sh:description "All time schedules for this work or work task." ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path cim:BaseWork.TimeSchedules ] ;
    sh:targetClass cim:BaseWork .

cim:Document a sh:NodeShape ;
    rdfs:comment "Parent class for different groupings of information collected and managed as a part of a business process. It will frequently contain references to other objects, such as assets, people and power system resources." ;
    sh:closed false ;
    sh:ignoredProperties ( cim:BaseWork.TimeSchedules cim:Project cim:Work.workOrderNumber cim:WorkTask.Assets cim:BaseWork.WorkLocation nl:CongestionDocument.Contingency cim:BaseWork.statusKind cim:Work nl:CongestionDocument.constraint nl:CongestionDocument.alleviationYear nl:CongestionDocument.Location rdf:type cim:Project.ParentProject cim:TimeSchedule.scheduleInterval nl:Work.source nl:CongestionDocument.positiveFlowIn ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 18 characters as defined by the EAN code." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path nl:IdentifiedObject.europeanArticleNumberEAN ],
        [ sh:datatype xsd:string ;
            sh:description "The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path cim:IdentifiedObject.description ],
        [ sh:class cim:ElectronicAddress ;
            sh:description "Electronic address." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 0 ;
            sh:path cim:Document.electronicAddress ],
        [ sh:datatype xsd:string ;
            sh:description """Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r
For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.""" ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path cim:IdentifiedObject.mRID ],
        [ sh:datatype xsd:string ;
            sh:description """The name is any free human readable and possibly non unique text naming the object.\r
""" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path cim:IdentifiedObject.name ] ;
    sh:targetClass cim:Document .

cim:IdentifiedObject a sh:NodeShape ;
    rdfs:comment "This is a root class to provide common identification for all classes needing identification and naming attributes." ;
    sh:closed false ;
    sh:ignoredProperties ( cim:WorkTask.Assets cim:Asset.PowerSystemResources nl:CongestionDocument.Contingency cim:BaseWork.statusKind rdf:type cim:Project.ParentProject cim:Document.electronicAddress cim:TimeSchedule.scheduleInterval nl:Work.source nl:CongestionDocument.positiveFlowIn cim:BaseWork.TimeSchedules cim:Project cim:Work.workOrderNumber cim:BaseWork.WorkLocation cim:Work nl:CongestionDocument.constraint nl:CongestionDocument.alleviationYear nl:CongestionDocument.Location ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description """The name is any free human readable and possibly non unique text naming the object.\r
""" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path cim:IdentifiedObject.name ],
        [ sh:datatype xsd:string ;
            sh:description "The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 18 characters as defined by the EAN code." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path nl:IdentifiedObject.europeanArticleNumberEAN ],
        [ sh:datatype xsd:string ;
            sh:description "The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path cim:IdentifiedObject.description ],
        [ sh:datatype xsd:string ;
            sh:description """Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r
For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.""" ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path cim:IdentifiedObject.mRID ] ;
    sh:targetClass cim:IdentifiedObject .

cim:TimeSchedule a sh:NodeShape ;
    rdfs:comment """Description of anything that changes through time. Time schedule is used to perform a single-valued function of time. Use inherited 'type' attribute to give additional information on this schedule, such as: periodic (hourly, daily, weekly, monthly, etc.), day of the month, by date, calendar (specific times and dates).\r
""" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description """The name is any free human readable and possibly non unique text naming the object.\r
""" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path cim:IdentifiedObject.name ],
        [ sh:datatype xsd:string ;
            sh:description "The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path cim:IdentifiedObject.description ],
        [ sh:datatype xsd:string ;
            sh:description "The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 18 characters as defined by the EAN code." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path nl:IdentifiedObject.europeanArticleNumberEAN ],
        [ sh:class cim:ElectronicAddress ;
            sh:description "Electronic address." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 1 ;
            sh:path cim:Document.electronicAddress ],
        [ sh:class cim:DateTimeInterval ;
            sh:description "Schedule date and time interval." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 0 ;
            sh:path cim:TimeSchedule.scheduleInterval ],
        [ sh:datatype xsd:string ;
            sh:description """Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r
For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.""" ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path cim:IdentifiedObject.mRID ] ;
    sh:targetClass cim:TimeSchedule .

cim:WorkDocument a sh:NodeShape ;
    rdfs:comment "Shadow class for Document, to isolate subclassing from this package. If any subclass gets normative and needs inheritance, it will inherit directly from Document." ;
    sh:closed false ;
    sh:ignoredProperties ( rdf:type cim:Project.ParentProject ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 18 characters as defined by the EAN code." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path nl:IdentifiedObject.europeanArticleNumberEAN ],
        [ sh:class cim:ElectronicAddress ;
            sh:description "Electronic address." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 0 ;
            sh:path cim:Document.electronicAddress ],
        [ sh:datatype xsd:string ;
            sh:description """Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r
For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.""" ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path cim:IdentifiedObject.mRID ],
        [ sh:datatype xsd:string ;
            sh:description "The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path cim:IdentifiedObject.description ],
        [ sh:datatype xsd:string ;
            sh:description """The name is any free human readable and possibly non unique text naming the object.\r
""" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path cim:IdentifiedObject.name ] ;
    sh:targetClass cim:WorkDocument .

cim:WorkTask a sh:NodeShape ;
    rdfs:comment "A task within a set of work." ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 18 characters as defined by the EAN code." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path nl:IdentifiedObject.europeanArticleNumberEAN ],
        [ sh:class cim:WorkTimeSchedule ;
            sh:description "All time schedules for this work or work task." ;
            sh:nodeKind sh:IRI ;
            sh:order 4 ;
            sh:path cim:BaseWork.TimeSchedules ],
        [ sh:datatype xsd:string ;
            sh:description "Location for this work/task." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path cim:BaseWork.WorkLocation ],
        [ sh:description "Kind of work status." ;
            sh:in ( cim:WorkStatusKind.approved cim:WorkStatusKind.scheduled cim:WorkStatusKind.inProgress ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path cim:BaseWork.statusKind ],
        [ sh:class cim:ElectronicAddress ;
            sh:description "Electronic address." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 5 ;
            sh:path cim:Document.electronicAddress ],
        [ sh:class cim:Asset ;
            sh:description "All assets on which this non-replacement work task is performed." ;
            sh:nodeKind sh:IRI ;
            sh:order 0 ;
            sh:path cim:WorkTask.Assets ],
        [ sh:class cim:Work ;
            sh:description "Work this task belongs to." ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 1 ;
            sh:path cim:WorkTask.Work ],
        [ sh:datatype xsd:string ;
            sh:description """Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r
For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.""" ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path cim:IdentifiedObject.mRID ],
        [ sh:datatype xsd:string ;
            sh:description """The name is any free human readable and possibly non unique text naming the object.\r
""" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path cim:IdentifiedObject.name ],
        [ sh:datatype xsd:string ;
            sh:description "The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path cim:IdentifiedObject.description ] ;
    sh:targetClass cim:WorkTask .

nl:CongestionDocument a sh:NodeShape ;
    rdfs:comment "Additional information about the contingency. Allows free-format text and a link to additional information, such as a congestion report. Use Document.electronicAddress to associate an URL with a specific Contingency." ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description """The name is any free human readable and possibly non unique text naming the object.\r
""" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path cim:IdentifiedObject.name ],
        [ sh:datatype xsd:string ;
            sh:description "The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 18 characters as defined by the EAN code." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path nl:IdentifiedObject.europeanArticleNumberEAN ],
        [ sh:description "A RAG definition of the constraints at the Contingency. Use in combination with positiveFlowIn to indicate a demand or generation constraint. A utility should provide details on how this RAG status is calculated as part of the accompanying documentation." ;
            sh:in ( nl:RAGKind.transparant nl:RAGKind.red nl:RAGKind.amber nl:RAGKind.yellow ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path nl:CongestionDocument.constraint ],
        [ sh:class cim:ElectronicAddress ;
            sh:description "Electronic address." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 5 ;
            sh:path cim:Document.electronicAddress ],
        [ sh:datatype xsd:boolean ;
            sh:description "If true then this Contingency applies to active power, reactive power or current with the convention that a positive value measured means power is flowing into the related PowerSystemResource." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path nl:CongestionDocument.positiveFlowIn ],
        [ sh:datatype xsd:string ;
            sh:description "Geographical location for this CongestionDocument." ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path nl:CongestionDocument.Location ],
        [ sh:datatype xsd:string ;
            sh:description """Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r
For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.""" ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path cim:IdentifiedObject.mRID ],
        [ sh:datatype xsd:integer ;
            sh:description "Year (e.g. \"2028\") from which any capacity issues have been alleviated for the Contingency." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path nl:CongestionDocument.alleviationYear ],
        [ sh:datatype xsd:string ;
            sh:description "A contingency info belongs to one contingency." ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path nl:CongestionDocument.Contingency ],
        [ sh:datatype xsd:string ;
            sh:description "The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path cim:IdentifiedObject.description ] ;
    sh:targetClass nl:CongestionDocument .

cim:Asset a sh:NodeShape ;
    rdfs:comment "Tangible resource of the utility, including power system equipment, various end devices, cabinets, buildings, etc. For electrical network equipment, the role of the asset is defined through PowerSystemResource and its subclasses, defined mainly in the Wires model (refer to IEC61970-301 and model package IEC61970::Wires). Asset description places emphasis on the physical characteristics of the equipment fulfilling that role." ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "All power system resources used to electrically model this asset. For example, transformer asset is electrically modelled with a transformer and its windings and tap changer." ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path cim:Asset.PowerSystemResources ],
        [ sh:datatype xsd:string ;
            sh:description """Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r
For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.""" ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path cim:IdentifiedObject.mRID ],
        [ sh:datatype xsd:string ;
            sh:description "The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path cim:IdentifiedObject.description ],
        [ sh:datatype xsd:string ;
            sh:description "The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 18 characters as defined by the EAN code." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path nl:IdentifiedObject.europeanArticleNumberEAN ],
        [ sh:datatype xsd:string ;
            sh:description """The name is any free human readable and possibly non unique text naming the object.\r
""" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path cim:IdentifiedObject.name ] ;
    sh:targetClass cim:Asset .

cim:DateTimeInterval a sh:NodeShape ;
    rdfs:comment "Interval between two date and time points, where the interval includes the start time but excludes end time.  " ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:date ;
            sh:description "Start date and time of this interval.  The start date and time is included in the defined interval." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path cim:DateTimeInterval.start ],
        [ sh:datatype xsd:date ;
            sh:description "End date and time of this interval.  The end date and time where the interval is defined up to, but excluded." ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path cim:DateTimeInterval.end ] ;
    sh:targetClass cim:DateTimeInterval .

cim:WorkTimeSchedule a sh:NodeShape ;
    rdfs:comment "Time schedule specific to work." ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path cim:IdentifiedObject.description ],
        [ sh:datatype xsd:string ;
            sh:description """The name is any free human readable and possibly non unique text naming the object.\r
""" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path cim:IdentifiedObject.name ],
        [ sh:class cim:DateTimeInterval ;
            sh:description "Schedule date and time interval." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 0 ;
            sh:path cim:TimeSchedule.scheduleInterval ],
        [ sh:class cim:ElectronicAddress ;
            sh:description "Electronic address." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 1 ;
            sh:path cim:Document.electronicAddress ],
        [ sh:datatype xsd:string ;
            sh:description "The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 18 characters as defined by the EAN code." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path nl:IdentifiedObject.europeanArticleNumberEAN ],
        [ sh:datatype xsd:string ;
            sh:description """Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r
For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.""" ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path cim:IdentifiedObject.mRID ] ;
    sh:targetClass cim:WorkTimeSchedule .

cim:Work a sh:NodeShape ;
    rdfs:comment "Document used to request, initiate, track and record work." ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 18 characters as defined by the EAN code." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path nl:IdentifiedObject.europeanArticleNumberEAN ],
        [ sh:datatype xsd:string ;
            sh:description "Source of the project information. Usually an investment plan or scheduled work." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path nl:Work.source ],
        [ sh:datatype xsd:string ;
            sh:description "The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path cim:IdentifiedObject.description ],
        [ sh:datatype xsd:string ;
            sh:description """Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r
For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.""" ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path cim:IdentifiedObject.mRID ],
        [ sh:datatype xsd:string ;
            sh:description "Work order number (or other unique identifying information) for this work." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path cim:Work.workOrderNumber ],
        [ sh:datatype xsd:string ;
            sh:description """The name is any free human readable and possibly non unique text naming the object.\r
""" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path cim:IdentifiedObject.name ],
        [ sh:class cim:WorkTimeSchedule ;
            sh:description "All time schedules for this work or work task." ;
            sh:nodeKind sh:IRI ;
            sh:order 5 ;
            sh:path cim:BaseWork.TimeSchedules ],
        [ sh:class cim:Project ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 1 ;
            sh:path cim:Work.Project ],
        [ sh:datatype xsd:string ;
            sh:description "Location for this work/task." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path cim:BaseWork.WorkLocation ],
        [ sh:class cim:ElectronicAddress ;
            sh:description "Electronic address." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 6 ;
            sh:path cim:Document.electronicAddress ],
        [ sh:description "Kind of work status." ;
            sh:in ( cim:WorkStatusKind.approved cim:WorkStatusKind.scheduled cim:WorkStatusKind.inProgress ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path cim:BaseWork.statusKind ] ;
    sh:targetClass cim:Work .

cim:Project a sh:NodeShape ;
    rdfs:comment "A collection of related work. For construction projects and maintenance projects, multiple phases may be performed. To associate a project URL (ck:Work.project_url), use Document.electronicAddress." ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description """The name is any free human readable and possibly non unique text naming the object.\r
""" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path cim:IdentifiedObject.name ],
        [ sh:datatype xsd:string ;
            sh:description """Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r
For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.""" ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path cim:IdentifiedObject.mRID ],
        [ sh:class cim:Project ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 0 ;
            sh:path cim:Project.ParentProject ],
        [ sh:class cim:ElectronicAddress ;
            sh:description "Electronic address." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 1 ;
            sh:path cim:Document.electronicAddress ],
        [ sh:datatype xsd:string ;
            sh:description "The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 18 characters as defined by the EAN code." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path nl:IdentifiedObject.europeanArticleNumberEAN ],
        [ sh:datatype xsd:string ;
            sh:description "The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path cim:IdentifiedObject.description ] ;
    sh:targetClass cim:Project .

cim:ElectronicAddress a sh:NodeShape ;
    rdfs:comment "Electronic address information." ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "World wide web address." ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path cim:ElectronicAddress.web ] ;
    sh:targetClass cim:ElectronicAddress .


