warrantyPromise vs warranty - should they be converged to a single property? #316

Closed
danbri opened this Issue Feb 3, 2015 · 9 comments

Projects

None yet

3 participants

@danbri
Contributor
danbri commented Feb 3, 2015
@danbri danbri self-assigned this Feb 3, 2015
@danbri danbri added this to the sdo-gozer release milestone Feb 3, 2015
@danbri
Contributor
danbri commented Apr 9, 2015
   On BuyAction, SellAction: http://schema.org/warrantyPromise "The warranty promise(s) included in the offer." vs 
   On Demand, Offer: http://schema.org/warranty (same text). 

Proposal: mark warranty as supersededBy warrantyPromise and have all domains included for both. 

@mfhepp any thoughts?

@danbri danbri referenced this issue Apr 9, 2015
Closed

Meta bug for sdo-gozer release - vocab issues #418

19 of 36 tasks complete
@mfhepp
Contributor
mfhepp commented Apr 9, 2015

I am perfectly fine with this and think it will not break anything in the GoodRelations model. Note that the range of warrantyScope can be both standardized scopes (like http://purl.org/goodrelations/v1#Labor-BringIn) or vendor-specific ones (the ACME heavenly all-inclusive warranty). So you should be able to cover most typical use cases. I also think it is natural that both offers and completed purchases have warranty promises.

PS: I would only potentially object attaching warrantyPromise to Product or Service directly, because the warranty promise is bound to the context of a commercial transaction.

PPS: We could think about extending the general model for warranty promises, but I would postpone that a little bit since the element is not heavily used at the moment.

@danbri
Contributor
danbri commented Apr 10, 2015

Ok, thanks. My thinking btw was that, given these two similarly named properties, the one to standardize on is the one with the most specific name, i.e. "warrantyPromise". However I realise now that this does run into another old issue that we try to avoid, which is having pairs of properties in which a property and a term have identical names except for their case (i.e. http://schema.org/WarrantyPromise vs http://schema.org/warrantyPromise).

Would converging on http://schema.org/warranty be ok, or is the property name too broad for its specific meaning?

@mfhepp
Contributor
mfhepp commented Apr 10, 2015

This is a historic relict from the GoodRelations integration, were the property name was http://purl.org/goodrelations/v1#hasWarrantyPromise.

The simplest solution, IMO, is to rename schema:WarrantyPromise to schema:WarrantyPromiseSpecification. That would be consistent with the naming we have for other such nodes, and since the pattern is not yet widely used, I think it will not really break a lot of applications and data if we just rename WarrantyPromise to schema:WarrantyPromiseSpecification.

Martin

@danbri
Contributor
danbri commented Apr 15, 2015

Here is what we have currently:

rdfa schema.rdfa |  grep -i warrantyPromise
<http://schema.org/warrantyPromise> <http://www.w3.org/2000/01/rdf-schema#comment> "The warranty promise(s) included in the offer." .
<http://schema.org/durationOfWarranty> <http://schema.org/domainIncludes> <http://schema.org/WarrantyPromise> .
<http://schema.org/WarrantyPromise> <http://purl.org/dc/terms/source> <http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass> .
<http://schema.org/warrantyPromise> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Property> .
<http://schema.org/WarrantyPromise> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> .
<http://schema.org/warrantyPromise> <http://schema.org/rangeIncludes> <http://schema.org/WarrantyPromise> .
<http://schema.org/warrantyPromise> <http://schema.org/domainIncludes> <http://schema.org/SellAction> .
<http://schema.org/WarrantyPromise> <http://www.w3.org/2000/01/rdf-schema#label> "WarrantyPromise" .
<http://schema.org/warrantyPromise> <http://schema.org/domainIncludes> <http://schema.org/BuyAction> .
<http://schema.org/WarrantyPromise> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://schema.org/StructuredValue> .
<http://schema.org/warranty> <http://schema.org/rangeIncludes> <http://schema.org/WarrantyPromise> .
<http://schema.org/warrantyPromise> <http://www.w3.org/2000/01/rdf-schema#label> "warrantyPromise" .
<http://schema.org/warrantyScope> <http://schema.org/domainIncludes> <http://schema.org/WarrantyPromise> .
<http://schema.org/WarrantyPromise> <http://www.w3.org/2000/01/rdf-schema#comment> "A structured value representing the duration and scope of services that will be provided to a customer free of charge in case of a defect or malfunction of a product." .
@danbri
Contributor
danbri commented Apr 15, 2015

OK, here's what I suggest.

  • NOW: mark warranty as supersededBy warrantyPromise and have all domains included for both.
  • Later: replace WarrantyPromise type with WarrantyPromiseSpecification (#426 was needed, but we also will need some UI / navigation changes to support supersededBy on types)

I'll open a fresh issue for latter.

@danbri danbri closed this in 9d55ffd Apr 15, 2015
@tmarshbing

Are the usage stats on sdo-gozer.appspot accurate? If so, it looks like warranty is relatively widely used, and much more so than warrantyPromise. Given this, perhaps we should just standardize on warranty.

@danbri
Contributor
danbri commented Apr 16, 2015

Seems to be consensus, I've flipped the new supersededBy link, which now has: warrantyPromise supersededBy warranty.

@danbri
Contributor
danbri commented Apr 16, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment