edi3 / edi3-json-ld-ndr

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

Replace rdfs:domain with schema:domainIncludes #37

Closed Fak3 closed 2 years ago

Fak3 commented 3 years ago

By the rdfs definition, specifying multiple rdfs:domain for the property means that property can only appear on a node, which must be an instance of ALL specified classes. But the way we generate the vocabulary requires us to define that property can appear on a node, which is an instance of ANY of the specified domain classes.

E.g. this is incorrect:

     {
            "@id": "edi3:RelevantTradeParty",
            "@type": "rdfs:Property",
            "rdfs:domain": [
                "edi3:TradeSettlement",
                "edi3:TradeAgreement"
            ],
    }

We should replace rdfs:domain with schema:domainIncludes to express the optionality of the choice.

We should do the same for range - replace rdfs:range with schema:rangeIncludes

kshychko commented 3 years ago

@Fak3 , please review the updated vocabulary - https://github.com/edi3/edi3.github.io/blob/bsp-update/_data/bsp.json It is a part of PR and will be merged soon.

In addition to using schema:domainIncludes and schema:rangeIncludes I updated the prefix from edi3 to unece to align with the guidance. Also I added "unece:status" set to "deprecated" for the BIEs/ASBIEs that have Publication Comment starting with "Deprecated. Publication comments, if they are not empty now added to the rdfs:comment

Fak3 commented 2 years ago

Done. Closing.