rdf 1.99.1 → 2.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/{README → README.md} +9 -44
  3. data/VERSION +1 -1
  4. data/bin/rdf +1 -1
  5. data/lib/rdf.rb +40 -49
  6. data/lib/rdf/changeset.rb +161 -0
  7. data/lib/rdf/cli.rb +195 -33
  8. data/lib/rdf/cli/vocab-loader.rb +13 -3
  9. data/lib/rdf/format.rb +44 -26
  10. data/lib/rdf/mixin/enumerable.rb +133 -97
  11. data/lib/rdf/mixin/enumerator.rb +8 -0
  12. data/lib/rdf/mixin/indexable.rb +1 -1
  13. data/lib/rdf/mixin/mutable.rb +101 -22
  14. data/lib/rdf/mixin/queryable.rb +21 -32
  15. data/lib/rdf/mixin/transactable.rb +94 -0
  16. data/lib/rdf/mixin/writable.rb +12 -3
  17. data/lib/rdf/model/dataset.rb +48 -0
  18. data/lib/rdf/model/graph.rb +73 -43
  19. data/lib/rdf/model/list.rb +61 -33
  20. data/lib/rdf/model/literal.rb +20 -19
  21. data/lib/rdf/model/literal/double.rb +20 -4
  22. data/lib/rdf/model/literal/numeric.rb +15 -13
  23. data/lib/rdf/model/node.rb +15 -16
  24. data/lib/rdf/model/statement.rb +1 -43
  25. data/lib/rdf/model/term.rb +10 -8
  26. data/lib/rdf/model/uri.rb +35 -34
  27. data/lib/rdf/model/value.rb +1 -1
  28. data/lib/rdf/nquads.rb +2 -11
  29. data/lib/rdf/ntriples.rb +1 -1
  30. data/lib/rdf/ntriples/reader.rb +33 -46
  31. data/lib/rdf/ntriples/writer.rb +42 -5
  32. data/lib/rdf/query.rb +6 -40
  33. data/lib/rdf/query/pattern.rb +4 -17
  34. data/lib/rdf/query/solutions.rb +6 -6
  35. data/lib/rdf/reader.rb +65 -14
  36. data/lib/rdf/repository.rb +365 -229
  37. data/lib/rdf/transaction.rb +211 -84
  38. data/lib/rdf/util.rb +1 -0
  39. data/lib/rdf/util/cache.rb +5 -5
  40. data/lib/rdf/util/file.rb +12 -9
  41. data/lib/rdf/util/logger.rb +272 -0
  42. data/lib/rdf/version.rb +2 -2
  43. data/lib/rdf/vocab/owl.rb +82 -77
  44. data/lib/rdf/vocab/rdfs.rb +22 -17
  45. data/lib/rdf/vocab/xsd.rb +5 -0
  46. data/lib/rdf/vocabulary.rb +50 -56
  47. data/lib/rdf/writer.rb +104 -52
  48. metadata +45 -90
  49. data/lib/rdf/mixin/inferable.rb +0 -5
  50. data/lib/rdf/vocab/cc.rb +0 -128
  51. data/lib/rdf/vocab/cert.rb +0 -245
  52. data/lib/rdf/vocab/dc.rb +0 -948
  53. data/lib/rdf/vocab/dc11.rb +0 -167
  54. data/lib/rdf/vocab/dcat.rb +0 -214
  55. data/lib/rdf/vocab/doap.rb +0 -337
  56. data/lib/rdf/vocab/exif.rb +0 -941
  57. data/lib/rdf/vocab/foaf.rb +0 -614
  58. data/lib/rdf/vocab/geo.rb +0 -157
  59. data/lib/rdf/vocab/gr.rb +0 -1501
  60. data/lib/rdf/vocab/ht.rb +0 -236
  61. data/lib/rdf/vocab/ical.rb +0 -528
  62. data/lib/rdf/vocab/ma.rb +0 -513
  63. data/lib/rdf/vocab/mo.rb +0 -2412
  64. data/lib/rdf/vocab/og.rb +0 -222
  65. data/lib/rdf/vocab/ogc.rb +0 -58
  66. data/lib/rdf/vocab/prov.rb +0 -1550
  67. data/lib/rdf/vocab/rsa.rb +0 -72
  68. data/lib/rdf/vocab/rss.rb +0 -66
  69. data/lib/rdf/vocab/schema.rb +0 -10569
  70. data/lib/rdf/vocab/sioc.rb +0 -669
  71. data/lib/rdf/vocab/skos.rb +0 -238
  72. data/lib/rdf/vocab/skosxl.rb +0 -57
  73. data/lib/rdf/vocab/v.rb +0 -383
  74. data/lib/rdf/vocab/vcard.rb +0 -841
  75. data/lib/rdf/vocab/vmd.rb +0 -383
  76. data/lib/rdf/vocab/void.rb +0 -186
  77. data/lib/rdf/vocab/vs.rb +0 -28
  78. data/lib/rdf/vocab/wdrs.rb +0 -134
  79. data/lib/rdf/vocab/wot.rb +0 -167
  80. data/lib/rdf/vocab/xhtml.rb +0 -8
  81. data/lib/rdf/vocab/xhv.rb +0 -505
@@ -1,157 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- # This file generated automatically using vocab-fetch from http://www.w3.org/2003/01/geo/wgs84_pos#
3
- require 'rdf'
4
- module RDF
5
- # @deprecated Please use `RDF::Vocab::GEO` from the rdf-vocab gem instead
6
- class GEO < RDF::StrictVocabulary("http://www.w3.org/2003/01/geo/wgs84_pos#")
7
-
8
- # Class definitions
9
- term :Point,
10
- comment: [%(A point, typically described using a coordinate system relative to Earth, such as WGS84.
11
- ).freeze, %(
12
- Uniquely identified by lat/long/alt. i.e.
13
-
14
- spaciallyIntersects\(P1, P2\) :- lat\(P1, LAT\), long\(P1, LONG\), alt\(P1, ALT\),
15
- lat\(P2, LAT\), long\(P2, LONG\), alt\(P2, ALT\).
16
-
17
- sameThing\(P1, P2\) :- type\(P1, Point\), type\(P2, Point\), spaciallyIntersects\(P1, P2\).
18
- ).freeze],
19
- label: "point".freeze,
20
- subClassOf: "geo:SpatialThing".freeze,
21
- type: "rdfs:Class".freeze
22
- term :SpatialThing,
23
- comment: %(Anything with spatial extent, i.e. size, shape, or position.
24
- e.g. people, places, bowling balls, as well as abstract areas like cubes.
25
- ).freeze,
26
- label: "SpatialThing".freeze,
27
- type: "rdfs:Class".freeze
28
-
29
- # Property definitions
30
- property :alt,
31
- comment: %(The WGS84 altitude of a SpatialThing \(decimal meters
32
- above the local reference ellipsoid\).).freeze,
33
- domain: "geo:SpatialThing".freeze,
34
- label: "altitude".freeze,
35
- type: "rdf:Property".freeze
36
- property :lat,
37
- comment: %(The WGS84 latitude of a SpatialThing \(decimal degrees\).).freeze,
38
- domain: "geo:SpatialThing".freeze,
39
- label: "latitude".freeze,
40
- type: "rdf:Property".freeze
41
- property :lat_long,
42
- comment: %(A comma-separated representation of a latitude, longitude coordinate.).freeze,
43
- label: "lat/long".freeze,
44
- type: "rdf:Property".freeze
45
- property :location,
46
- comment: %(The relation between something and the point,
47
- or other geometrical thing in space, where it is. For example, the realtionship between
48
- a radio tower and a Point with a given lat and long.
49
- Or a relationship between a park and its outline as a closed arc of points, or a road and
50
- its location as a arc \(a sequence of points\).
51
- Clearly in practice there will be limit to the accuracy of any such statement, but one would expect
52
- an accuracy appropriate for the size of the object and uses such as mapping .
53
- ).freeze,
54
- label: "location".freeze,
55
- range: "geo:SpatialThing".freeze,
56
- subPropertyOf: "foaf:based_near".freeze,
57
- type: "rdf:Property".freeze
58
- property :long,
59
- comment: %(The WGS84 longitude of a SpatialThing \(decimal degrees\).).freeze,
60
- domain: "geo:SpatialThing".freeze,
61
- label: "longitude".freeze,
62
- type: "rdf:Property".freeze
63
-
64
- # Extra definitions
65
- term :"",
66
- comment: %(
67
- Recent changes to this namespace:
68
- $Log: wgs84_pos.rdf,v $
69
- Revision 1.22 2009/04/20 15:00:30 timbl
70
- Remove the time bits which have been deal with elsewhere eg in iCal.
71
-
72
- Revision 1.21 2009/04/20 12:52:47 timbl
73
- try again
74
-
75
- Revision 1.20 2009/04/20 12:42:11 timbl
76
- Add Event \(edited ages ago and never checked in\), and location \(following discussion http://chatlogs.planetrdf.com/swig/2009-04-20#T12-36-09\)
77
-
78
- Revision 1.19 2009/04/20 12:36:31 timbl
79
- Add Event \(edited ages ago and never checked in\), and location \(following discussion http://chatlogs.planetrdf.com/swig/2009-04-20#T12-36-09\)
80
-
81
- Revision 1.18 2006/02/01 22:01:04 danbri
82
- Clarified that lat and long are decimal degrees, and that alt is decimal metres about local reference ellipsoid
83
-
84
- Revision 1.17 2004/02/06 17:38:12 danbri
85
- Fixed a bad commit screwup
86
-
87
- Revision 1.15 2003/04/19 11:24:08 danbri
88
- Fixed the typo even more.
89
-
90
- Revision 1.14 2003/04/19 11:16:56 danbri
91
- fixed a typo
92
-
93
- Revision 1.13 2003/02/19 22:27:27 connolly
94
- relaxed domain constraints on lat/long/alt from Point to SpatialThing
95
-
96
- Revision 1.12 2003/01/12 01:41:41 danbri
97
- Trying local copy of XSLT doc.
98
-
99
- Revision 1.11 2003/01/12 01:20:18 danbri
100
- added a link to morten's xslt rdfs viewer.
101
-
102
- Revision 1.10 2003/01/11 18:56:49 danbri
103
- Removed datatype range from lat and long properties, since they would
104
- have required each occurance of the property to mention the datatype.
105
-
106
- Revision 1.9 2003/01/11 11:41:31 danbri
107
- Another typo; repaired rdfs:Property to rdf:Property x4
108
-
109
- Revision 1.8 2003/01/11 11:05:02 danbri
110
- Added an rdfs:range for each lat/long/alt property,
111
- http://www.w3.org/2001/XMLSchema#float
112
-
113
- Revision 1.7 2003/01/10 20:25:16 danbri
114
- Longer rdfs:comment for Point, trying to be Earth-centric and neutral about
115
- coordinate system\(s\) at the same time. Feedback welcomed.
116
-
117
- Revision 1.6 2003/01/10 20:18:30 danbri
118
- Added CVS log comments into the RDF/XML as an rdfs:comment property of the
119
- vocabulary. Note that this is not common practice \(but seems both harmless
120
- and potentially useful\).
121
-
122
-
123
- revision 1.5
124
- date: 2003/01/10 20:14:31; author: danbri; state: Exp; lines: +16 -5
125
- Updated schema:
126
- Added a dc:date, added url for more info. Changed the rdfs:label of the
127
- namespace from gp to geo. Added a class Point, set as the rdfs:domain of
128
- each property. Added XML comment on the lat_long property suggesting that
129
- we might not need it \(based on #rdfig commentary from implementors\).
130
-
131
- revision 1.4
132
- date: 2003/01/10 20:01:07; author: danbri; state: Exp; lines: +6 -5
133
- Fixed typo; several rdfs:about attributes are now rdf:about. Thanks to MortenF in
134
- #rdfig for catching this error.
135
-
136
- revision 1.3
137
- date: 2003/01/10 11:59:03; author: danbri; state: Exp; lines: +4 -3
138
- fixed buglet in vocab, added more wgs links
139
-
140
- revision 1.2
141
- date: 2003/01/10 11:01:11; author: danbri; state: Exp; lines: +4 -4
142
- Removed alt from the as-a-flat-string property, and switched from
143
- space separated to comma separated.
144
-
145
- revision 1.1
146
- date: 2003/01/10 10:53:23; author: danbri; state: Exp;
147
- basic geo vocab
148
-
149
- ).freeze,
150
- "dc11:date" => %($Date: 2009/04/20 15:00:30 $).freeze,
151
- "dc11:description" => %(A vocabulary for representing latitude, longitude and
152
- altitude information in the WGS84 geodetic reference datum.
153
- Version $Id: wgs84_pos.rdf,v 1.22 2009/04/20 15:00:30 timbl Exp $. See http://www.w3.org/2003/01/geo/ for more details.).freeze,
154
- "dc11:title" => %(WGS84 Geo Positioning: an RDF vocabulary).freeze,
155
- label: "geo".freeze
156
- end
157
- end
@@ -1,1501 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- # This file generated automatically using vocab-fetch from http://www.heppnetz.de/ontologies/goodrelations/v1.owl
3
- require 'rdf'
4
- module RDF
5
- # @deprecated Please use `RDF::Vocab::GR` from the rdf-vocab gem instead
6
- class GR < RDF::StrictVocabulary("http://purl.org/goodrelations/v1#")
7
-
8
- # Class definitions
9
- term :ActualProductOrServiceInstance,
10
- comment: %(DEPRECATED - This class is superseded by gr:Individual. Replace all occurrences of gr:ActualProductOrServiceInstance by gr:Individual, if possible.).freeze,
11
- label: "Actual product or service instance (DEPRECATED)".freeze,
12
- "owl:deprecated" => %(true).freeze,
13
- "owl:equivalentClass" => %(gr:Individual).freeze,
14
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
15
- subClassOf: "gr:ProductOrService".freeze,
16
- type: "owl:Class".freeze
17
- term :Brand,
18
- comment: %(A brand is the identity of a specific product, service, or business. Use foaf:logo for attaching a brand logo and gr:name or rdfs:label for attaching the brand name.
19
-
20
- \(Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Brand\)).freeze,
21
- label: "Brand".freeze,
22
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:Offering).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:WarrantyScope).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
23
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
24
- type: "owl:Class".freeze
25
- term :BusinessEntity,
26
- comment: %(An instance of this class represents the legal agent making \(or seeking\) a particular offering. This can be a legal body or a person. A business entity has at least a primary mailing address and contact details. For this, typical address standards \(vCard\) and location data \(geo, WGS84\) can be attached. Note that the location of the business entity is not necessarily the location from which the product or service is being available \(e.g. the branch or store\). Use gr:Location for stores and branches.
27
-
28
- Example: Siemens Austria AG, Volkswagen Ltd., Peter Miller's Cell phone Shop LLC
29
-
30
- Compatibility with schema.org: This class is equivalent to the union of http://schema.org/Person and http://schema.org/Organization.
31
- ).freeze,
32
- label: "Business entity".freeze,
33
- "owl:disjointWith" => [%(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:WarrantyScope).freeze, %(gr:DeliveryMethod).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
34
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
35
- type: "owl:Class".freeze
36
- term :BusinessEntityType,
37
- comment: %(A business entity type is a conceptual entity representing the legal form, the size, the main line of business, the position in the value chain, or any combination thereof, of a gr:BusinessEntity. From the ontological point of view, business entity types are mostly roles that a business entity has in the market. Business entity types are important for specifying eligible customers, since a gr:Offering is often valid only for business entities of a certain size, legal structure, or role in the value chain.
38
-
39
- Examples: Consumers, Retailers, Wholesalers, or Public Institutions).freeze,
40
- label: "Business entity type".freeze,
41
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:WarrantyScope).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
42
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
43
- type: "owl:Class".freeze
44
- term :BusinessFunction,
45
- comment: %(The business function specifies the type of activity or access \(i.e., the bundle of rights\) offered by the gr:BusinessEntity on the gr:ProductOrService through the gr:Offering. Typical are sell, rental or lease, maintenance or repair, manufacture / produce, recycle / dispose, engineering / construction, or installation.
46
-
47
- Licenses and other proprietary specifications of access rights are also instances of this class.
48
-
49
- Examples: A particular offering made by Miller Rentals Ltd. says that they \(1\) sell Volkswagen Golf convertibles, \(2\) lease out a particular Ford pick-up truck, and \(3\) dispose car wrecks of any make and model.).freeze,
50
- label: "Business function".freeze,
51
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:Offering).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:Brand).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:WarrantyScope).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
52
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
53
- type: "owl:Class".freeze
54
- term :DayOfWeek,
55
- comment: %(The day of the week, used to specify to which day the opening hours of a gr:OpeningHoursSpecification refer.
56
-
57
- Examples: Monday, Tuesday, Wednesday,...).freeze,
58
- label: "Day of week".freeze,
59
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:Brand).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:WarrantyScope).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:Offering).freeze, %(gr:TypeAndQuantityNode).freeze],
60
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
61
- type: "owl:Class".freeze
62
- term :DeliveryChargeSpecification,
63
- comment: %(A delivery charge specification is a conceptual entity that specifies the additional costs asked for the delivery of a given gr:Offering using a particular gr:DeliveryMethod by the respective gr:BusinessEntity. A delivery charge specification is characterized by \(1\) a monetary amount per order, specified as a literal value of type float in combination with a currency, \(2\) the delivery method, \(3\) the target country or region, and \(4\) whether this charge includes local sales taxes, namely VAT.
64
- A gr:Offering may be linked to multiple gr:DeliveryChargeSpecification nodes that specify alternative charges for disjoint combinations of target countries or regions, and delivery methods.
65
-
66
- Examples: Delivery by direct download is free of charge worldwide, delivery by UPS to Germany is 10 Euros per order, delivery by mail within the US is 5 Euros per order.
67
-
68
- The total amount of this charge is specified as a float value of the gr:hasCurrencyValue property. The currency is specified via the gr:hasCurrency datatype property. Whether the price includes VAT or not is indicated by the gr:valueAddedTaxIncluded property. The gr:DeliveryMethod to which this charge applies is specified using the gr:appliesToDeliveryMethod object property. The region or regions to which this charge applies is specified using the gr:eligibleRegions property, which uses ISO 3166-1 and ISO 3166-2 codes.
69
-
70
- If the price can only be given as a range, use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue for the upper and lower bounds.
71
-
72
- Important: When querying for the price, always use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue.).freeze,
73
- label: "Delivery charge specification".freeze,
74
- "owl:disjointWith" => [%(gr:PaymentChargeSpecification).freeze, %(gr:UnitPriceSpecification).freeze],
75
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
76
- subClassOf: "gr:PriceSpecification".freeze,
77
- type: "owl:Class".freeze
78
- term :DeliveryMethod,
79
- comment: %(A delivery method is a standardized procedure for transferring the product or service to the destination of fulfilment chosen by the customer. Delivery methods are characterized by the means of transportation used, and by the organization or group that is the contracting party for the sending gr:BusinessEntity \(this is important, since the contracted party may subcontract the fulfilment to smaller, regional businesses\).
80
-
81
- Examples: Delivery by mail, delivery by direct download, delivery by UPS).freeze,
82
- label: "Delivery method".freeze,
83
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:WarrantyScope).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
84
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
85
- type: "owl:Class".freeze
86
- term :DeliveryModeParcelService,
87
- comment: %(A private parcel service as the delivery mode available for a certain offering.
88
-
89
- Examples: UPS, DHL).freeze,
90
- label: "Delivery mode parcel service".freeze,
91
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
92
- subClassOf: "gr:DeliveryMethod".freeze,
93
- type: "owl:Class".freeze
94
- term :Individual,
95
- comment: %(A gr:Individual is an actual product or service instance, i.e., a single identifiable object or action that creates some increase in utility \(in the economic sense\) for the individual possessing or using this very object \(product\) or for the individual in whose favor this very action is being taken \(service\). Products or services are types of goods in the economic sense. For an overview of goods and commodities in economics, see Milgate \(1987\).
96
-
97
- Examples: MyThinkpad T60, the pint of beer standing in front of me, my Volkswagen Golf, the haircut that I received or will be receiving at a given date and time.
98
-
99
- Note 1: In many cases, product or service instances are not explicitly exposed on the Web but only claimed to exist \(i.e. existentially quantified\). In this case, use gr:SomeItems.
100
- Note 2: This class is the new, shorter form of the former gr:ActualProductOrServiceInstance.
101
-
102
- Compatibility with schema.org: This class is a subclass of http://schema.org/Product.).freeze,
103
- label: "Individual".freeze,
104
- "owl:disjointWith" => [%(gr:SomeItems).freeze, %(gr:ProductOrServiceModel).freeze],
105
- "owl:equivalentClass" => %(gr:ActualProductOrServiceInstance).freeze,
106
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
107
- subClassOf: ["gr:ProductOrService".freeze, "schema:Product".freeze],
108
- type: "owl:Class".freeze
109
- term :License,
110
- comment: %(A license is the specification of a bundle of rights that determines the type of activity or access offered by the gr:BusinessEntity on the gr:ProductOrService through the gr:Offering.
111
-
112
- Licenses can be standardized \(e.g. LPGL, Creative Commons, ...\), vendor-specific, or individually defined for a single offer or product. Whether there is a fee for obtaining the license is specified using the gr:UnitPriceSpecification attached to the gr:Offering. Use foaf:page for linking to a document containing the license, e.g. in PDF or HTML.).freeze,
113
- label: "License".freeze,
114
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
115
- subClassOf: "gr:BusinessFunction".freeze,
116
- type: "owl:Class".freeze
117
- term :Location,
118
- comment: %(A location is a point or area of interest from which a particular product or service is available, e.g. a store, a bus stop, a gas station, or a ticket booth. The difference to gr:BusinessEntity is that the gr:BusinessEntity is the legal entity \(e.g. a person or corporation\) making the offer, while gr:Location is the store, office, or place. A chain restaurant will e.g. have one legal entity but multiple restaurant locations. Locations are characterized by an address or geographical position and a set of opening hour specifications for various days of the week.
119
-
120
- Example: A rental car company may offer the Business Function Lease Out of cars from two locations, one in Fort Myers, Florida, and one in Boston, Massachussetts. Both stations are open 7:00 - 23:00 Mondays through Saturdays.
121
-
122
- Note: Typical address standards \(vcard\) and location data \(geo, WGC84\) should be attached to a gr:Location node. Since there already exist established vocabularies for this, the GoodRelations ontology does not provide respective attributes. Instead, the use of respective vocabularies is recommended. However, the gr:hasGlobalLocationNumber property is provided for linking to public identifiers for business locations.
123
-
124
- Compatibility with schema.org: This class is equivalent to http://schema.org/Place.).freeze,
125
- label: "Location".freeze,
126
- "owl:disjointWith" => [%(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:WarrantyScope).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
127
- "owl:equivalentClass" => %(gr:LocationOfSalesOrServiceProvisioning).freeze,
128
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
129
- type: "owl:Class".freeze
130
- term :LocationOfSalesOrServiceProvisioning,
131
- comment: %(DEPRECATED - This class is superseded by gr:Location. Replace all occurrences of gr:LocationOfSalesOrServiceProvisioning by gr:Location, if possible.).freeze,
132
- label: "Location of sales or service provisioning (DEPRECATED)".freeze,
133
- "owl:deprecated" => %(true).freeze,
134
- "owl:equivalentClass" => %(gr:Location).freeze,
135
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
136
- type: "owl:Class".freeze
137
- term :"N-Ary-Relations",
138
- comment: %(This is the superclass for all classes that are placeholders for n-ary relations, which OWL cannot represent.
139
- DEPRECATED. Do not use this class in data or queries.).freeze,
140
- label: "N-ary relations (DEPRECATED)".freeze,
141
- "owl:deprecated" => %(true).freeze,
142
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
143
- type: "owl:Class".freeze
144
- term :Offering,
145
- comment: %(An offering represents the public, not necessarily binding, not necessarily exclusive, announcement by a gr:BusinessEntity to provide \(or seek\) a certain gr:BusinessFunction for a certain gr:ProductOrService to a specified target audience. An offering is specified by the type of product or service or bundle it refers to, what business function is being offered \(sales, rental, ...\), and a set of commercial properties. It can either refer to
146
- \(1\) a clearly specified instance \(gr:Individual\),
147
- \(2\) to a set of anonymous instances of a given type \(gr:SomeItems\),
148
- \(3\) a product model specification \(gr:ProductOrServiceModel\), see also section 3.3.3 of the GoodRelations Technical Report.
149
-
150
- An offering may be constrained in terms of the eligible type of business partner, countries, quantities, and other commercial properties. The definition of the commercial properties, the type of product offered, and the business function are explained in other parts of this vocabulary in more detail.
151
-
152
- Example: Peter Miller offers to repair TV sets made by Siemens, Volkswagen Innsbruck sells a particular instance of a Volkswagen Golf at $10,000.
153
-
154
- Compatibility with schema.org: This class is a superclass to http://schema.org/Offer, since gr:Offering can also represent demand.).freeze,
155
- label: "Offering".freeze,
156
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:WarrantyScope).freeze, %(gr:Brand).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:QualitativeValue).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
157
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
158
- type: "owl:Class".freeze
159
- term :OpeningHoursSpecification,
160
- comment: %(This is a conceptual entity that holds together all information about the opening hours on a given day \(gr:DayOfWeek\).).freeze,
161
- label: "Opening hours specification".freeze,
162
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:WarrantyScope).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
163
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
164
- type: "owl:Class".freeze
165
- term :PaymentChargeSpecification,
166
- comment: %(A payment charge specification is a conceptual entity that specifies the additional costs asked for settling the payment after accepting a given gr:Offering using a particular gr:PaymentMethod. A payment charge specification is characterized by \(1\) a monetary amount per order specified as a literal value of type float in combination with a Currency, \(2\) the payment method, and \(3\) a whether this charge includes local sales taxes, namely VAT.
167
- A gr:Offering may be linked to multiple payment charge specifications that specify alternative charges for various payment methods.
168
-
169
- Examples: Payment by VISA or Mastercard costs a fee of 3 Euros including VAT, payment by bank transfer in advance is free of charge.
170
-
171
- The total amount of this surcharge is specified as a float value of the gr:hasCurrencyValue property. The currency is specified via the gr:hasCurrency datatype property. Whether the price includes VAT or not is indicated by the gr:valueAddedTaxIncluded datatype property. The gr:PaymentMethod to which this charge applies is specified using the gr:appliesToPaymentMethod object property.
172
-
173
- If the price can only be given as a range, use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue for the upper and lower bounds.
174
-
175
- Important: When querying for the price, always use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue.).freeze,
176
- label: "Payment charge specification".freeze,
177
- "owl:disjointWith" => [%(gr:UnitPriceSpecification).freeze, %(gr:DeliveryChargeSpecification).freeze],
178
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
179
- subClassOf: "gr:PriceSpecification".freeze,
180
- type: "owl:Class".freeze
181
- term :PaymentMethod,
182
- comment: %(A payment method is a standardized procedure for transferring the monetary amount for a purchase. Payment methods are characterized by the legal and technical structures used, and by the organization or group carrying out the transaction. This element is mostly used for specifying the types of payment accepted by a gr:BusinessEntity.
183
-
184
- Examples: VISA, MasterCard, Diners, cash, or bank transfer in advance.).freeze,
185
- label: "Payment method".freeze,
186
- "owl:disjointWith" => [%(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:BusinessEntityType).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:QuantitativeValue).freeze, %(gr:WarrantyPromise).freeze, %(gr:WarrantyScope).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
187
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
188
- type: "owl:Class".freeze
189
- term :PaymentMethodCreditCard,
190
- comment: %(The subclass of gr:PaymentMethod represents all variants and brands of credit or debit cards as a standardized procedure for transferring the monetary amount for a purchase. It is mostly used for specifying the types of payment accepted by a gr:Business Entity.
191
-
192
- Examples: VISA, MasterCard, or American Express.).freeze,
193
- label: "Payment method credit card".freeze,
194
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
195
- subClassOf: "gr:PaymentMethod".freeze,
196
- type: "owl:Class".freeze
197
- term :PriceSpecification,
198
- comment: %(The superclass of all price specifications.).freeze,
199
- label: "Price specification".freeze,
200
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:WarrantyScope).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
201
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
202
- type: "owl:Class".freeze
203
- term :ProductOrService,
204
- comment: %(The superclass of all classes describing products or services types, either by nature or purpose. Examples for such subclasses are "TV set", "vacuum cleaner", etc. An instance of this class can be either an actual product or service \(gr:Individual\), a placeholder instance for unknown instances of a mass-produced commodity \(gr:SomeItems\), or a model / prototype specification \(gr:ProductOrServiceModel\). When in doubt, use gr:SomeItems.
205
-
206
- Examples:
207
- a\) MyCellphone123, i.e. my personal, tangible cell phone \(gr:Individual\)
208
- b\) Siemens1234, i.e. the Siemens cell phone make and model 1234 \(gr:ProductOrServiceModel\)
209
- c\) dummyCellPhone123 as a placeholder for actual instances of a certain kind of cell phones \(gr:SomeItems\)
210
-
211
- Note: Your first choice for specializations of gr:ProductOrService should be http://www.productontology.org.
212
-
213
- Compatibility with schema.org: This class is \(approximately\) equivalent to http://schema.org/Product.).freeze,
214
- label: "Product or service".freeze,
215
- "owl:disjointWith" => [%(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:BusinessEntityType).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:QuantitativeValue).freeze, %(gr:WarrantyPromise).freeze, %(gr:WarrantyScope).freeze, %(gr:DeliveryMethod).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
216
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
217
- type: "owl:Class".freeze
218
- term :ProductOrServiceModel,
219
- comment: %(A product or service model is a intangible entity that specifies some characteristics of a group of similar, usually mass-produced products, in the sense of a prototype. In case of mass-produced products, there exists a relation gr:hasMakeAndModel between the actual product or service \(gr:Individual or gr:SomeItems\) and the prototype \(gr:ProductOrServiceModel\). GoodRelations treats product or service models as "prototypes" instead of a completely separate kind of entities, because this allows using the same domain-specific properties \(e.g. gr:weight\) for describing makes and models and for describing actual products.
220
-
221
- Examples: Ford T, Volkswagen Golf, Sony Ericsson W123 cell phone
222
-
223
- Note: An actual product or service \(gr:Individual\) by default shares the features of its model \(e.g. the weight\). However, this requires non-standard reasoning. See http://wiki.goodrelations-vocabulary.org/Axioms for respective rule sets.
224
-
225
- Compatibility with schema.org: This class is \(approximately\) a subclass of http://schema.org/Product.).freeze,
226
- label: "Product or service model".freeze,
227
- "owl:disjointWith" => [%(gr:SomeItems).freeze, %(gr:BusinessEntity).freeze, %(gr:Individual).freeze, %(gr:Brand).freeze],
228
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
229
- subClassOf: ["gr:ProductOrService".freeze, "schema:Product".freeze],
230
- type: "owl:Class".freeze
231
- term :ProductOrServicesSomeInstancesPlaceholder,
232
- comment: %(DEPRECATED - This class is superseded by gr:SomeItems. Replace all occurrences of gr:ProductOrServicesSomeInstancesPlaceholder by gr:SomeItems, if possible.).freeze,
233
- label: "Product or services some instances placeholder (DEPRECATED)".freeze,
234
- "owl:deprecated" => %(true).freeze,
235
- "owl:equivalentClass" => %(gr:SomeItems).freeze,
236
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
237
- subClassOf: "gr:ProductOrService".freeze,
238
- type: "owl:Class".freeze
239
- term :QualitativeValue,
240
- comment: %(A qualitative value is a predefined value for a product characteristic.
241
-
242
- Examples: the color "green" or the power cord plug type "US"; the garment sizes "S", "M", "L", and "XL".
243
-
244
- Note: Value sets are supported by creating subclasses of this class. Ordinal relations between values \(gr:greater, gr:lesser, ...\) are provided directly by GoodRelations.
245
-
246
- Compatibility with schema.org: This class is equivalent to http://schema.org/Enumeration.).freeze,
247
- label: "Qualitative value".freeze,
248
- "owl:disjointWith" => [%(gr:QuantitativeValue).freeze, %(gr:TypeAndQuantityNode).freeze, %(gr:Offering).freeze],
249
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
250
- type: "owl:Class".freeze
251
- term :QuantitativeValue,
252
- comment: %(A quantitative value is a numerical interval that represents the range of a certain gr:quantitativeProductOrServiceProperty in terms of the lower and upper bounds for a particular gr:ProductOrService. It is to be interpreted in combination with the respective unit of measurement. Most quantitative values are intervals even if they are in practice often treated as a single point value.
253
-
254
- Example: a weight between 10 and 25 kilogramms, a length between 10 and 15 milimeters.
255
-
256
- Compatibility with schema.org: This class is equivalent to http://schema.org/Quantity.).freeze,
257
- label: "Quantitative value".freeze,
258
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:BusinessEntityType).freeze, %(gr:WarrantyScope).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:QualitativeValue).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
259
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
260
- type: "owl:Class".freeze
261
- term :QuantitativeValueFloat,
262
- comment: %(An instance of this class is an actual float value for a quantitative property of a product. This instance is usually characterized by a minimal value, a maximal value, and a unit of measurement.
263
-
264
- Examples: The intervals "between 10.0 and 25.4 kilogramms" or "10.2 and 15.5 milimeters".
265
-
266
- Compatibility with schema.org: This class is a subclass of http://schema.org/Quantity.).freeze,
267
- label: "Quantitative value float".freeze,
268
- "owl:disjointWith" => %(gr:QuantitativeValueInteger).freeze,
269
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
270
- subClassOf: "gr:QuantitativeValue".freeze,
271
- type: "owl:Class".freeze
272
- term :QuantitativeValueInteger,
273
- comment: %(An instance of this class is an actual integer value for a quantitative property of a product. This instance is usually characterized by a minimal value, a maximal value, and a unit of measurement.
274
-
275
- Example: A seating capacity between 1 and 8 persons.
276
-
277
- Note: Users must keep in mind that ranges in here mean that ALL possible values in this interval are covered. \(Sometimes, the actual commitment may be less than that: "We sell cars from 2 - 12 seats" does often not really mean that they have cars with 2,3,4,...12 seats.\). Someone renting out two types of rowing boats, one that fits for 1 or 2 people, and another that must be operated by 4 people cannot claim to rent boats with a seating capacity between 1 and 4 people. He or she is offering two boat types for 1-2 and 4 persons.
278
-
279
- Compatibility with schema.org: This class is a subclass of http://schema.org/Quantity.).freeze,
280
- label: "Quantitative value integer".freeze,
281
- "owl:disjointWith" => %(gr:QuantitativeValueFloat).freeze,
282
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
283
- subClassOf: "gr:QuantitativeValue".freeze,
284
- type: "owl:Class".freeze
285
- term :SomeItems,
286
- comment: %(A placeholder instance for unknown instances of a mass-produced commodity. This is used as a computationally cheap work-around for such instances that are not individually exposed on the Web but just stated to exist \(i.e., which are existentially quantified\).
287
-
288
- Example: An instance of this class can represent an anonymous set of green Siemens1234 phones. It is different from the gr:ProductOrServiceModel Siemens1234, since this refers to the make and model, and it is different from a particular instance of this make and model \(e.g. my individual phone\) since the latter can be sold only once.
289
-
290
- Note: This class is the new, shorter form of the former gr:ProductOrServicesSomeInstancesPlaceholder.
291
-
292
- Compatibility with schema.org: This class is \(approximately\) a subclass of http://schema.org/Product.).freeze,
293
- label: "Some items".freeze,
294
- "owl:disjointWith" => [%(gr:ProductOrServiceModel).freeze, %(gr:Individual).freeze],
295
- "owl:equivalentClass" => %(gr:ProductOrServicesSomeInstancesPlaceholder).freeze,
296
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
297
- subClassOf: ["gr:ProductOrService".freeze, "schema:Product".freeze],
298
- type: "owl:Class".freeze
299
- term :TypeAndQuantityNode,
300
- comment: %(This class collates all the information about a gr:ProductOrService included in a bundle. If a gr:Offering contains just one item, you can directly link from the gr:Offering to the gr:ProductOrService using gr:includes. If the offering contains multiple items, use an instance of this class for each component to indicate the quantity, unit of measurement, and type of product, and link from the gr:Offering via gr:includesObject.
301
-
302
- Example: An offering may include of 100g of Butter and 1 kg of potatoes, or 1 cell phone and 2 headsets.).freeze,
303
- label: "Type and quantity node".freeze,
304
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:WarrantyScope).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:QualitativeValue).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze],
305
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
306
- type: "owl:Class".freeze
307
- term :UnitPriceSpecification,
308
- comment: %(A unit price specification is a conceptual entity that specifies the price asked for a given gr:Offering by the respective gr:Business Entity. An offering may be linked to multiple unit price specifications that specify alternative prices for non-overlapping sets of conditions \(e.g. quantities or sales regions\) or with differing validity periods.
309
-
310
- A unit price specification is characterized by \(1\) the lower and upper limits and the unit of measurement of the eligible quantity, \(2\) by a monetary amount per unit of the product or service, and \(3\) whether this prices includes local sales taxes, namely VAT.
311
-
312
- Example: The price, including VAT, for 1 kg of a given material is 5 Euros per kg for 0 - 5 kg and 4 Euros for quantities above 5 kg.
313
-
314
- The eligible quantity interval for a given price is specified using the object property gr:hasEligibleQuantity, which points to an instance of gr:QuantitativeValue. The currency is specified using the gr:hasCurrency property, which points to an ISO 4217 currency code. The unit of measurement for the eligible quantity is specified using the gr:hasUnitOfMeasurement datatype property, which points to an UN/CEFACT Common Code \(3 characters\).
315
-
316
- In most cases, the appropriate unit of measurement is the UN/CEFACT Common Code "C62" for "Unit or piece", since a gr:Offering is defined by the quantity and unit of measurement of all items included \(e.g. "1 kg of bananas plus a 2 kg of apples"\). As long at the offering consists of only one item, it is also possible to use an unit of measurement of choice for specifying the price per unit. For bundles, however, only "C62" for "Unit or piece" is a valid unit of measurement.
317
-
318
- You can assume that the price is given per unit or piece if there is no gr:hasUnitOfMeasurement property attached to the price.
319
-
320
- Whether VAT and sales taxes are included in this price is specified using the property gr:valueAddedTaxIncluded \(xsd:boolean\).
321
-
322
- The price per unit of measurement is specified as a float value of the gr:hasCurrencyValue property. The currency is specified via the gr:hasCurrency datatype property. Whether the price includes VAT or not is indicated by the gr:valueAddedTaxIncluded datatype property.
323
-
324
- The property priceType can be used to indicate that the price is a retail price recommendation only \(i.e. a list price\).
325
-
326
- If the price can only be given as a range, use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue for the upper and lower bounds.
327
-
328
- Important: When querying for the price, always use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue.
329
-
330
- Note 1: Due to the complexity of pricing scenarios in various industries, it may be necessary to create extensions of this fundamental model of price specifications. Such can be done easily by importing and refining the GoodRelations ontology.
331
-
332
- Note 2: For Google, attaching a gr:validThrough statement to a gr:UnitPriceSpecification is mandatory.
333
- ).freeze,
334
- label: "Unit price specification".freeze,
335
- "owl:disjointWith" => [%(gr:PaymentChargeSpecification).freeze, %(gr:DeliveryChargeSpecification).freeze],
336
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
337
- subClassOf: "gr:PriceSpecification".freeze,
338
- type: "owl:Class".freeze
339
- term :WarrantyPromise,
340
- comment: %(This is a conceptual entity that holds together all aspects of the n-ary relation gr:hasWarrantyPromise.
341
-
342
- A Warranty promise is an entity 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 the gr:ProductOrService. A warranty promise is characterized by its temporal duration \(usually starting with the date of purchase\) and its gr:WarrantyScope. The warranty scope represents the types of services provided \(e.g. labor and parts, just parts\) of the warranty included in an gr:Offering. The actual services may be provided by the gr:BusinessEntity making the offering, by the manufacturer of the product, or by a third party. There may be multiple warranty promises associated with a particular offering, which differ in duration and scope \(e.g. pick-up service during the first 12 months, just parts and labor for 36 months\).
343
-
344
- Examples: 12 months parts and labor, 36 months parts).freeze,
345
- label: "Warranty promise".freeze,
346
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyScope).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
347
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
348
- type: "owl:Class".freeze
349
- term :WarrantyScope,
350
- comment: %(The warranty scope represents types of services that will be provided free of charge by the vendor or manufacturer in the case of a defect \(e.g. labor and parts, just parts\), as part of the warranty included in an gr:Offering. The actual services may be provided by the gr:BusinessEntity making the offering, by the manufacturer of the product, or by a third party.
351
-
352
- Examples: Parts and Labor, Parts).freeze,
353
- label: "Warranty scope".freeze,
354
- "owl:disjointWith" => [%(gr:ProductOrService).freeze, %(gr:Location).freeze, %(gr:OpeningHoursSpecification).freeze, %(gr:PriceSpecification).freeze, %(gr:BusinessFunction).freeze, %(gr:QuantitativeValue).freeze, %(gr:BusinessEntityType).freeze, %(gr:Brand).freeze, %(gr:Offering).freeze, %(gr:PaymentMethod).freeze, %(gr:WarrantyPromise).freeze, %(gr:DeliveryMethod).freeze, %(gr:BusinessEntity).freeze, %(gr:DayOfWeek).freeze, %(gr:TypeAndQuantityNode).freeze],
355
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
356
- type: "owl:Class".freeze
357
-
358
- # Property definitions
359
- property :acceptedPaymentMethods,
360
- comment: %(The gr:PaymentMethod or methods accepted by the gr:BusinessEntity for the given gr:Offering.).freeze,
361
- label: "accepted payment methods (0..*)".freeze,
362
- range: "gr:PaymentMethod".freeze,
363
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
364
- type: "owl:ObjectProperty".freeze
365
- property :addOn,
366
- comment: %(This property points from a gr:Offering to additional offerings that can only be obtained in combination with the first offering. This can be used to model supplements and extensions that are available for a surcharge. Any gr:PriceSpecification attached to the secondary offering is to be understood as an additional charge.).freeze,
367
- label: "add-on (0..*)".freeze,
368
- range: "gr:Offering".freeze,
369
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
370
- type: "owl:ObjectProperty".freeze
371
- property :advanceBookingRequirement,
372
- comment: %(The minimal and maximal amount of time that is required between accepting the gr:Offering and the actual usage of the resource or service. This is mostly relevant for offers regarding hotel rooms, the rental of objects, or the provisioning of services. The duration is specified relatively to the beginning of the usage of the contracted object. It is represented by attaching an instance of the class gr:QuantitativeValueInteger. The lower and upper boundaries are specified using the properties gr:hasMinValueInteger and gr:hasMaxValueInteger to that instance. The unit of measurement is specified using the property gr:hasUnitOfMeasurement with a string holding a UN/CEFACT code suitable for durations, e.g. MON \(months\), DAY \(days\), HUR \(hours\), or MIN \(minutes\).
373
-
374
- The difference to the gr:validFrom and gr:validThrough properties is that those specify the interval during which the gr:Offering is valid, while gr:advanceBookingRequirement specifies the acceptable relative amount of time between accepting the offer and the fulfilment or usage.).freeze,
375
- label: "advance booking requirement (0..1)".freeze,
376
- range: "gr:QuantitativeValueInteger".freeze,
377
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
378
- type: "owl:ObjectProperty".freeze
379
- property :amountOfThisGood,
380
- comment: %(This property specifies the quantity of the goods included in the gr:Offering via this gr:TypeAndQuantityNode. The quantity is given in the unit of measurement attached to the gr:TypeAndQuantityNode.).freeze,
381
- domain: "gr:TypeAndQuantityNode".freeze,
382
- label: "amount of this good (1..1)".freeze,
383
- range: "xsd:float".freeze,
384
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
385
- type: "owl:DatatypeProperty".freeze
386
- property :appliesToDeliveryMethod,
387
- comment: %(This property specifies the gr:DeliveryMethod to which the gr:DeliveryChargeSpecification applies.).freeze,
388
- domain: "gr:DeliveryChargeSpecification".freeze,
389
- label: "applies to delivery method (0..*)".freeze,
390
- range: "gr:DeliveryMethod".freeze,
391
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
392
- type: "owl:ObjectProperty".freeze
393
- property :appliesToPaymentMethod,
394
- comment: %(This property specifies the gr:PaymentMethod to which the gr:PaymentChargeSpecification applies.).freeze,
395
- domain: "gr:PaymentChargeSpecification".freeze,
396
- label: "applies to payment method (1..*)".freeze,
397
- range: "gr:PaymentMethod".freeze,
398
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
399
- type: "owl:ObjectProperty".freeze
400
- property :availabilityEnds,
401
- comment: %(This property specifies the end of the availability of the gr:ProductOrService included in the gr:Offering.
402
- The difference to the properties gr:validFrom and gr:validThrough is that those specify the period of time during which the offer is valid and can be accepted.
403
-
404
- Example: I offer to lease my boat for the period of August 1 - August 31, 2010, but you must accept by offer no later than July 15.
405
-
406
- A time-zone should be specified. For a time in GMT/UTC, simply add a "Z" following the time:
407
-
408
- 2008-05-30T09:30:10Z.
409
-
410
- Alternatively, you can specify an offset from the UTC time by adding a positive or negative time following the time:
411
-
412
- 2008-05-30T09:30:10-09:00
413
-
414
- or
415
-
416
- 2008-05-30T09:30:10+09:00.
417
-
418
- Note: There is another property gr:availableAtOrFrom, which is used to indicate the gr:Location \(e.g. store or shop\) from which the goods would be available.).freeze,
419
- label: "availability ends (0..1)".freeze,
420
- range: "xsd:dateTime".freeze,
421
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
422
- type: "owl:DatatypeProperty".freeze
423
- property :availabilityStarts,
424
- comment: %(This property specifies the beginning of the availability of the gr:ProductOrService included in the gr:Offering.
425
- The difference to the properties gr:validFrom and gr:validThrough is that those specify the period of time during which the offer is valid and can be accepted.
426
-
427
- Example: I offer to lease my boat for the period of August 1 - August 31, 2010, but you must accept by offer no later than July 15.
428
-
429
- A time-zone should be specified. For a time in GMT/UTC, simply add a "Z" following the time:
430
-
431
- 2008-05-30T09:30:10Z.
432
-
433
- Alternatively, you can specify an offset from the UTC time by adding a positive or negative time following the time:
434
-
435
- 2008-05-30T09:30:10-09:00
436
-
437
- or
438
-
439
- 2008-05-30T09:30:10+09:00.
440
-
441
- Note: There is another property gr:availableAtOrFrom, which is used to indicate the gr:Location \(e.g. store or shop\) from which the goods would be available.).freeze,
442
- label: "availability starts (0..1)".freeze,
443
- range: "xsd:dateTime".freeze,
444
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
445
- type: "owl:DatatypeProperty".freeze
446
- property :availableAtOrFrom,
447
- comment: %(This states that a particular gr:Offering is available at or from the given gr:Location \(e.g. shop or branch\).).freeze,
448
- label: "available at or from (0..*)".freeze,
449
- range: "gr:Location".freeze,
450
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
451
- type: "owl:ObjectProperty".freeze
452
- property :availableDeliveryMethods,
453
- comment: %(This specifies the gr:DeliveryMethod or methods available for a given gr:Offering.).freeze,
454
- label: "available delivery methods (0..*)".freeze,
455
- range: "gr:DeliveryMethod".freeze,
456
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
457
- type: "owl:ObjectProperty".freeze
458
- property :billingIncrement,
459
- comment: %(This property specifies the minimal quantity and rounding increment that will be the basis for the billing.
460
- The unit of measurement is specified by the UN/CEFACT code attached to the gr:UnitPriceSpecification via the gr:hasUnitOfMeasurement property.
461
-
462
- Examples:
463
- - The price for gasoline is 4 USD per gallon at the pump, but you will be charged in units of 0.1 gallons.
464
- - The price for legal consulting is 100 USD per hour, but you will be charged in units of 15 minutes.
465
-
466
- This property makes sense only for instances of gr:Offering that include not more than one type of good or service.).freeze,
467
- domain: "gr:UnitPriceSpecification".freeze,
468
- label: "billing increment (0..1)".freeze,
469
- range: "xsd:float".freeze,
470
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
471
- type: "owl:DatatypeProperty".freeze
472
- property :category,
473
- comment: %(The name of a category to which this gr:ProductOrService, gr:Offering, gr:BusinessEntity, or gr:Location belongs.
474
-
475
- Note 1: For products, it is better to add an rdf:type statement referring to a GoodRelations-compliant ontology for vertical industries instead, but if you just have a short text label, gr:category is simpler.
476
- Note 2: You can use greater signs or slashes to informally indicate a category hierarchy, e.g. "restaurants/asian_restaurants" or "cables > usb_cables"
477
- ).freeze,
478
- label: "category (0..*)".freeze,
479
- range: "rdfs:Literal".freeze,
480
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
481
- type: "owl:DatatypeProperty".freeze
482
- property :closes,
483
- comment: %(The closing hour of the gr:Location on the given gr:DayOfWeek.
484
- If no time-zone suffix is included, the time is given in the local time valid at the gr:Location.
485
-
486
- For a time in GMT/UTC, simply add a "Z" following the time:
487
-
488
- 09:30:10Z.
489
-
490
- Alternatively, you can specify an offset from the UTC time by adding a positive or negative time following the time:
491
-
492
- 09:30:10-09:00
493
-
494
- 09:30:10+09:00.
495
-
496
- Note 1: Use 00:00:00 for the first second of the respective day and 23:59:59 for the last second of that day.
497
- Note 2: If a store opens at 17:00 on Saturdays and closes at 03:00:00 a.m. next morning, use two instances of this class, one with 17:00:00 - 23:59:59 for Saturday and another one with 00:00:00 - 03:00:00 for Sunday.
498
- Note 3: If the shop re-opens on the same day of the week or set of days of the week, you must create a second instance of gr:OpeningHoursSpecification.).freeze,
499
- domain: "gr:OpeningHoursSpecification".freeze,
500
- label: "closes (1..1)".freeze,
501
- range: "xsd:time".freeze,
502
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
503
- type: "owl:DatatypeProperty".freeze
504
- property :color,
505
- comment: %(The color of the product.).freeze,
506
- label: "color (0..1)".freeze,
507
- range: "rdfs:Literal".freeze,
508
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
509
- subPropertyOf: "gr:datatypeProductOrServiceProperty".freeze,
510
- type: "owl:DatatypeProperty".freeze
511
- property :condition,
512
- comment: %(A textual description of the condition of the product or service, or the products or services included in the offer \(when attached to a gr:Offering\)).freeze,
513
- label: "condition (0..1)".freeze,
514
- range: "rdfs:Literal".freeze,
515
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
516
- type: "owl:DatatypeProperty".freeze
517
- property :datatypeProductOrServiceProperty,
518
- comment: %(This property is the super property for all pure datatype properties that can be used to describe a gr:ProductOrService.
519
-
520
- In products and services ontologies, only such properties that are no quantitative properties and that have no predefined gr:QualitativeValue instances are subproperties of this property. In practice, this refers to a few integer properties for which the integer value represents qualitative aspects, for string datatypes \(as long as no predefined values exist\), for boolean datatype properties, and for dates and times.).freeze,
521
- label: "datatype product or service property (0..*)".freeze,
522
- range: "rdfs:Literal".freeze,
523
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
524
- type: "owl:DatatypeProperty".freeze
525
- property :deliveryLeadTime,
526
- comment: %(This property can be used to indicate the promised delay between the receipt of the order and the goods leaving the warehouse.
527
-
528
- The duration is specified by attaching an instance of gr:QuantitativeValueInteger. The lower and upper boundaries are specified using the properties gr:hasMinValueInteger and gr:hasMaxValueInteger to that instance. A point value can be modeled with the gr:hasValueInteger property. The unit of measurement is specified using the property gr:hasUnitOfMeasurement with a string holding a UN/CEFACT code suitable for durations, e.g. MON \(months\), DAY \(days\), HUR \(hours\), or MIN \(minutes\).).freeze,
529
- label: "delivery lead time (0..1)".freeze,
530
- range: "gr:QuantitativeValueInteger".freeze,
531
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
532
- type: "owl:ObjectProperty".freeze
533
- property :depth,
534
- comment: %(The depth of the product.
535
- Typical unit code\(s\): CMT for centimeters, INH for inches).freeze,
536
- label: "depth (0..1)".freeze,
537
- range: "gr:QuantitativeValue".freeze,
538
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
539
- subPropertyOf: "gr:quantitativeProductOrServiceProperty".freeze,
540
- type: "owl:ObjectProperty".freeze
541
- property :description,
542
- comment: %(A short textual description of the resource.
543
-
544
- This property is semantically equivalent to rdfs:comment and just meant as a handy shortcut for marking up data.).freeze,
545
- label: "description (0..1)".freeze,
546
- range: "rdfs:Literal".freeze,
547
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
548
- type: "owl:DatatypeProperty".freeze
549
- property :displayPosition,
550
- comment: %(The position at which the option or element should be listed in a menu or user dialog, lower numbers come first.
551
-
552
- The main usage of this property are the days of the week \(gr:DayOfWeek\), but it is also possible to apply it e.g. to product features or any other conceptual element.
553
- Note: Rely on this property only for data originating from a single RDF graph; otherwise, unpredictable results are possible.).freeze,
554
- label: "display position (0..1)".freeze,
555
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
556
- type: "owl:AnnotationProperty".freeze
557
- property :durationOfWarrantyInMonths,
558
- comment: %(This property specifies the duration of the gr:WarrantyPromise in months.).freeze,
559
- domain: "gr:WarrantyPromise".freeze,
560
- label: "duration of warranty in months (0..1)".freeze,
561
- range: "xsd:int".freeze,
562
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
563
- type: "owl:DatatypeProperty".freeze
564
- property :eligibleCustomerTypes,
565
- comment: %(The types of customers \(gr:BusinessEntityType\) for which the given gr:Offering is valid.).freeze,
566
- label: "eligible customer types (0..*)".freeze,
567
- range: "gr:BusinessEntityType".freeze,
568
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
569
- type: "owl:ObjectProperty".freeze
570
- property :eligibleDuration,
571
- comment: %(The minimal and maximal duration for which the given gr:Offering or gr:License is valid. This is mostly used for offers regarding accommodation, the rental of objects, or software licenses. The duration is specified by attaching an instance of gr:QuantitativeValue. The lower and upper boundaries are specified using the properties gr:hasMinValue and gr:hasMaxValue to that instance. If they are the same, use the gr:hasValue property. The unit of measurement is specified using the property gr:hasUnitOfMeasurement with a string holding a UN/CEFACT code suitable for durations, e.g. MON \(months\), DAY \(days\), HUR \(hours\), or MIN \(minutes\).
572
-
573
- The difference to the gr:validFrom and gr:validThrough properties is that those specify the absiolute interval during which the gr:Offering or gr:License is valid, while gr:eligibleDuration specifies the acceptable duration of the contract or usage.).freeze,
574
- label: "eligible duration (0..1)".freeze,
575
- range: "gr:QuantitativeValue".freeze,
576
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
577
- type: "owl:ObjectProperty".freeze
578
- property :eligibleRegions,
579
- comment: %(This property specifies the geo-political region or regions for which the gr:Offering, gr:License, or gr:DeliveryChargeSpecification is valid using the two-character version of ISO 3166-1 \(ISO 3166-1 alpha-2\) for regions or ISO 3166-2 , which breaks down the countries from ISO 3166-1 into administrative subdivisions.
580
-
581
- Important: Do NOT use 3-letter ISO 3166-1 codes!).freeze,
582
- label: "eligible regions (0..*)".freeze,
583
- range: "xsd:string".freeze,
584
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
585
- type: "owl:DatatypeProperty".freeze
586
- property :eligibleTransactionVolume,
587
- comment: %(This property can be used to indicate the transaction volume, in a monetary unit, for which the gr:Offering or gr:PriceSpecification is valid. This is mostly used to specify a minimal purchasing volume, to express free shipping above a certain order volume, or to limit the acceptance of credit cards to purchases above a certain amount.
588
-
589
- The object is a gr:PriceSpecification that uses the properties gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue to indicate the lower and upper boundaries and gr:hasCurrency to indicate the currency using the ISO 4217 standard \(3 characters\).).freeze,
590
- label: "eligible transaction volume (0..1)".freeze,
591
- range: "gr:PriceSpecification".freeze,
592
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
593
- type: "owl:ObjectProperty".freeze
594
- property :equal,
595
- comment: %(This ordering relation for qualitative values indicates that the subject is equal to the object.).freeze,
596
- domain: "gr:QualitativeValue".freeze,
597
- label: "equal (0..*)".freeze,
598
- "owl:inverseOf" => %(gr:equal).freeze,
599
- range: "gr:QualitativeValue".freeze,
600
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
601
- type: ["owl:ObjectProperty".freeze, "owl:TransitiveProperty".freeze, "owl:SymmetricProperty".freeze]
602
- property :greater,
603
- comment: %(This ordering relation for qualitative values indicates that the subject is greater than the object.).freeze,
604
- domain: "gr:QualitativeValue".freeze,
605
- label: "greater (0..*)".freeze,
606
- "owl:inverseOf" => %(gr:lesser).freeze,
607
- range: "gr:QualitativeValue".freeze,
608
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
609
- type: ["owl:ObjectProperty".freeze, "owl:TransitiveProperty".freeze]
610
- property :greaterOrEqual,
611
- comment: %(This ordering relation for qualitative values indicates that the subject is greater than or equal to the object.).freeze,
612
- domain: "gr:QualitativeValue".freeze,
613
- label: "greater or equal (0..*)".freeze,
614
- "owl:inverseOf" => %(gr:lesserOrEqual).freeze,
615
- range: "gr:QualitativeValue".freeze,
616
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
617
- type: ["owl:ObjectProperty".freeze, "owl:TransitiveProperty".freeze]
618
- property :hasBrand,
619
- comment: %(This specifies the brand or brands \(gr:Brand\) associated with a gr:ProductOrService, or the brand or brands maintained by a gr:BusinessEntity.).freeze,
620
- label: "has brand (0..*)".freeze,
621
- range: "gr:Brand".freeze,
622
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
623
- type: "owl:ObjectProperty".freeze
624
- property :hasBusinessFunction,
625
- comment: %(This specifies the business function of the gr:Offering, i.e. whether the gr:BusinessEntity is offering to sell, to lease, or to repair the particular type of product. In the case of bundles, it is also possible to attach individual business functions to each gr:TypeAndQuantityNode. The business function of the main gr:Offering determines the business function for all included objects or services, unless a business function attached to a gr:TypeAndQuantityNode overrides it.
626
-
627
- Note: While it is possible that an entity is offering multiple types of business functions for the same set of objects \(e.g. rental and sales\), this should usually not be stated by attaching multiple business functions to the same gr:Offering, since the gr:UnitPriceSpecification for the varying business functions will typically be very different.).freeze,
628
- label: "has business function (1..*)".freeze,
629
- range: "gr:BusinessFunction".freeze,
630
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
631
- type: "owl:ObjectProperty".freeze
632
- property :hasCurrency,
633
- comment: %(The currency for all prices in the gr:PriceSpecification given using the ISO 4217 standard \(3 characters\).).freeze,
634
- domain: "gr:PriceSpecification".freeze,
635
- label: "has currency (1..1)".freeze,
636
- range: "xsd:string".freeze,
637
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
638
- type: "owl:DatatypeProperty".freeze
639
- property :hasCurrencyValue,
640
- comment: %(This property specifies the amount of money for a price per unit, shipping charges, or payment charges. The currency and other relevant details are attached to the respective gr:PriceSpecification etc.
641
-
642
- For a gr:UnitPriceSpecification, this is the price for one unit or bundle \(as specified in the unit of measurement of the unit price specification\) of the respective gr:ProductOrService. For a gr:DeliveryChargeSpecification or a gr:PaymentChargeSpecification, it is the price per delivery or payment.
643
-
644
- GoodRelations also supports giving price information as intervals only. If this is needed, use gr:hasMaxCurrencyValue for the upper bound and gr:hasMinCurrencyValue for the lower bound.
645
-
646
- Using gr:hasCurrencyValue sets the upper and lower bounds to the same given value, i.e., x gr:hasCurrencyValue y implies x gr:hasMinCurrencyValue y, x gr:hasMaxCurrencyValue y.).freeze,
647
- domain: "gr:PriceSpecification".freeze,
648
- label: "has currency value (0..1)".freeze,
649
- range: "xsd:float".freeze,
650
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
651
- subPropertyOf: ["gr:hasMinCurrencyValue".freeze, "gr:hasMaxCurrencyValue".freeze],
652
- type: "owl:DatatypeProperty".freeze
653
- property :hasDUNS,
654
- comment: %(The Dun & Bradstreet DUNS number for identifying a gr:BusinessEntity. The Dun & Bradstreet DUNS is a nine-digit number used to identify legal entities \(but usually not branches or locations of logistical importance only\).).freeze,
655
- label: "has DUNS (0..1)".freeze,
656
- range: "xsd:string".freeze,
657
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
658
- type: "owl:DatatypeProperty".freeze
659
- property :"hasEAN_UCC-13",
660
- comment: %(The EAN·UCC-13 code of the given gr:ProductOrService or gr:Offering. This code is now officially called GTIN-13 \(Global Trade Identifier Number\) or EAN·UCC-13. Former 12-digit UPC codes can be converted into EAN·UCC-13 code by simply adding a preceeding zero.
661
-
662
- Note 1: When using this property for searching by 12-digit UPC codes, you must add a preceeding zero digit.
663
- Note 2: As of January 1, 2007, the former ISBN numbers for books etc. have been integrated into the EAN·UCC-13 code. For each old ISBN-10 code, there exists a proper translation into EAN·UCC-13 by adding "978" or "979" as prefix. Since the old ISBN-10 is now deprecated, GoodRelations does not provide a property for ISBNs.).freeze,
664
- label: "has EAN/UCC-13 (0..*)".freeze,
665
- range: "xsd:string".freeze,
666
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
667
- subPropertyOf: "schema:productID".freeze,
668
- type: "owl:DatatypeProperty".freeze
669
- property :hasEligibleQuantity,
670
- comment: %(This specifies the interval and unit of measurement of ordering quantities for which the gr:Offering or gr:PriceSpecification is valid. This allows e.g. specifying that a certain freight charge is valid only for a certain quantity.
671
- Note that if an offering is a bundle, i.e. it consists of more than one unit of a single type of good, or if the unit of measurement for the good is different from unit \(Common Code C62\), then gr:hasEligibleQuantity refers to units of this bundle. In other words, "C62" for "Units or pieces" is usually the appropriate unit of measurement.).freeze,
672
- label: "has eligible quantity (0..1)".freeze,
673
- range: "gr:QuantitativeValue".freeze,
674
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
675
- type: "owl:ObjectProperty".freeze
676
- property :"hasGTIN-14",
677
- comment: %(The Global Trade Item Number \(GTIN-14\) of the given gr:ProductOrService or gr:Offering.).freeze,
678
- label: "has GTIN-14 (0..*)".freeze,
679
- range: "xsd:string".freeze,
680
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
681
- subPropertyOf: "schema:productID".freeze,
682
- type: "owl:DatatypeProperty".freeze
683
- property :"hasGTIN-8",
684
- comment: %(The 8-digit Global Trade Item Number \(GTIN-8\) of the given gr:ProductOrService or gr:Offering, also known as EAN/UCC-8 \(8-digit EAN\).).freeze,
685
- label: "has GTIN-8 (0..*)".freeze,
686
- range: "xsd:string".freeze,
687
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
688
- subPropertyOf: "schema:productID".freeze,
689
- type: "owl:DatatypeProperty".freeze
690
- property :hasGlobalLocationNumber,
691
- comment: %(The Global Location Number \(GLN, sometimes also referred to as International Location Number or ILN\) of the respective gr:BusinessEntity or gr:Location.
692
- The Global Location Number is a thirteen-digit number used to identify parties and physical locations.).freeze,
693
- label: "has Global Location Number (0..1)".freeze,
694
- range: "xsd:string".freeze,
695
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
696
- type: "owl:DatatypeProperty".freeze
697
- property :hasISICv4,
698
- comment: %(The International Standard of Industrial Classification of All Economic Activities \(ISIC\), Revision 4 code for a particular gr:BusinessEntity or gr:Location. See http://unstats.un.org/unsd/cr/registry/isic-4.asp for more information.
699
-
700
- Note: While ISIC codes are sometimes misused for classifying products or services, they are designed and suited only for classifying business establishments.).freeze,
701
- label: "has ISIC v4 (0..*)".freeze,
702
- range: "xsd:int".freeze,
703
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
704
- type: "owl:DatatypeProperty".freeze
705
- property :hasInventoryLevel,
706
- comment: %(This property specifies the current approximate inventory level for gr:SomeItems. The unit of measurement and the point value or interval are indicated using the attached gr:QuantitativeValueFloat instance.
707
-
708
- This property can also be attached to a gr:Offering in cases where the included products are not modeled in more detail.).freeze,
709
- label: "has inventory level (0..1)".freeze,
710
- range: "gr:QuantitativeValueFloat".freeze,
711
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
712
- type: "owl:ObjectProperty".freeze
713
- property :hasMPN,
714
- comment: %(The Manufacturer Part Number or MPN is a unique identifier for a product, service, or bundle from the perspective of a particular manufacturer. MPNs can be assigned to products or product datasheets, or bundles. Accordingly, the domain of this property is the union of gr:ProductOrService \(the common superclass of goods and datasheets\), and gr:Offering.
715
-
716
- Important: Be careful when assuming two products or services instances or offering instances to be identical based on the MPN. Since MPNs are unique only for the same gr:BusinessEntity, this holds only when the two MPN values refer to the same gr:BusinessEntity. Such can be done by taking into account the provenance of the data.
717
-
718
- Usually, the properties gr:hasEAN_UCC-13 and gr:hasGTIN-14 are much more reliable identifiers, because they are globally unique.
719
-
720
- See also http://en.wikipedia.org/wiki/Part_number).freeze,
721
- label: "has MPN (0..*)".freeze,
722
- range: "xsd:string".freeze,
723
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
724
- subPropertyOf: "schema:productID".freeze,
725
- type: "owl:DatatypeProperty".freeze
726
- property :hasMakeAndModel,
727
- comment: %(This states that an actual product instance \(gr:Individual\) or a placeholder instance for multiple, unidentified such instances \(gr:SomeItems\) is one occurence of a particular gr:ProductOrServiceModel.
728
-
729
- Example: myFordT hasMakeAndModel FordT.).freeze,
730
- label: "has make and model (0..1)".freeze,
731
- range: "gr:ProductOrServiceModel".freeze,
732
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
733
- type: "owl:ObjectProperty".freeze
734
- property :hasManufacturer,
735
- comment: %(This object property links a gr:ProductOrService to the gr:BusinessEntity that produces it. Mostly used with gr:ProductOrServiceModel.).freeze,
736
- label: "has manufacturer (0..1)".freeze,
737
- range: "gr:BusinessEntity".freeze,
738
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
739
- type: "owl:ObjectProperty".freeze
740
- property :hasMaxCurrencyValue,
741
- comment: %(This property specifies the UPPER BOUND of the amount of money for a price RANGE per unit, shipping charges, or payment charges. The currency and other relevant details are attached to the respective gr:PriceSpecification etc.
742
- For a gr:UnitPriceSpecification, this is the UPPER BOUND for the price for one unit or bundle \(as specified in the unit of measurement of the unit price specification\) of the respective gr:ProductOrService. For a gr:DeliveryChargeSpecification or a gr:PaymentChargeSpecification, it is the UPPER BOUND of the price per delivery or payment.
743
-
744
- Using gr:hasCurrencyValue sets the upper and lower bounds to the same given value, i.e., x gr:hasCurrencyValue y implies x gr:hasMinCurrencyValue y, x gr:hasMaxCurrencyValue y.).freeze,
745
- domain: "gr:PriceSpecification".freeze,
746
- label: "has max currency value (1..1)".freeze,
747
- range: "xsd:float".freeze,
748
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
749
- type: "owl:DatatypeProperty".freeze
750
- property :hasMaxValue,
751
- comment: %(This property captures the upper limit of a gr:QuantitativeValue instance.).freeze,
752
- domain: "gr:QuantitativeValue".freeze,
753
- label: "has max value (0..1)".freeze,
754
- range: "rdfs:Literal".freeze,
755
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
756
- type: "owl:DatatypeProperty".freeze
757
- property :hasMaxValueFloat,
758
- comment: %(This property captures the upper limit of a gr:QuantitativeValueFloat instance.).freeze,
759
- domain: "gr:QuantitativeValueFloat".freeze,
760
- label: "has max value float (1..1)".freeze,
761
- range: "xsd:float".freeze,
762
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
763
- subPropertyOf: "gr:hasMaxValue".freeze,
764
- type: "owl:DatatypeProperty".freeze
765
- property :hasMaxValueInteger,
766
- comment: %(This property captures the upper limit of a gr:QuantitativeValueInteger instance.).freeze,
767
- domain: "gr:QuantitativeValueInteger".freeze,
768
- label: "has max value integer (1..1)".freeze,
769
- range: "xsd:int".freeze,
770
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
771
- subPropertyOf: "gr:hasMaxValue".freeze,
772
- type: "owl:DatatypeProperty".freeze
773
- property :hasMinCurrencyValue,
774
- comment: %(This property specifies the LOWER BOUND of the amount of money for a price RANGE per unit, shipping charges, or payment charges. The currency and other relevant details are attached to the respective gr:PriceSpecification etc.
775
- For a gr:UnitPriceSpecification, this is the LOWER BOUND for the price for one unit or bundle \(as specified in the unit of measurement of the unit price specification\) of the respective gr:ProductOrService. For a gr:DeliveryChargeSpecification or a gr:PaymentChargeSpecification, it is the LOWER BOUND of the price per delivery or payment.
776
-
777
- Using gr:hasCurrencyValue sets the upper and lower bounds to the same given value, i.e., x gr:hasCurrencyValue y implies x gr:hasMinCurrencyValue y, x gr:hasMaxCurrencyValue y.).freeze,
778
- domain: "gr:PriceSpecification".freeze,
779
- label: "has min currency value (1..1)".freeze,
780
- range: "xsd:float".freeze,
781
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
782
- type: "owl:DatatypeProperty".freeze
783
- property :hasMinValue,
784
- comment: %(This property captures the lower limit of a gr:QuantitativeValue instance.).freeze,
785
- domain: "gr:QuantitativeValue".freeze,
786
- label: "has min value (0..1)".freeze,
787
- range: "rdfs:Literal".freeze,
788
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
789
- type: "owl:DatatypeProperty".freeze
790
- property :hasMinValueFloat,
791
- comment: %(This property captures the lower limit of a gr:QuantitativeValueFloat instance.).freeze,
792
- domain: "gr:QuantitativeValueFloat".freeze,
793
- label: "has min value float (1..1)".freeze,
794
- range: "xsd:float".freeze,
795
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
796
- subPropertyOf: "gr:hasMinValue".freeze,
797
- type: "owl:DatatypeProperty".freeze
798
- property :hasMinValueInteger,
799
- comment: %(This property captures the lower limit of a gr:QuantitativeValueInteger instance.).freeze,
800
- domain: "gr:QuantitativeValueInteger".freeze,
801
- label: "has min value integer (1..1)".freeze,
802
- range: "xsd:int".freeze,
803
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
804
- subPropertyOf: "gr:hasMinValue".freeze,
805
- type: "owl:DatatypeProperty".freeze
806
- property :hasNAICS,
807
- comment: %(The North American Industry Classification System \(NAICS\) code for a particular gr:BusinessEntity.
808
- See http://www.census.gov/eos/www/naics/ for more details.
809
-
810
- Note: While NAICS codes are sometimes misused for classifying products or services, they are designed and suited only for classifying business establishments.).freeze,
811
- label: "has NAICS (0..*)".freeze,
812
- range: "xsd:int".freeze,
813
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
814
- type: "owl:DatatypeProperty".freeze
815
- property :hasNext,
816
- comment: %(This ordering relation for gr:DayOfWeek indicates that the subject is directly followed by the object.
817
-
818
- Example: Monday hasNext Tuesday
819
-
820
- Since days of the week are a cycle, this property is not transitive.).freeze,
821
- domain: "gr:DayOfWeek".freeze,
822
- label: "has next (0..1)".freeze,
823
- "owl:inverseOf" => %(gr:hasPrevious).freeze,
824
- range: "gr:DayOfWeek".freeze,
825
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
826
- type: "owl:ObjectProperty".freeze
827
- property :hasOpeningHoursDayOfWeek,
828
- comment: %(This specifies the gr:DayOfWeek to which the gr:OpeningHoursSpecification is related.
829
-
830
- Note: Use multiple instances of gr:OpeningHoursSpecification for specifying the opening hours for multiple days if the opening hours differ.).freeze,
831
- domain: "gr:OpeningHoursSpecification".freeze,
832
- label: "has opening hours day of week (1..*)".freeze,
833
- range: "gr:DayOfWeek".freeze,
834
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
835
- type: "owl:ObjectProperty".freeze
836
- property :hasOpeningHoursSpecification,
837
- comment: %(This property links a gr:Location to a gr:OpeningHoursSpecification.).freeze,
838
- label: "has opening hours specification (0..*)".freeze,
839
- range: "gr:OpeningHoursSpecification".freeze,
840
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
841
- type: "owl:ObjectProperty".freeze
842
- property :hasPOS,
843
- comment: %(This property states that the respective gr:Location is a point of sale for the respective gr:BusinessEntity. It allows linking those two types of entities without the need for a particular gr:Offering.).freeze,
844
- label: "has POS (0..*)".freeze,
845
- range: "gr:Location".freeze,
846
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
847
- type: "owl:ObjectProperty".freeze
848
- property :hasPrevious,
849
- comment: %(This ordering relation for gr:DayOfWeek indicates that the subject is directly preceeded by the object.
850
-
851
- Example: Tuesday hasPrevious Monday
852
-
853
- Since days of the week are a cycle, this property is not transitive.).freeze,
854
- domain: "gr:DayOfWeek".freeze,
855
- label: "has previous (0..1)".freeze,
856
- "owl:inverseOf" => %(gr:hasNext).freeze,
857
- range: "gr:DayOfWeek".freeze,
858
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
859
- type: "owl:ObjectProperty".freeze
860
- property :hasPriceSpecification,
861
- comment: %(This links a gr:Offering to a gr:PriceSpecification or specifications. There can be unit price specifications, payment charge specifications, and delivery charge specifications. For each type, multiple specifications for the same gr:Offering are possible, e.g. for different quantity ranges or for different currencies, or for different combinations of gr:DeliveryMethod and target destinations.
862
-
863
- Recommended retail prices etc. can be marked by the gr:priceType property of the gr:UnitPriceSpecification.).freeze,
864
- label: "has price specification (0..*)".freeze,
865
- range: "gr:PriceSpecification".freeze,
866
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
867
- type: "owl:ObjectProperty".freeze
868
- property :hasStockKeepingUnit,
869
- comment: %(The Stock Keeping Unit, or SKU is a unique identifier for a product, service, or bundle from the perspective of a particular supplier, i.e. SKUs are mostly assigned and serialized at the merchant level.
870
- Examples of SKUs are the ordering or parts numbers used by a particular Web shop or catalog.
871
-
872
- Consequently, the domain of gr:hasStockKeepingUnit is the union of the classes gr:Offering and gr:ProductOrService.
873
- If attached to a gr:Offering, the SKU will usually reflect a merchant-specific identifier, i.e. one valid only for that particular retailer or shop.
874
- If attached to a gr:ProductOrServiceModel, the SKU can reflect either the identifier used by the merchant or the part number used by the official manufacturer of that part. For the latter, gr:hasMPN is a better choice.
875
-
876
- Important: Be careful when assuming two products or services instances or offering instances to be identical based on the SKU. Since SKUs are unique only for the same gr:BusinessEntity, this can be assumed only when you are sure that the two SKU values refer to the same business entity. Such can be done by taking into account the provenance of the data. As long as instances of gr:Offering are concerned, you can also check that the offerings are being offered by the same gr:Business Entity.
877
-
878
- Usually, the properties gr:hasEAN_UCC-13 and gr:hasGTIN-14 are much more reliable identifiers, because they are globally unique.
879
-
880
- See also http://en.wikipedia.org/wiki/Stock_Keeping_Unit.).freeze,
881
- label: "has Stock Keeping Unit (0..*)".freeze,
882
- range: "xsd:string".freeze,
883
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
884
- subPropertyOf: "schema:productID".freeze,
885
- type: "owl:DatatypeProperty".freeze
886
- property :hasUnitOfMeasurement,
887
- comment: %(The unit of measurement for a gr:QuantitativeValue, a gr:UnitPriceSpecification, or a gr:TypeAndQuantityNode given using the UN/CEFACT Common Code \(3 characters\).).freeze,
888
- label: "has unit of measurement (1..1)".freeze,
889
- range: "xsd:string".freeze,
890
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
891
- type: "owl:DatatypeProperty".freeze
892
- property :hasValue,
893
- comment: %(This subproperty specifies that the upper and lower limit of the given gr:QuantitativeValue are identical and have the respective value. It is a shortcut for such cases where a quantitative property is \(at least practically\) a single point value and not an interval.).freeze,
894
- domain: "gr:QuantitativeValue".freeze,
895
- label: "has value (0..1)".freeze,
896
- range: "rdfs:Literal".freeze,
897
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
898
- subPropertyOf: ["gr:hasMaxValue".freeze, "gr:hasMinValue".freeze],
899
- type: "owl:DatatypeProperty".freeze
900
- property :hasValueFloat,
901
- comment: %(This subproperty specifies that the upper and lower limit of the given gr:QuantitativeValueFloat are identical and have the respective float value. It is a shortcut for such cases where a quantitative property is \(at least practically\) a single point value and not an interval.).freeze,
902
- domain: "gr:QuantitativeValueFloat".freeze,
903
- label: "has value float (0..1)".freeze,
904
- range: "xsd:float".freeze,
905
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
906
- subPropertyOf: ["gr:hasMaxValueFloat".freeze, "gr:hasMinValueFloat".freeze],
907
- type: "owl:DatatypeProperty".freeze
908
- property :hasValueInteger,
909
- comment: %(This subproperty specifies that the upper and lower limit of the given gr:QuantitativeValueInteger are identical and have the respective integer value. It is a shortcut for such cases where a quantitative property is \(at least practically\) a single point value and not an interval.).freeze,
910
- domain: "gr:QuantitativeValueInteger".freeze,
911
- label: "has value integer (0..1)".freeze,
912
- range: "xsd:int".freeze,
913
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
914
- subPropertyOf: ["gr:hasMinValueInteger".freeze, "gr:hasMaxValueInteger".freeze],
915
- type: "owl:DatatypeProperty".freeze
916
- property :hasWarrantyPromise,
917
- comment: %(This specifies the gr:WarrantyPromise made by the gr:BusinessEntity for the given gr:Offering.).freeze,
918
- label: "has warranty promise (0..*)".freeze,
919
- range: "gr:WarrantyPromise".freeze,
920
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
921
- type: "owl:ObjectProperty".freeze
922
- property :hasWarrantyScope,
923
- comment: %(This states the gr:WarrantyScope of a given gr:WarrantyPromise.).freeze,
924
- domain: "gr:WarrantyPromise".freeze,
925
- label: "has warranty scope (0..1)".freeze,
926
- range: "gr:WarrantyScope".freeze,
927
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
928
- type: "owl:ObjectProperty".freeze
929
- property :height,
930
- comment: %(The height of the product.
931
- Typical unit code\(s\): CMT for centimeters, INH for inches).freeze,
932
- label: "height (0..1)".freeze,
933
- range: "gr:QuantitativeValue".freeze,
934
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
935
- subPropertyOf: "gr:quantitativeProductOrServiceProperty".freeze,
936
- type: "owl:ObjectProperty".freeze
937
- property :includes,
938
- comment: %(This object property is a shortcut for the original gr:includesObject property for the common case of having exactly one single gr:ProductOrService instance included in an Offering.
939
-
940
- When linking to an instance of gr:SomeItems or gr:Individual, it is equivalent to using a gr:TypeAndQuantityNode with gr:hasUnitOfMeasurement="C62"^^xsd:string and gr:amountOfThisGood="1.0"^^xsd:float for that good.
941
-
942
- When linking to a gr:ProductOrServiceModel, it is equivalent to
943
- 1. defining an blank node for a gr:SomeItems
944
- 2. linking that blank node via gr:hasMakeAndModel to the gr:ProductOrServiceModel, and
945
- 3. linking from the gr:Offering to that blank node using another blank node of type gr:TypeAndQuantityNode with gr:hasUnitOfMeasurement="C62"^^xsd:string and gr:amountOfThisGood="1.0"^^xsd:float for that good.).freeze,
946
- domain: "gr:Offering".freeze,
947
- label: "includes (0..1)".freeze,
948
- range: "gr:ProductOrService".freeze,
949
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
950
- type: "owl:ObjectProperty".freeze
951
- property :includesObject,
952
- comment: %(This object property links a gr:Offering to one or multiple gr:TypeAndQuantityNode or nodes that specify the components that are included in the respective offer.).freeze,
953
- label: "includes object (0..*)".freeze,
954
- range: "gr:TypeAndQuantityNode".freeze,
955
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
956
- type: "owl:ObjectProperty".freeze
957
- property :isAccessoryOrSparePartFor,
958
- comment: %(This states that a particular gr:ProductOrService is an accessory or spare part for another product or service.).freeze,
959
- label: "is accessory or spare part for (0..*)".freeze,
960
- range: "gr:ProductOrService".freeze,
961
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
962
- type: "owl:ObjectProperty".freeze
963
- property :isConsumableFor,
964
- comment: %(This states that a particular gr:ProductOrService is a consumable for another product or service.).freeze,
965
- label: "is consumable for (0..*)".freeze,
966
- range: "gr:ProductOrService".freeze,
967
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
968
- type: "owl:ObjectProperty".freeze
969
- property :isListPrice,
970
- comment: %(This boolean attribute indicates whether a gr:UnitPriceSpecification is a list price \(usually a vendor recommendation\) or not. "true" indicates it is a list price, "false" indicates it is not.
971
- DEPRECATED. Use the gr:priceType property instead.).freeze,
972
- domain: "gr:UnitPriceSpecification".freeze,
973
- label: "is list price (DEPRECATED)".freeze,
974
- "owl:deprecated" => %(true).freeze,
975
- range: "xsd:boolean".freeze,
976
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
977
- type: "owl:DatatypeProperty".freeze
978
- property :isSimilarTo,
979
- comment: %(This states that a given gr:ProductOrService is similar to another product or service. Of course, this is a subjective statement; when interpreting it, the trust in the origin of the statement should be taken into account.).freeze,
980
- label: "is similar to (0..*)".freeze,
981
- range: "gr:ProductOrService".freeze,
982
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
983
- type: "owl:ObjectProperty".freeze
984
- property :isVariantOf,
985
- comment: %(This states that a particular gr:ProductOrServiceModel is a variant of another product or service model. It is pretty safe to infer that the variant inherits all gr:quantitativeProductOrServiceProperty, gr:qualitativeProductOrServiceProperty, and gr:datatypeProductOrServiceProperty values that are defined for the first gr:ProductOrServiceModel.
986
-
987
- Example:
988
- foo:Red_Ford_T_Model gr:isVariantOf foo:Ford_T_Model).freeze,
989
- domain: "gr:ProductOrServiceModel".freeze,
990
- label: "is variant of (0..1)".freeze,
991
- range: "gr:ProductOrServiceModel".freeze,
992
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
993
- type: "owl:ObjectProperty".freeze
994
- property :legalName,
995
- comment: %(The legal name of the gr:BusinessEntity.).freeze,
996
- label: "legal name (0..1)".freeze,
997
- range: "rdfs:Literal".freeze,
998
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
999
- type: "owl:DatatypeProperty".freeze
1000
- property :lesser,
1001
- comment: %(This ordering relation for gr:QualitativeValue pairs indicates that the subject is lesser than the object.).freeze,
1002
- domain: "gr:QualitativeValue".freeze,
1003
- label: "lesser (0..*)".freeze,
1004
- "owl:inverseOf" => %(gr:greater).freeze,
1005
- range: "gr:QualitativeValue".freeze,
1006
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1007
- type: ["owl:ObjectProperty".freeze, "owl:TransitiveProperty".freeze]
1008
- property :lesserOrEqual,
1009
- comment: %(This ordering relation for gr:QualitativeValue pairs indicates that the subject is lesser than or equal to the object.).freeze,
1010
- domain: "gr:QualitativeValue".freeze,
1011
- label: "lesser or equal (0..*)".freeze,
1012
- "owl:inverseOf" => %(gr:greaterOrEqual).freeze,
1013
- range: "gr:QualitativeValue".freeze,
1014
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1015
- type: ["owl:ObjectProperty".freeze, "owl:TransitiveProperty".freeze]
1016
- property :name,
1017
- comment: %(A short text describing the respective resource.
1018
-
1019
- This property is semantically equivalent to dcterms:title and rdfs:label and just meant as a handy shortcut for marking up data.).freeze,
1020
- label: "name (0..1)".freeze,
1021
- range: "rdfs:Literal".freeze,
1022
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1023
- type: "owl:DatatypeProperty".freeze
1024
- property :nonEqual,
1025
- comment: %(This ordering relation for gr:QualitativeValue pairs indicates that the subject is not equal to the object.).freeze,
1026
- domain: "gr:QualitativeValue".freeze,
1027
- label: "non equal (0..*)".freeze,
1028
- "owl:inverseOf" => %(gr:nonEqual).freeze,
1029
- range: "gr:QualitativeValue".freeze,
1030
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1031
- type: ["owl:ObjectProperty".freeze, "owl:SymmetricProperty".freeze]
1032
- property :offers,
1033
- comment: %(This links a gr:BusinessEntity to the offers \(gr:Offering\) it makes. If you want to express interest in receiving offers, use gr:seeks instead.).freeze,
1034
- label: "offers (0..*)".freeze,
1035
- range: "gr:Offering".freeze,
1036
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1037
- type: "owl:ObjectProperty".freeze
1038
- property :opens,
1039
- comment: %(The opening hour of the gr:Location on the given gr:DayOfWeek.
1040
- If no time-zone suffix is included, the time is given in the local time valid at the gr:Location.
1041
-
1042
- For a time in GMT/UTC, simply add a "Z" following the time:
1043
-
1044
- 09:30:10Z.
1045
-
1046
- Alternatively, you can specify an offset from the UTC time by adding a positive or negative time following the time:
1047
-
1048
- 09:30:10-09:00
1049
-
1050
- or
1051
-
1052
- 09:30:10+09:00.
1053
-
1054
- Note 1: Use 00:00:00 for the first second of the respective day and 23:59:59 for the last second of that day.
1055
- Note 2: If a store opens at 17:00 on Saturdays and closes at 03:00:00 a.m. next morning, use 17:00:00 - 23:59:59 for Saturday and 00:00:00 - 03:00:00 for Sunday.
1056
- Note 3: If the shop re-opens on the same day of the week or set of days of the week, you must create a second instance of gr:OpeningHoursSpecification.).freeze,
1057
- domain: "gr:OpeningHoursSpecification".freeze,
1058
- label: "opens (1..1)".freeze,
1059
- range: "xsd:time".freeze,
1060
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1061
- type: "owl:DatatypeProperty".freeze
1062
- property :owns,
1063
- comment: %(This property indicates that a particular person or business owns a particular product. It can be used to expose the products in one's posession in order to empower recommender systems to suggest matching offers.
1064
-
1065
- Note that the product must be an instance of the class gr:Individual.
1066
-
1067
- This property can also be safely applied to foaf:Agent instances.).freeze,
1068
- label: "owns (0..*)".freeze,
1069
- range: "gr:Individual".freeze,
1070
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1071
- type: "owl:ObjectProperty".freeze
1072
- property :predecessorOf,
1073
- comment: %(This property indicates that the subject is a previous, often discontinued variant of the gr:ProductOrServiceModel used as the object.
1074
-
1075
- Example: Golf III predecessorOf Golf IV
1076
-
1077
- This relation is transitive.).freeze,
1078
- domain: "gr:ProductOrServiceModel".freeze,
1079
- label: "predecessor of (0..*)".freeze,
1080
- "owl:inverseOf" => %(gr:successorOf).freeze,
1081
- range: "gr:ProductOrServiceModel".freeze,
1082
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1083
- type: ["owl:ObjectProperty".freeze, "owl:TransitiveProperty".freeze]
1084
- property :priceType,
1085
- comment: %(This attribute can be used to distinguish multiple different price specifications for the same gr:Offering. It supersedes the former gr:isListPrice property. The following values are recommended:
1086
-
1087
- The absence of this property marks the actual sales price.
1088
-
1089
- SRP: "suggested retail price" - applicable for all sorts of a non-binding retail price recommendations, e.g. such published by the manufacturer or the distributor. This value replaces the former gr:isListPrice property.
1090
-
1091
- INVOICE: The invoice price, mostly used in the car industry - this is the price a dealer pays to the manufacturer, excluding rebates and charges.).freeze,
1092
- domain: "gr:UnitPriceSpecification".freeze,
1093
- label: "price type (0..1)".freeze,
1094
- range: "xsd:string".freeze,
1095
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1096
- type: "owl:DatatypeProperty".freeze
1097
- property :qualitativeProductOrServiceProperty,
1098
- comment: %(This is the super property of all qualitative properties for products and services. All properties in product or service ontologies for which gr:QualitativeValue instances are specified are subproperties of this property.).freeze,
1099
- label: "qualitative product or service property (0..*)".freeze,
1100
- range: "gr:QualitativeValue".freeze,
1101
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1102
- type: "owl:ObjectProperty".freeze
1103
- property :quantitativeProductOrServiceProperty,
1104
- comment: %(This is the super property of all quantitative properties for products and services. All properties in product or service ontologies that specify quantitative characteristics, for which an interval is at least theoretically an appropriate value, are subproperties of this property.).freeze,
1105
- label: "quantitative product or service property (0..*)".freeze,
1106
- range: "gr:QuantitativeValue".freeze,
1107
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1108
- type: "owl:ObjectProperty".freeze
1109
- property :relatedWebService,
1110
- comment: %(The URI of a SOAP or REST Web Service from which additional information about the gr:BusinessEntity, gr:Offering, gr:PriceSpecification, or gr:ProductOrService, or any other element, can be obtained. The recommended range is xsd:anyURI i.e., the URI of a SOAP or REST Web Service.
1111
-
1112
- In principle, any existing or upcoming vocabulary for Web Services can be used in combination with GoodRelations, because the association between \(a\) the service description and \(b\) the GoodRelations description can be found via the Web Service URI value used with this gr:relatedWebService property.).freeze,
1113
- label: "related Web Service (0..*)".freeze,
1114
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1115
- type: "owl:AnnotationProperty".freeze
1116
- property :seeks,
1117
- comment: %(This links a gr:BusinessEntity to gr:Offering nodes that describe what the business entity is interested in \(i.e., the buy side\). If you want to express interest in offering something, use gr:offers instead. Note that this substitutes the former gr:BusinessFunction gr:Buy, which is now deprecated.).freeze,
1118
- label: "seeks (0..*)".freeze,
1119
- range: "gr:Offering".freeze,
1120
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1121
- type: "owl:ObjectProperty".freeze
1122
- property :serialNumber,
1123
- comment: %(The serial number or any alphanumeric identifier of a particular product. Note that serial number are unique only for the same brand or the same model, so you cannot infer from two occurrences of the same serial number that the objects to which they are attached are identical.
1124
-
1125
- This property can also be attached to a gr:Offering in cases where the included products are not modeled in more detail.).freeze,
1126
- label: "serial number (0..*)".freeze,
1127
- range: "xsd:string".freeze,
1128
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1129
- type: "owl:DatatypeProperty".freeze
1130
- property :successorOf,
1131
- comment: %(This property indicates that the subject is a newer, often updated or improved variant of the gr:ProductOrServiceModel used as the object.
1132
-
1133
- Example: Golf III successorOf Golf II
1134
-
1135
- This relation is transitive.).freeze,
1136
- domain: "gr:ProductOrServiceModel".freeze,
1137
- label: "successor of (0..*)".freeze,
1138
- "owl:inverseOf" => %(gr:predecessorOf).freeze,
1139
- range: "gr:ProductOrServiceModel".freeze,
1140
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1141
- type: ["owl:ObjectProperty".freeze, "owl:TransitiveProperty".freeze]
1142
- property :taxID,
1143
- comment: %(The Tax / Fiscal ID of the gr:BusinessEntity, e.g. the TIN in the US or the CIF/NIF in Spain. It is usually assigned by the country of residence).freeze,
1144
- label: "Tax ID (0..1)".freeze,
1145
- range: "xsd:string".freeze,
1146
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1147
- type: "owl:DatatypeProperty".freeze
1148
- property :typeOfGood,
1149
- comment: %(This specifies the gr:ProductOrService that the gr:TypeAndQuantityNode is referring to.).freeze,
1150
- domain: "gr:TypeAndQuantityNode".freeze,
1151
- label: "type of good (1..1)".freeze,
1152
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1153
- type: "owl:ObjectProperty".freeze
1154
- property :validFrom,
1155
- comment: %(This property specifies the beginning of the validity of the gr:Offering, gr:PriceSpecification, gr:License, or gr:OpeningHoursSpecification.
1156
- A time-zone should be specified. For a time in GMT/UTC, simply add a "Z" following the time:
1157
-
1158
- 2008-05-30T09:30:10Z.
1159
-
1160
- Alternatively, you can specify an offset from the UTC time by adding a positive or negative time following the time:
1161
-
1162
- 2008-05-30T09:30:10-09:00
1163
-
1164
- or
1165
-
1166
- 2008-05-30T09:30:10+09:00.
1167
-
1168
- Note: If multiple contradicting instances of a gr:Offering, gr:PriceSpecification, or gr:OpeningHoursSpecification exist, it is a good heuristics to assume that
1169
- 1. Information with validity information for the respective period of time ranks higher than information without validity information.
1170
- 2. Among conflicting nodes both having validity information, the one with the shorter validity span ranks higher.).freeze,
1171
- label: "valid from (0..1)".freeze,
1172
- range: "xsd:dateTime".freeze,
1173
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1174
- type: "owl:DatatypeProperty".freeze
1175
- property :validThrough,
1176
- comment: %(This property specifies the end of the validity of the gr:Offering, gr:PriceSpecification, gr:License, or gr:OpeningHoursSpecification.
1177
- A time-zone should be specified. For a time in GMT/UTC, simply add a "Z" following the time:
1178
-
1179
- 2008-05-30T09:30:10Z.
1180
-
1181
- Alternatively, you can specify an offset from the UTC time by adding a positive or negative time following the time:
1182
-
1183
- 2008-05-30T09:30:10-09:00
1184
-
1185
- or
1186
- 2008-05-30T09:30:10+09:00.
1187
-
1188
- Note 1: If multiple contradicting instances of a gr:Offering, gr:PriceSpecification, or gr:OpeningHoursSpecification exist, it is a good heuristics to assume that
1189
- 1. Information with validity information for the respective period of time ranks higher than information without validity information.
1190
- 2. Among conflicting nodes both having validity information, the one with the shorter validity span ranks higher.
1191
- Note 2: For Google, attaching a gr:validThrough statement to a gr:UnitPriceSpecification is mandatory.
1192
- ).freeze,
1193
- label: "valid through (0..1)".freeze,
1194
- range: "xsd:dateTime".freeze,
1195
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1196
- type: "owl:DatatypeProperty".freeze
1197
- property :valueAddedTaxIncluded,
1198
- comment: %(This property specifies whether the applicable value-added tax \(VAT\) is included in the price of the gr:PriceSpecification or not.
1199
-
1200
- Note: This is a simple representation which may not properly reflect all details of local taxation.).freeze,
1201
- domain: "gr:PriceSpecification".freeze,
1202
- label: "value added tax included (0..1)".freeze,
1203
- range: "xsd:boolean".freeze,
1204
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1205
- type: "owl:DatatypeProperty".freeze
1206
- property :valueReference,
1207
- comment: %(The superclass of properties that link a gr:QuantitativeValue or a gr:QualitativeValue to a second gr:QuantitativeValue or a gr:QualitativeValue that provides additional information on the original value. A good modeling practice is to define specializations of this property \(e.g. foo:referenceTemperature\) for your particular domain.).freeze,
1208
- label: "value reference (0..*)".freeze,
1209
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1210
- type: "owl:ObjectProperty".freeze
1211
- property :vatID,
1212
- comment: %(The Value-added Tax ID of the gr:BusinessEntity. See http://en.wikipedia.org/wiki/Value_added_tax_identification_number for details.).freeze,
1213
- label: "VAT ID (0..1)".freeze,
1214
- range: "xsd:string".freeze,
1215
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1216
- type: "owl:DatatypeProperty".freeze
1217
- property :weight,
1218
- comment: %(The weight of the gr:ProductOrService.
1219
- Typical unit code\(s\): GRM for gram, KGM for kilogram, LBR for pound).freeze,
1220
- label: "weight (0..1)".freeze,
1221
- range: "gr:QuantitativeValue".freeze,
1222
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1223
- subPropertyOf: "gr:quantitativeProductOrServiceProperty".freeze,
1224
- type: "owl:ObjectProperty".freeze
1225
- property :width,
1226
- comment: %(The width of the gr:ProductOrService.
1227
- Typical unit code\(s\): CMT for centimeters, INH for inches).freeze,
1228
- label: "width (0..1)".freeze,
1229
- range: "gr:QuantitativeValue".freeze,
1230
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1231
- subPropertyOf: "gr:quantitativeProductOrServiceProperty".freeze,
1232
- type: "owl:ObjectProperty".freeze
1233
-
1234
- # Extra definitions
1235
- term :AmericanExpress,
1236
- comment: %(Payment by credit or debit cards issued by the American Express network.).freeze,
1237
- label: "American Express (payment method)".freeze,
1238
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1239
- type: "gr:PaymentMethodCreditCard".freeze
1240
- term :Business,
1241
- comment: %(The gr:BusinessEntityType representing such agents that are themselves offering commercial services or products on the market. Usually, businesses are characterized by the fact that they are officially registered with the public administration and strive for profits by their activities.).freeze,
1242
- label: "Business (business entity type)".freeze,
1243
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1244
- type: "gr:BusinessEntityType".freeze
1245
- term :Buy,
1246
- comment: %(This gr:BusinessFunction indicates that the gr:BusinessEntity is in general interested in purchasing the specified gr:ProductOrService.
1247
- DEPRECATED. Use gr:seeks instead.).freeze,
1248
- label: "Buy (business function, DEPRECATED)".freeze,
1249
- "owl:deprecated" => %(true).freeze,
1250
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1251
- type: "gr:BusinessFunction".freeze
1252
- term :ByBankTransferInAdvance,
1253
- comment: %(Payment by bank transfer in advance, i.e., the offering gr:BusinessEntity will inform the buying party about their bank account details and will deliver the goods upon receipt of the due amount.
1254
- This is equivalent to payment by wire transfer.).freeze,
1255
- label: "By bank transfer in advance (payment method)".freeze,
1256
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1257
- type: "gr:PaymentMethod".freeze
1258
- term :ByInvoice,
1259
- comment: %(Payment by bank transfer after delivery, i.e., the offering gr:BusinessEntity will deliver first, inform the buying party about the due amount and their bank account details, and expect payment shortly after delivery.).freeze,
1260
- label: "By invoice (payment method)".freeze,
1261
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1262
- type: "gr:PaymentMethod".freeze
1263
- term :COD,
1264
- comment: %(Collect on delivery / Cash on delivery - A payment method where the recipient of goods pays at the time of delivery. Usually, the amount of money is collected by the transportation company handling the goods.).freeze,
1265
- label: "COD (payment method)".freeze,
1266
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1267
- type: "gr:PaymentMethod".freeze
1268
- term :Cash,
1269
- comment: %(Payment by cash upon delivery or pickup.).freeze,
1270
- label: "Cash (payment method)".freeze,
1271
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1272
- type: "gr:PaymentMethod".freeze
1273
- term :CheckInAdvance,
1274
- comment: %(Payment by sending a check in advance, i.e., the offering gr:BusinessEntity will deliver the goods upon receipt of a check over the due amount. There are variations in handling payment by check - sometimes, shipment will be upon receipt of the check as a document, sometimes the shipment will take place only upon successful crediting of the check.).freeze,
1275
- label: "Check in advance (payment method)".freeze,
1276
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1277
- type: "gr:PaymentMethod".freeze
1278
- term :ConstructionInstallation,
1279
- comment: %(This gr:BusinessFunction indicates that the gr:BusinessEntity offers \(or seeks\) the construction and/or installation of the specified gr:ProductOrService at the customer's location.).freeze,
1280
- label: "Construction / installation (business function)".freeze,
1281
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1282
- type: "gr:BusinessFunction".freeze
1283
- term :DHL,
1284
- comment: %(Delivery via the parcel service DHL.).freeze,
1285
- label: "DHL (delivery method)".freeze,
1286
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1287
- type: "gr:DeliveryModeParcelService".freeze
1288
- term :DeliveryModeDirectDownload,
1289
- comment: %(Delivery of the goods via direct download from the Internet, i.e., the offering gr:BusinessEntity provides the buying party with details on how to retrieve the goods online. Connection fees and other costs of using the infrastructure are to be carried by the buying party.).freeze,
1290
- label: "Delivery mode direct download (delivery method)".freeze,
1291
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1292
- type: "gr:DeliveryMethod".freeze
1293
- term :DeliveryModeFreight,
1294
- comment: %(Delivery by an unspecified air, sea, or ground freight carrier or cargo company.).freeze,
1295
- label: "Delivery mode freight (delivery method)".freeze,
1296
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1297
- type: "gr:DeliveryMethod".freeze
1298
- term :DeliveryModeMail,
1299
- comment: %(Delivery via regular mail service \(private or public postal services\).).freeze,
1300
- label: "Delivery mode mail (delivery method)".freeze,
1301
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1302
- type: "gr:DeliveryMethod".freeze
1303
- term :DeliveryModeOwnFleet,
1304
- comment: %(Delivery of the goods by using a fleet of vehicles either owned and operated or subcontracted by the gr:BusinessEntity.).freeze,
1305
- label: "Delivery mode own fleet (delivery method)".freeze,
1306
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1307
- type: "gr:DeliveryMethod".freeze
1308
- term :DeliveryModePickUp,
1309
- comment: %(Delivery of the goods by picking them up at one of the stores etc. \(gr:Location\) during the opening hours as specified by respective instances of gr:OpeningHoursSpecification.).freeze,
1310
- label: "Delivery mode pick up (delivery method)".freeze,
1311
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1312
- type: "gr:DeliveryMethod".freeze
1313
- term :DinersClub,
1314
- comment: %(Payment by credit or debit cards issued by the Diner's Club network.).freeze,
1315
- label: "Diners Club (payment method)".freeze,
1316
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1317
- type: "gr:PaymentMethodCreditCard".freeze
1318
- term :DirectDebit,
1319
- comment: %(Payment by direct debit, i.e., the buying party will inform the offering gr:BusinessEntity about its bank account details and authorizes the gr:BusinessEntity to collect the agreed amount directly from that account.).freeze,
1320
- label: "Direct debit (payment method)".freeze,
1321
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1322
- type: "gr:PaymentMethod".freeze
1323
- term :Discover,
1324
- comment: %(Payment by credit or debit cards issued by the Discover network.).freeze,
1325
- label: "Discover (payment method)".freeze,
1326
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1327
- type: "gr:PaymentMethodCreditCard".freeze
1328
- term :Dispose,
1329
- comment: %(This gr:BusinessFunction indicates that the gr:BusinessEntity offers \(or seeks\) the acceptance of the specified gr:ProductOrService for proper disposal, recycling, or any other kind of allowed usages, freeing the current owner from all rights and obligations of ownership.).freeze,
1330
- label: "Dispose (business function)".freeze,
1331
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1332
- type: "gr:BusinessFunction".freeze
1333
- term :Enduser,
1334
- comment: %(The gr:BusinessEntityType representing such agents that are purchasing the good or service for private consumption, in particular not for resale or for usage within an industrial enterprise. By default, a Business Entity is an Enduser.).freeze,
1335
- label: "Enduser (business entity type)".freeze,
1336
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1337
- type: "gr:BusinessEntityType".freeze
1338
- term :FederalExpress,
1339
- comment: %(Delivery via the parcel service Federal Express.).freeze,
1340
- label: "Federal Express (delivery method)".freeze,
1341
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1342
- type: "gr:DeliveryModeParcelService".freeze
1343
- term :Friday,
1344
- comment: %(Friday as a day of the week.).freeze,
1345
- "gr:displayPosition" => %(5).freeze,
1346
- "gr:hasNext" => %(gr:Saturday).freeze,
1347
- "gr:hasPrevious" => %(gr:Thursday).freeze,
1348
- label: "Friday (day of week)".freeze,
1349
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1350
- type: "gr:DayOfWeek".freeze
1351
- term :GoogleCheckout,
1352
- comment: %(Payment via the Google Checkout payment service.).freeze,
1353
- label: "Google Checkout (payment method)".freeze,
1354
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1355
- type: "gr:PaymentMethod".freeze
1356
- term :JCB,
1357
- comment: %(Payment by credit or debit cards issued by the JCB network.).freeze,
1358
- label: "JCB (payment method)".freeze,
1359
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1360
- type: "gr:PaymentMethodCreditCard".freeze
1361
- term :"Labor-BringIn",
1362
- comment: %(In case of a defect or malfunction, the buying party has the right to transport the good to a service location determined by the the selling gr:BusinessEntity and will be charged only for parts and materials needed to fix the problem. Labor will be covered by the selling business entity or one of its partnering business entities.
1363
-
1364
- Note: This is just a rough classification for filtering offers. It is up to the buying party to check the exact scope and terms and conditions of the gr:WarrantyPromise.).freeze,
1365
- label: "Labor / bring-in (warranty scope)".freeze,
1366
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1367
- type: "gr:WarrantyScope".freeze
1368
- term :LeaseOut,
1369
- comment: %(This gr:BusinessFunction indicates that the gr:BusinessEntity offers \(or seeks\) the temporary right to use the specified gr:ProductOrService.).freeze,
1370
- label: "Lease Out (business function)".freeze,
1371
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1372
- type: "gr:BusinessFunction".freeze
1373
- term :Maintain,
1374
- comment: %(This gr:BusinessFunction indicates that the gr:BusinessEntity offers \(or seeks\) typical maintenance tasks for the specified gr:ProductOrService. Maintenance tasks are actions that undo or compensate for wear or other deterioriation caused by regular usage, in order to restore the originally intended function of the product, or to prevent outage or malfunction.).freeze,
1375
- label: "Maintain (business function)".freeze,
1376
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1377
- type: "gr:BusinessFunction".freeze
1378
- term :MasterCard,
1379
- comment: %(Payment by credit or debit cards issued by the MasterCard network.).freeze,
1380
- label: "MasterCard (payment method)".freeze,
1381
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1382
- type: "gr:PaymentMethodCreditCard".freeze
1383
- term :Monday,
1384
- comment: %(Monday as a day of the week.).freeze,
1385
- "gr:displayPosition" => %(1).freeze,
1386
- "gr:hasNext" => %(gr:Tuesday).freeze,
1387
- "gr:hasPrevious" => %(gr:Sunday).freeze,
1388
- label: "Monday (day of week)".freeze,
1389
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1390
- type: "gr:DayOfWeek".freeze
1391
- term :"PartsAndLabor-BringIn",
1392
- comment: %(In case of a defect or malfunction, the buying party has the right to transport the good to a service location determined by the the selling gr:BusinessEntity and will not be be charged for labor, parts, and materials needed to fix the problem. All those costs will be covered by the selling business entity or one of its partnering business entities.
1393
-
1394
- Note: This is just a rough classification for filtering offers. It is up to the buying party to check the exact scope and terms and conditions of the gr:WarrantyPromise.).freeze,
1395
- label: "Parts and labor / bring-in (warranty scope)".freeze,
1396
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1397
- type: "gr:WarrantyScope".freeze
1398
- term :"PartsAndLabor-PickUp",
1399
- comment: %(In case of a defect or malfunction, the buying party has the right to request from the selling gr:Business Entity to pick-up the good from its current location to a suitable service location, where the functionality of the good will be restored. All transportation, labor, parts, and materials needed to fix the problem will be covered by the selling business entity or one of its partnering business entities.
1400
-
1401
- Note: This is just a rough classification for filtering offers. It is up to the buying party to check the exact scope and terms and conditions of the gr:WarrantyPromise.).freeze,
1402
- label: "Parts and labor / pick up (warranty scope)".freeze,
1403
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1404
- type: "gr:WarrantyScope".freeze
1405
- term :PayPal,
1406
- comment: %(Payment via the PayPal payment service.).freeze,
1407
- label: "PayPal (payment method)".freeze,
1408
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1409
- type: "gr:PaymentMethod".freeze
1410
- term :PaySwarm,
1411
- comment: %(Payment via the PaySwarm distributed micropayment service.).freeze,
1412
- label: "PaySwarm (payment method)".freeze,
1413
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1414
- type: "gr:PaymentMethod".freeze
1415
- term :ProvideService,
1416
- comment: %(This gr:BusinessFunction indicates that the gr:BusinessEntity offers \(or seeks\) the respective type of service.
1417
-
1418
- Note: Maintain and Repair are also types of Services. However, products and services ontologies often provide classes for tangible products as well as for types of services. The business function gr:ProvideService is to be used with such goods that are services, while gr:Maintain and gr:Repair can be used with goods for which only the class of product exists in the ontology, but not the respective type of service.
1419
-
1420
- Example: Car maintenance could be expressed both as "provide the service car maintenance" or "maintain cars".).freeze,
1421
- label: "Provide service (business function)".freeze,
1422
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1423
- type: "gr:BusinessFunction".freeze
1424
- term :PublicHolidays,
1425
- comment: %(A placeholder for all official public holidays at the gr:Location. This allows specifying the opening hours on public holidays. If a given day is a public holiday, this specification supersedes the opening hours for the respective day of the week.).freeze,
1426
- "gr:displayPosition" => %(8).freeze,
1427
- label: "Public holidays (day of week)".freeze,
1428
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1429
- type: "gr:DayOfWeek".freeze
1430
- term :PublicInstitution,
1431
- comment: %(The gr:BusinessEntityType representing such agents that are part of the adminstration or owned by the public.).freeze,
1432
- label: "Public institution (business entity type)".freeze,
1433
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1434
- type: "gr:BusinessEntityType".freeze
1435
- term :Repair,
1436
- comment: %(This gr:BusinessFunction indicates that the gr:BusinessEntity offers \(or seeks\) the evaluation of the chances for repairing, and, if positive, repair of the specified gr:ProductOrService. Repairing means actions that restore the originally intended function of a product that suffers from outage or malfunction.).freeze,
1437
- label: "Repair (business function)".freeze,
1438
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1439
- type: "gr:BusinessFunction".freeze
1440
- term :Reseller,
1441
- comment: %(The gr:BusinessEntityType representing such agents that are purchasing the scope of products included in the gr:Offering for resale on the market. Resellers are also businesses, i.e., they are officially registered with the public administration and strive for profits by their activities.).freeze,
1442
- label: "Reseller (business entity type)".freeze,
1443
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1444
- type: "gr:BusinessEntityType".freeze
1445
- term :Saturday,
1446
- comment: %(Saturday as a day of the week.).freeze,
1447
- "gr:displayPosition" => %(6).freeze,
1448
- "gr:hasNext" => %(gr:Sunday).freeze,
1449
- "gr:hasPrevious" => %(gr:Friday).freeze,
1450
- label: "Saturday (day of week)".freeze,
1451
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1452
- type: "gr:DayOfWeek".freeze
1453
- term :Sell,
1454
- comment: %(This gr:BusinessFunction indicates that the gr:BusinessEntity offers to permanently transfer all property rights on the specified gr:ProductOrService.).freeze,
1455
- label: "Sell (business function)".freeze,
1456
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1457
- type: "gr:BusinessFunction".freeze
1458
- term :Sunday,
1459
- comment: %(Sunday as a day of the week.).freeze,
1460
- "gr:displayPosition" => %(7).freeze,
1461
- "gr:hasNext" => %(gr:Monday).freeze,
1462
- "gr:hasPrevious" => %(gr:Saturday).freeze,
1463
- label: "Sunday (day of week)".freeze,
1464
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1465
- type: "gr:DayOfWeek".freeze
1466
- term :Thursday,
1467
- comment: %(Thursday as a day of the week.).freeze,
1468
- "gr:displayPosition" => %(4).freeze,
1469
- "gr:hasNext" => %(gr:Friday).freeze,
1470
- "gr:hasPrevious" => %(gr:Wednesday).freeze,
1471
- label: "Thursday (day of week)".freeze,
1472
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1473
- type: "gr:DayOfWeek".freeze
1474
- term :Tuesday,
1475
- comment: %(Tuesday as a day of the week.).freeze,
1476
- "gr:displayPosition" => %(2).freeze,
1477
- "gr:hasNext" => %(gr:Wednesday).freeze,
1478
- "gr:hasPrevious" => %(gr:Monday).freeze,
1479
- label: "Tuesday (day of week)".freeze,
1480
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1481
- type: "gr:DayOfWeek".freeze
1482
- term :UPS,
1483
- comment: %(Delivery via the parcel service UPS.).freeze,
1484
- label: "UPS (delivery method)".freeze,
1485
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1486
- type: "gr:DeliveryModeParcelService".freeze
1487
- term :VISA,
1488
- comment: %(Payment by credit or debit cards issued by the VISA network.).freeze,
1489
- label: "VISA (payment method)".freeze,
1490
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1491
- type: "gr:PaymentMethodCreditCard".freeze
1492
- term :Wednesday,
1493
- comment: %(Wednesday as a day of the week.).freeze,
1494
- "gr:displayPosition" => %(3).freeze,
1495
- "gr:hasNext" => %(gr:Thursday).freeze,
1496
- "gr:hasPrevious" => %(gr:Tuesday).freeze,
1497
- label: "Wednesday (day of week)".freeze,
1498
- "rdfs:isDefinedBy" => %(http://purl.org/goodrelations/v1).freeze,
1499
- type: "gr:DayOfWeek".freeze
1500
- end
1501
- end