i40-Tools / I40KG

Contains the development for the Industry 4.0 standards knowledge graph (I40KG). Its current collaborative development is driven by VoCol - http://vocol.iais.fraunhofer.de/sto/
64 stars 24 forks source link

dcterms:license #53

Closed SpyrosKou closed 5 years ago

SpyrosKou commented 5 years ago

Hello and congratulations on the good work done so far.

One issue I noticed is that instead of using the http://purl.org/dc/terms/license which is documented here: http://dublincore.org/documents/dcmi-terms/#terms-license A similar property has been defined, namely: http://purl.org/dc/terms/hasLicense

This property is defined as an object propery, linking with a dcterms:LicenseDocument object:

###  http://purl.org/dc/terms/hasLicense
dcterms:hasLicense rdf:type owl:ObjectProperty ;
                   rdfs:domain sto:Standard ;
                   rdfs:range dcterms:LicenseDocument .

However out of the 19 times used in the Standards Ontology 18 times it is used as a DataProperty in the ontology. In particular: dcTerms:hasLicense "Private"@en ; Appears 12 times. dcterms:hasLicense "Public"@en ; Appears 4 times. dcterms:hasLicense "Open"@en ; Appears 2 times. dcterms:hasLicense sto:GPLv2 ; Appears 1 time.

A suggestion would be to replace the above statements with ObjectProperties.

  1. Create three individuals sto:PrivateLicenseDocument, sto:OpenLicenseDocument and sto:PublicLicenseDocument.
  2. Replace the above statements with statements such as:
    dcTerms:hasLicense sto:PrivateLicenseDocument
    dcterms:hasLicense sto:PublicLicenseDocument
    dcterms:hasLicense sto:OpenLicenseDocument

    I would also recommend using the original dcterms:license object propery and adding it to the sto:Standard class instead of defining dcterms;hasLicense.

I have prepared the aforementioned changes, I can push them if this is OK with you.

igrangel commented 5 years ago

You are totally correct. We started having the sto:hasLicense as datatype property and those that you pointed out are some errors left. Great that you have identified and corrected those errors. Please make a pull request.

SpyrosKou commented 5 years ago

Thank you,

I have created the pull request with all aforementioned changes. I also noticed that dcterms:hasLicense is used as an annotationProperty. By replacing dcterms:hasLicense with dcterms:license dcterms:hasLicense is only used as an annotationPropery.

igrangel commented 5 years ago

I removed the property dcterms:hasLicense.