#This is a SHACL graph for the ISO20022 message definition (auth-016-001-01-FinancialInstrumentReportingTransactionReportV01) from model (urn:20200818_ISO20022_2013_eRepository.iso20022). #Copyright(All rights reserved. Generated by https://ISO20022.plus/ from eRepository on https://ISO20022.org/. Without warranty.) #Generated(2020-08-31Z) @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix : . # Message Definition :FinancialInstrumentReportingTransactionReportV01 # registrationStatus(Registered) # xmi:id(_4LUGT0RNEee7JdgA9zPESA) a sh:NodeShape , rdfs:Class ; sh:targetNode :Document ; sh:property [ sh:path :businessArea ; sh:defaultValue "auth" ; sh:datatype xsd:string ; sh:minCount 0 ; sh:maxCount 1 ; ] ; sh:property [ sh:path :messageFunctionality ; sh:defaultValue "016" ; sh:datatype xsd:string ; sh:minCount 0 ; sh:maxCount 1 ; ] ; sh:property [ sh:path :flavour ; sh:defaultValue "001" ; sh:datatype xsd:string ; sh:minCount 0 ; sh:maxCount 1 ; ] ; sh:property [ sh:path :version ; sh:defaultValue "01" ; sh:datatype xsd:string ; sh:minCount 0 ; sh:maxCount 1 ; ] ; sh:property [ sh:path :Transaction ; sh:minCount 1 ; sh:node :ReportingTransactionType1Choice ] ; sh:property [ sh:path :SupplementaryData ; sh:minCount 0 ; sh:node :SupplementaryData1 ] ; . # Message Component Types and Data Types :ReportingTransactionType1Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :New :Cancellation :SupplementaryData ) ; sh:xone ( [ # Choice has optional elements. sh:node :EMPTY ][ sh:datatype xsd:string ; sh:maxLength 0] [ sh:property [ sh:path :New ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SecuritiesTransactionReport4 ] ; ] [ sh:property [ sh:path :Cancellation ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SecuritiesTransactionReport2 ] ; ] [ sh:property [ sh:path :SupplementaryData ; sh:minCount 1 ; sh:node :SupplementaryData1 ] ; ] ) . :SecuritiesTransactionReport4 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :TransactionIdentification ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :ExecutingParty ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :InvestmentPartyIndicator ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :SubmittingParty ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :Buyer ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :PartyIdentification79 ] ; sh:property [ sh:path :Seller ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :PartyIdentification79 ] ; sh:property [ sh:path :OrderTransmission ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SecuritiesTransactionTransmission2 ] ; sh:property [ sh:path :Transaction ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SecuritiesTransaction1 ] ; sh:property [ sh:path :FinancialInstrument ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :FinancialInstrumentAttributes3Choice ] ; sh:property [ sh:path :InvestmentDecisionPerson ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :InvestmentParty1Choice ] ; sh:property [ sh:path :ExecutingPerson ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :ExecutingParty1Choice ] ; sh:property [ sh:path :AdditionalAttributes ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SecuritiesTransactionIndicator2 ] ; sh:property [ sh:path :TechnicalAttributes ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :RecordTechnicalData1 ] ; sh:property [ sh:path :SupplementaryData ; sh:minCount 0 ; sh:node :SupplementaryData1 ] ; . :Max52Text a sh:NodeShape , rdfs:Class ; sh:datatype xsd:string . :LEIIdentifier a sh:NodeShape , rdfs:Class ; sh:datatype xsd:string . :TrueFalseIndicator a sh:NodeShape , rdfs:Class ; sh:datatype xsd:boolean . :PartyIdentification79 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :AccountOwner ; sh:minCount 1 ; sh:node :PartyIdentification76 ] ; sh:property [ sh:path :DecisionMaker ; sh:minCount 0 ; sh:node :PersonOrOrganisation2Choice ] ; . :PartyIdentification76 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :Identification ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :PersonOrOrganisation1Choice ] ; sh:property [ sh:path :CountryOfBranch ; sh:minCount 0 ; sh:maxCount 1 ; sh:in :CountryCode ] ; . :PersonOrOrganisation1Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :LEI :MIC :Person :Internal ) ; sh:xone ( [ sh:property [ sh:path :LEI ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] [ sh:property [ sh:path :MIC ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] [ sh:property [ sh:path :Person ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :PersonIdentification10 ] ; ] [ sh:property [ sh:path :Internal ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :InternalPartyRole1Code ] ; ] ) . :MICIdentifier a sh:NodeShape , rdfs:Class ; sh:datatype xsd:string . :PersonIdentification10 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :FirstName ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :Name ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :BirthDate ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :Other ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :GenericPersonIdentification1 ] ; . :Max140Text a sh:NodeShape , rdfs:Class ; sh:datatype xsd:string . :ISODate a sh:NodeShape , rdfs:Class ; sh:datatype xsd:date . :GenericPersonIdentification1 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :Identification ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :SchemeName ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :PersonIdentificationSchemeName1Choice ] ; sh:property [ sh:path :Issuer ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; . :Max35Text a sh:NodeShape , rdfs:Class ; sh:datatype xsd:string . :PersonIdentificationSchemeName1Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :Code :Proprietary ) ; sh:xone ( [ sh:property [ sh:path :Code ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :ExternalPersonIdentification1Code ] ; ] [ sh:property [ sh:path :Proprietary ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] ) . :ExternalPersonIdentification1Code rdf:first () ; rdf:rest () . :InternalPartyRole1Code rdf:first "INTC" ; rdf:rest () . :CountryCode rdf:first () ; rdf:rest () . :PersonOrOrganisation2Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :LEI :Person ) ; sh:xone ( [ sh:property [ sh:path :LEI ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] [ sh:property [ sh:path :Person ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :PersonIdentification10 ] ; ] ) . :SecuritiesTransactionTransmission2 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :TransmissionIndicator ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :TransmittingBuyer ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :TransmittingSeller ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; . :SecuritiesTransaction1 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :TradeDate ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :TradingCapacity ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :RegulatoryTradingCapacity1Code ] ; sh:property [ sh:path :Quantity ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :FinancialInstrumentQuantity25Choice ] ; sh:property [ sh:path :DerivativeNotionalChange ; sh:minCount 0 ; sh:maxCount 1 ; sh:in :VariationType1Code ] ; sh:property [ sh:path :Price ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SecuritiesTransactionPrice4Choice ] ; sh:property [ sh:path :NetAmount ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :ImpliedCurrencyAndAmount ] ; sh:property [ sh:path :TradeVenue ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :CountryOfBranch ; sh:minCount 0 ; sh:maxCount 1 ; sh:in :CountryCode ] ; sh:property [ sh:path :UpFrontPayment ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :AmountAndDirection53 ] ; sh:property [ sh:path :TradePlaceMatchingIdentification ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :ComplexTradeComponentIdentification ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; . :ISODateTime a sh:NodeShape , rdfs:Class ; sh:datatype xsd:dateTime . :RegulatoryTradingCapacity1Code rdf:first "DEAL" ; rdf:rest ("MTCH" "AOTC") . :FinancialInstrumentQuantity25Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :Unit :NominalValue :MonetaryValue ) ; sh:xone ( [ sh:property [ sh:path :Unit ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] [ sh:property [ sh:path :NominalValue ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :ActiveOrHistoricCurrencyAndAmount ] ; ] [ sh:property [ sh:path :MonetaryValue ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :ActiveOrHistoricCurrencyAndAmount ] ; ] ) . :DecimalNumber a sh:NodeShape , rdfs:Class ; sh:datatype xsd:decimal . :ActiveOrHistoricCurrencyAndAmount a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :Amount ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :Currency ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] . :ActiveOrHistoricCurrencyCode rdf:first () ; rdf:rest () . :VariationType1Code rdf:first "INCR" ; rdf:rest ("DECR") . :SecuritiesTransactionPrice4Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :Price :NoPrice ) ; sh:xone ( [ sh:property [ sh:path :Price ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SecuritiesTransactionPrice2Choice ] ; ] [ sh:property [ sh:path :NoPrice ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SecuritiesTransactionPrice1 ] ; ] ) . :SecuritiesTransactionPrice2Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :MonetaryValue :Percentage :Yield :BasisPoints ) ; sh:xone ( [ sh:property [ sh:path :MonetaryValue ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :AmountAndDirection61 ] ; ] [ sh:property [ sh:path :Percentage ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] [ sh:property [ sh:path :Yield ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] [ sh:property [ sh:path :BasisPoints ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] ) . :AmountAndDirection61 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :Amount ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :ActiveCurrencyAnd13DecimalAmount ] ; sh:property [ sh:path :Sign ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; . :ActiveCurrencyAnd13DecimalAmount a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :Amount ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :Currency ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] . :ActiveCurrencyCode rdf:first () ; rdf:rest () . :PlusOrMinusIndicator a sh:NodeShape , rdfs:Class ; sh:datatype xsd:boolean . :PercentageRate a sh:NodeShape , rdfs:Class ; sh:datatype xsd:decimal . :SecuritiesTransactionPrice1 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :Pending ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :PriceStatus1Code ] ; sh:property [ sh:path :Currency ; sh:minCount 0 ; sh:maxCount 1 ; sh:in :ActiveOrHistoricCurrencyCode ] ; . :PriceStatus1Code rdf:first "PNDG" ; rdf:rest ("NOAP") . :ImpliedCurrencyAndAmount a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :Amount ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :Currency ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] . :AmountAndDirection53 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :Amount ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :ActiveOrHistoricCurrencyAndAmount ] ; sh:property [ sh:path :Sign ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; . :FinancialInstrumentAttributes3Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :Identification :Other ) ; sh:xone ( [ sh:property [ sh:path :Identification ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] [ sh:property [ sh:path :Other ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SecurityInstrumentDescription13 ] ; ] ) . :ISINOct2015Identifier a sh:NodeShape , rdfs:Class ; sh:datatype xsd:string . :SecurityInstrumentDescription13 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :FinancialInstrumentGeneralAttributes ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SecurityInstrumentDescription11 ] ; sh:property [ sh:path :DebtInstrumentAttributes ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :DebtInstrument4 ] ; sh:property [ sh:path :DerivativeInstrumentAttributes ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :DerivativeInstrument6 ] ; . :SecurityInstrumentDescription11 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :Identification ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :FullName ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :ClassificationType ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :NotionalCurrency ; sh:minCount 0 ; sh:maxCount 1 ; sh:in :ActiveOrHistoricCurrencyCode ] ; . :Max350Text a sh:NodeShape , rdfs:Class ; sh:datatype xsd:string . :CFIOct2015Identifier a sh:NodeShape , rdfs:Class ; sh:datatype xsd:string . :DebtInstrument4 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :MaturityDate ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; . :DerivativeInstrument6 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :ExpiryDate ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :PriceMultiplier ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :UnderlyingInstrument ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :UnderlyingIdentification2Choice ] ; sh:property [ sh:path :OptionType ; sh:minCount 0 ; sh:maxCount 1 ; sh:in :OptionType2Code ] ; sh:property [ sh:path :StrikePrice ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :SecuritiesTransactionPrice4Choice ] ; sh:property [ sh:path :OptionExerciseStyle ; sh:minCount 0 ; sh:maxCount 1 ; sh:in :OptionStyle7Code ] ; sh:property [ sh:path :DeliveryType ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :PhysicalTransferType4Code ] ; sh:property [ sh:path :AssetClassSpecificAttributes ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :AssetClassAttributes1Choice ] ; . :NonNegativeDecimalNumber a sh:NodeShape , rdfs:Class ; sh:datatype xsd:decimal . :UnderlyingIdentification2Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :Swap :Other ) ; sh:xone ( [ sh:property [ sh:path :Swap ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SwapLegIdentification2 ] ; ] [ sh:property [ sh:path :Other ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :FinancialInstrumentIdentification7Choice ] ; ] ) . :SwapLegIdentification2 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :SwapIn ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :FinancialInstrumentIdentification7Choice ] ; sh:property [ sh:path :SwapOut ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :FinancialInstrumentIdentification7Choice ] ; . :FinancialInstrumentIdentification7Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :Single :Basket ) ; sh:xone ( [ sh:property [ sh:path :Single ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :FinancialInstrumentIdentification6Choice ] ; ] [ sh:property [ sh:path :Basket ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :BasketDescription3 ] ; ] ) . :FinancialInstrumentIdentification6Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :ISIN :Index ) ; sh:xone ( [ sh:property [ sh:path :ISIN ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] [ sh:property [ sh:path :Index ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :FinancialInstrument58 ] ; ] ) . :FinancialInstrument58 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :ISIN ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :Name ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :FloatingInterestRate8 ] ; . :FloatingInterestRate8 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :ReferenceRate ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :BenchmarkCurveName5Choice ] ; sh:property [ sh:path :Term ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :InterestRateContractTerm2 ] ; . :BenchmarkCurveName5Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :Index :Name ) ; sh:xone ( [ sh:property [ sh:path :Index ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :BenchmarkCurveName2Code ] ; ] [ sh:property [ sh:path :Name ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] ) . :BenchmarkCurveName2Code rdf:first "MAAA" ; rdf:rest ("FUSW" "LIBI" "LIBO" "SWAP" "TREA" "EURI" "PFAN" "EONA" "EONS" "EUUS" "EUCH" "TIBO" "ISDA" "GCFR" "STBO" "BBSW" "JIBA" "BUBO" "CDOR" "CIBO" "MOSP" "NIBO" "PRBO" "TLBO" "WIBO") . :Max25Text a sh:NodeShape , rdfs:Class ; sh:datatype xsd:string . :InterestRateContractTerm2 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :Unit ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :RateBasis1Code ] ; sh:property [ sh:path :Value ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; . :RateBasis1Code rdf:first "YEAR" ; rdf:rest ("MNTH" "WEEK" "DAYS") . :Max3Number a sh:NodeShape , rdfs:Class ; sh:datatype xsd:decimal . :BasketDescription3 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :ISIN ; sh:minCount 0 ; sh:datatype xsd:string ] ; sh:property [ sh:path :Index ; sh:minCount 0 ; sh:node :FinancialInstrument58 ] ; . :OptionType2Code rdf:first "CALL" ; rdf:rest ("PUTO" "OTHR") . :OptionStyle7Code rdf:first "AMER" ; rdf:rest ("EURO" "BERM" "ASIA" "OTHR") . :PhysicalTransferType4Code rdf:first "PHYS" ; rdf:rest ("CASH" "OPTL") . :AssetClassAttributes1Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :Interest :ForeignExchange :Both ) ; sh:xone ( [ sh:property [ sh:path :Interest ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :DerivativeInterest2 ] ; ] [ sh:property [ sh:path :ForeignExchange ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :DerivativeForeignExchange2 ] ; ] [ sh:property [ sh:path :Both ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :AssetClassAttributes1 ] ; ] ) . :DerivativeInterest2 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :OtherNotionalCurrency ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :ActiveOrHistoricCurrencyCode ] ; . :DerivativeForeignExchange2 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :OtherNotionalCurrency ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :ActiveOrHistoricCurrencyCode ] ; . :AssetClassAttributes1 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :Interest ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :DerivativeInterest2 ] ; sh:property [ sh:path :ForeignExchange ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :DerivativeForeignExchange2 ] ; . :InvestmentParty1Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :Person :Algorithm ) ; sh:xone ( [ sh:property [ sh:path :Person ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :PersonIdentification12 ] ; ] [ sh:property [ sh:path :Algorithm ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] ) . :PersonIdentification12 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :CountryOfBranch ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :CountryCode ] ; sh:property [ sh:path :Other ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :GenericPersonIdentification1 ] ; . :Max50Text a sh:NodeShape , rdfs:Class ; sh:datatype xsd:string . :ExecutingParty1Choice a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:ignoredProperties ( :Person :Algorithm :Client ) ; sh:xone ( [ sh:property [ sh:path :Person ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :PersonIdentification12 ] ; ] [ sh:property [ sh:path :Algorithm ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; ] [ sh:property [ sh:path :Client ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :NoReasonCode ] ; ] ) . :NoReasonCode rdf:first "NORE" ; rdf:rest () . :SecuritiesTransactionIndicator2 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :WaiverIndicator ; sh:minCount 0 ; sh:in :ReportingWaiverType1Code ] ; sh:property [ sh:path :ShortSellingIndicator ; sh:minCount 0 ; sh:maxCount 1 ; sh:in :Side5Code ] ; sh:property [ sh:path :OTCPostTradeIndicator ; sh:minCount 0 ; sh:in :ReportingWaiverType3Code ] ; sh:property [ sh:path :RiskReducingTransaction ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :SecuritiesFinancingTransactionIndicator ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; . :ReportingWaiverType1Code rdf:first "SIZE" ; rdf:rest ("OILQ" "ILQD" "RFPT" "NLIQ" "PRIC") . :Side5Code rdf:first "SELL" ; rdf:rest ("UNDI" "SESH" "SSEX") . :ReportingWaiverType3Code rdf:first "LRGS" ; rdf:rest ("SIZE" "ILQD" "BENC" "ACTX" "CANC" "SDIV" "AMND" "RPRI" "DUPL" "TNCP" "TPAC" "XFPH") . :RecordTechnicalData1 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :ReceiptDateTime ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :ExchangeReason ; sh:minCount 1 ; sh:in :AuthorityExchangeReason1Code ] ; . :AuthorityExchangeReason1Code rdf:first "CAFI" ; rdf:rest ("ADHR" "CADU" "CABC" "CABB" "CASB" "CAMB" "CADB" "CAEB" "CATV" "CAIX") . :SupplementaryData1 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :PlaceAndName ; sh:minCount 0 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :Envelope ; sh:minCount 1 ; sh:maxCount 1 ; sh:node :SupplementaryDataEnvelope1 ] ; . :SupplementaryDataEnvelope1 a sh:NodeShape , rdfs:Class ; sh:datatype xsd:anyType . :SecuritiesTransactionReport2 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :TransactionIdentification ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :ExecutingParty ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :SubmittingParty ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :TechnicalAttributes ; sh:minCount 0 ; sh:maxCount 1 ; sh:node :RecordTechnicalData2 ] ; sh:property [ sh:path :SupplementaryData ; sh:minCount 0 ; sh:node :SupplementaryData1 ] ; . :RecordTechnicalData2 a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:property [ sh:path :ReceiptDateTime ; sh:minCount 1 ; sh:maxCount 1 ; sh:datatype xsd:string ] ; sh:property [ sh:path :CancellationReason ; sh:minCount 1 ; sh:maxCount 1 ; sh:in :CancelledStatusReason15Code ] ; . :CancelledStatusReason15Code rdf:first "CANI" ; rdf:rest ("CSUB") . # EMPTY NodeShape for validating ChoiceComponents which have at least one optional element. :EMPTY a sh:NodeShape , rdfs:Class ; sh:closed true ; sh:nodeKind sh:BlankNode .