edi3 / edi3-json-ld-ndr

GNU General Public License v3.0
0 stars 2 forks source link

Linking "code" properties to the relevant code list #35

Open onthebreeze opened 3 years ago

onthebreeze commented 3 years ago

There are many properties with a name that end with the term "code" - for example https://edi3.org/vocabulary/bsp/#TypePaymentMeansCode

Currently all of these have a simple data type xsd:token and no reference to an actual code list enumeration. However in reality almost all of these have a controlled enumeration in the form of an EDIFACT code list. We need to do two things:

Fak3 commented 3 years ago

Reference the code list as the value domain of the relevant property. How best to do that in the JSON-LD world?

For this particular case, the property Trade Settlement_ Payment Means. Type. Code carries exactly the same semantics as rdf:type, so i would suggest to remove this property completely.

If the list of allowed Payment Means Type Codes must be strictly fixed, then the more specific subclasses of edi3:PaymentMeans should be created in the edi3 or separate codelist vocabulary. Data producers will indicate the Payment Means specific type in the usual way, with rdf:type (@type in json-ld syntax):

{
  "@id": "http://example.org/transactions/123",
  "@type": ["edi3:PaymentMeans", "edi3:CashPaymentMeans"],
  ...
}

For a different example of code properties, If we want to limit the Consignment's riskFactorCode property range, then we must set this property rdfs:range to some class, for ex. edi3:RiskFactor and then edi3 or another codelist vocabulary should include instances of this edi3:RiskFactor class, identified by unique id, to be used as allwoed value of the riskFactorCode property.

kshychko commented 3 years ago

@Fak3 , please review the first batch of edifact code lists under UNCL - https://edi3.org/vocabulary/uncl1001/#Certificate_of_analysis I was using https://www.unece.org/fileadmin/DAM/trade/untdid/d20a/d20a.zip as a source, uncl.zip in it contains UNCL.20A file. Please note that these code lists have description, change indicator and usage indicator - how can we reflect it in the vocabulary file?

Fak3 commented 3 years ago

Looks good. Not sure about change and usage indicators - should ask cefact experts what do they mean, maybe these won't be useful in vocabulary.