linked-usdl / usdl-core

Linked USDL core is a the foundation module for the Linked USDL family of vocabularies. It basically covers four essential aspects: i)service descriptions, ii) service offerings descriptions, iii) business entities involvement, and iv) service delivery communication channels and interaction points.
5 stars 1 forks source link

Changes to Service Model #58

Closed cpedrinaci closed 11 years ago

cpedrinaci commented 11 years ago

On closer look at GoodRelations and at the includes property I realised that we were not modeling this right.

In GR, ProductOrServiceModel is a subclass of ProductOrService and I believe we should follow the same approach here if we want to have a close alignment with GR. In order to do the same we would need to have ServiceModel be a subclass of both Service and ProductOrServiceModel.

By doing so we can reuse quite a few properties actually. We can have offerings of concrete services or families of services, we have InvolvedEntities in both Services and ServiceModels, the same for interaction points, etc.

Thoughts? If you agree I'll make the changes in the model.

jorge-cardoso commented 11 years ago

It makes sense to have ServiceModel has a subclass of Service since GR does the same thing.

Having ServiceModel as a subclass of ProductOrServiceModel seems to be less intuitive since many of the properties inherited apply products (e.g. gr:color gr:condition gr:depth gr:hasEAN_UCC-13 gr:hasGTIN-14 gr:hasGTIN-8 gr:hasMPN gr:hasStockKeepingUnit gr:height gr:isAccessoryOrSparePartFor gr:weight gr:width )

Nonetheless, I agree with the change

cpedrinaci commented 11 years ago

Yes, indeed. The reason for this additional subclassing is again the same that got us subclass ProductOrService with usdl:Service in the first place. GR is very product centric...

We could avoid doing it but in this case it would look quite odd with regards to the integration with GR.

drleidig commented 11 years ago

I agree to the proposed change although it looks somehow redundant.