Open kshychko opened 4 years ago
@Fak3, please check out the JSON-LD format of the BPS vocabulary http://edi3.org/vocab/bsp.jsonld
NDR rules in short terms:
ABIEs are RDF Classes
usual
and one referenced
classes - the object class term qualifier is dropped and not used. Check out Consignment
and ReferencedConsignment
to see it in actionBBIEs and ASBIEs are RDF Properties
ConsignmentGrossVolume
and ReferencedConsignmentGrossVolume
RDF properties.looks like an excellent start.
But I would really LOVE to find a way to get rid of property level duplication. So rather than having 👍
@id: "edi3:ReferencedConsignmentConsignmentItemQuantity",
@type: "rdfs:Property",
rdfs:range: "xsd:decimal",
rdfs:comment: "The number of consignment items separately defined for transport or customs purposes within this referenced supply chain consignment.",
rdfs:domain: "edi3:ReferencedConsignment",
rdfs:label: "Referenced_ Supply Chain_ Consignment. Consignment Item. Quantity",
edi3:cefactID: "UN01011051"
and
{
@id: "edi3:ConsignmentConsignmentItemQuantity",
@type: "rdfs:Property",
rdfs:range: "xsd:decimal",
rdfs:comment: "The number of consignment items separately defined for transport or customs purposes within this supply chain consignment.",
rdfs:domain: "edi3:Consignment",
rdfs:label: "Supply Chain_ Consignment. Consignment Item. Quantity",
edi3:cefactID: "UN01004196"
},
we just have
{
@id: "edi3:ConsignmentConsignmentItemQuantity",
@type: "rdfs:Property",
rdfs:range: "xsd:decimal",
rdfs:comment: "The number of consignment items separately defined for transport or customs purposes within this supply chain consignment.",
rdfs:domain: "edi3:Consignment",
rdfs:domain: "edi3:ReferencedConsignment",
rdfs:label: "Supply Chain_ Consignment. Consignment Item. Quantity",
edi3:cefactID: "UN01004196"
},
thoughts?
Updated NDR rules:
ABIEs are grouped by Object Class Term
as RDF Classes
@id
- edi3:
+ Object Class Term
value with cleaned up white spaces@type
is set to rdfs:Class
rdfs:comment
is one or more Definition
valuesedi3:cefactElementMetadata
represents RDM context. It's an array of grouped ABIEs
@id
- cefact:
+ Dictionary Entry Name
value with cleaned up white spaces @type
- edi3:AggregateBIE
edi3:cefactUNId
- cefact:
+ Unique UN Assigned ID
rdfs:comment
- Definition
edi3:cefactBusinessProcess
- Business Process
Value
BBIEs are grouped by Property Term Qualifier(s)
+ Property Term
+ Datatype Qualifier(s)
+ Representation Term
as RDF Properties
@id
- edi3:
+ Property Term Qualifier(s)
+ Property Term
+ Datatype Qualifier(s)
+ Representation Term
values with cleaned up white spaces@type
is set to rdfs:Property
rdfs:range
- mapped xsd typerdfs:domain
edi3:
+ Object Class Term
value with cleaned up white spacesrdfs:comment
is one or more Definition
values edi3:cefactElementMetadata
represents RDM context. It's an array of grouped BBIEs
@id
- cefact:
+ Dictionary Entry Name
value with cleaned up white spaces @type
- edi3:BasicBIE
edi3:cefactUNId
- cefact:
+ Unique UN Assigned ID
edi3:cefactBieDomainClass
- cefact:
+ Dictionary Entry Name
value of the related ABIErdfs:comment
- Definition
edi3:cefactBusinessProcess
- Business Process
Value
ASBIEs are grouped by Property Term Qualifier(s)
+ Property Term
+ Associated Object Class Term Qualifier(s)
+ Associated Object Class
as RDF Properties
@id
- edi3:
+ Property Term Qualifier(s)
+ Property Term
+ Associated Object Class Term Qualifier(s)
+ Associated Object Class
values with cleaned up white spaces@type
is set to rdfs:Property
rdfs:range
- mapped xsd typerdfs:domain
- one or more edi3:
+ Object Class Term
value with cleaned up white spacesrdfs:comment
is one or more Definition
values edi3:cefactElementMetadata
represents RDM context. It's an array of grouped ASBIEs
@id
- cefact:
+ Dictionary Entry Name
value with cleaned up white spaces @type
- edi3:AssociationBIE
edi3:cefactUNId
- cefact:
+ Unique UN Assigned ID
edi3:cefactBieDomainClass
- cefact:
+ Dictionary Entry Name
value of the related ABIErdfs:comment
- Definition
edi3:cefactBusinessProcess
- Business Process
Value
Should we lowercase the rdfs property names? ie rename ExportExitDateTime to exportExitDateTime It seems to be the most ubiquitous notation, and helps humans to interpret the data easier
Yep
As PoC we are going to generate an experiment version of the RDF Vocabulary for BSP RDM. It will be published in three formats - ttl, jsonld and html. As an output of this process, we should come to the NDR rules for RDM2API.