gs1 / WebVoc

GS1 Web vocabulary development site
Apache License 2.0
29 stars 6 forks source link

using double domain is not good #13

Open VladimirAlexiev opened 3 years ago

VladimirAlexiev commented 3 years ago

You use this for very many props:

rdfs:domain schema:Product, gs1:Product ;

By RDFS reasoning, whenever such a prop is used, it'll be declared both schema:Product and gs1:Product. I know you say in the intro these two classes are equivalent, but at the same time you're hesitant to declare them owl:equivalentClass. I don't think you should force schema:Product upon the users of the gs1: voc

Consider a counter-example:

gs1:Brand a rdfs:Class, owl:Class ; skos:exactMatch schema:Brand .
gs1:brand a rdf:Property; rdfs:range gs1:Brand ;

If you consider gs1:Brand equivalent to schema:Brand, then why not use a double domain in gs1:brand? (For clarity, I think you should NOT do this, neither for gs1:Brand nor gs1:Product)

VladimirAlexiev commented 3 years ago

EPCIS (https://github.com/gs1/EPCIS/issues/222) uses this approach:

rdfs:domain [owl:unionOf (schema:Product gs1:Product)];
schema:domainIncludes schema:Product, gs1:Product;