Title
The Product Types Ontology: Use Wikipedia pages for describing products or services with GoodRelations and schema.org
Go Home
Category
Description
The Product Types Ontology provides good identifiers for more than 300,000 types of products and services for E-Commerce on the Semantic Web, based on Wikipedia
Address
Phone Number
+1 609-831-2326 (US) | Message me
Site Icon
The Product Types Ontology: Use Wikipedia pages for describing products or services with GoodRelations and schema.org
Page Views
0
Share
Update Time
2022-05-05 08:09:19

"I love The Product Types Ontology: Use Wikipedia pages for describing products or services with GoodRelations and schema.org"

www.productontology.org VS www.gqak.com

2022-05-05 08:09:19

The Product Types Ontology: High-precision identifiers for product types based on WikipediaShare on http://www.productontology.org/On this page:UsageExamplesschema.org/MicrodataFacebook OGPRDF/XML DumpFAQsCaching PolicyLicenseContact InformationAcknowledgmentsReferencesBreaking news: schema.org has just implemented our proposal to define an additionalType property with the use of this service in mind!This service provides ca. 300,000 precise definitions for types of product or services that extend the schema.org and GoodRelations standards for e-commerce markup, e.g.Wikipedia EntryClass IdentifierRepresentationApplehttp://www.productontology.org/id/Apple[RDF/XML][N3/Turtle][HTML]Manure_spreaderhttp://www.productontology.org/id/Manure_spreader[RDF/XML][N3/Turtle][HTML]Racing_bicyclehttp://www.productontology.org/id/Racing_bicycle[RDF/XML][N3/Turtle][HTML]Soldering_ironhttp://www.productontology.org/id/Soldering_iron[RDF/XML][N3/Turtle][HTML]Sweet_potatohttp://www.productontology.org/id/Sweet_potato[RDF/XML][N3/Turtle][HTML]GoodRelations is a standardized vocabulary (also known as "schema", "data dictionary", or "ontology") for product, price, and company data that can (1) be embedded into existing static and dynamic Web pages and that (2) can be processed by other computers. This increases the visibility of your products and services in the latest generation of search engines, recommender systems, and other novel applications.schema.org is an entry-level alternative for marking up pages for search engines.While the classes provided by this service are initially meant to complement GoodRelations and schema.org, they can be used for any other Semantic Web or Linked Open Data application as well.URI PatternWikipedia page about "Hammer": http://en.wikipedia.org/wiki/HammerPrefixpto:Ontology IDhttp://www.productontology.org/#Namespacehttp://www.productontology.org/id/Class Identifierhttp://www.productontology.org/id/HammerRepresentationhttp://www.productontology.org/doc/HammerRDF/XML (single class)http://www.productontology.org/doc/Hammer.rdfN3/Turtle (single class)http://www.productontology.org/doc/Hammer.ttlRDF/XML (dump file)http://www.productontology.org/dump.rdfHTMLhttp://www.productontology.org/doc/Hammer.htmlUsageYou can use this ontology to describe any object for which a matching entry in the English Wikipedia exists. If you already know the correct URI for the English Wikipedia page, simply cut off the Wikipedia namespace parthttp://en.wikipedia.org/wiki/from the Wikipedia URI, e.g.http://en.wikipedia.org/wiki/Hammerand replace it byhttp://www.productontology.org/id/which will e.g. give youhttp://www.productontology.org/id/HammerThen you can use this URI to indicate that your object is a hammer:foo:myHammer rdf:type .In Microdata syntax with the schema.org vocabulary, you should add the full URI of a class from this site as an additional type by using the additionalType property of http://schema.org/Product as follows: How to find the matching class URIThanks to the many links between the multiple language editions of Wikipedia, you can search for the best class in your favorite language, e.g. in the German or Italian Wikipedia, and then click on the English translation on the left-hand side to get to the matching page in the English Wikipedia:PropertiesFor describing typical characteristics of the object, like weight, depth, length, width, color, or condition, you can use the predefined GoodRelations properties:gr:category gr:color gr:condition gr:depth gr:hasEAN_UCC-13 gr:hasGTIN-14 gr:hasMPN gr:hasManufacturer gr:hasStockKeepingUnit gr:height gr:isAccessoryOrSparePartFor gr:isConsumableFor gr:isSimilarTo gr:weight gr:width You can also use relevant properties from other GoodRelations-compliant vocabularies, like those for Vehicles or Tickets.When used in combination with http://schema.org/Product, you can also use all standard properties defined for this type, e.g. model or productID.ExamplesMicrodata / Use with http://schema.org/ProductOne of the most powerful usages of the class definitions from this site is to describe the type of your page and product for the schema.org product markup in Microdata syntax much more precisely.Simply add the full URI of a class from this site, e.g. http://www.productontology.org/id/Hammer as an additional type as follows: Note: In HTML5, it is valid to use the element in the body of a HTML document.Here is a complete example: An offer to sell a / some Hammer .. a short name for the object ... Product description: ... a longer description ... $19.99 In stock Turtle Syntax@prefix foaf: .@prefix xsd: .@prefix pto: .@prefix gr: .@prefix foo: .# The objectfoo:myObject a ;a gr:SomeItems ;gr:name "... a short name for the object ..."@en ;gr:description "... a longer description ..."@en .# The agent (person or company) who is offering itfoo:ACMECorp a gr:BusinessEntity ;gr:legalName "ACME Corp" ;gr:offers foo:Offer .# The offer to sell itfoo:Offer a gr:Offering ;gr:includes foo:myObject;foaf:page ;gr:hasBusinessFunction gr:Sell ;gr:validFrom "2011-01-24T00:00:00+01:00"^^xsd:dateTime ;gr:validThrough "2011-12-24T00:00:00+01:00"^^xsd:dateTime ;gr:hasPriceSpecification [ a gr:UnitPriceSpecification ; gr:hasCurrency "USD"^^xsd:string ; gr:hasCurrencyValue "19.99"^^xsd:float ; gr:validThrough "2011-12-24T00:00:00+01:00"^^xsd:dateTime ] .Note: Replace gr:SomeItems (http://purl.org/goodrelations/v1#SomeItems) by gr:Individual if you are describing a unique object of that kind (e.g. antique furniture).RDFa An offer to sell a / some Hammer ACME Corp ... a longer description ... .. a short name for the object ... $ 19.99 Note: Replace gr:SomeItems (http://purl.org/goodrelations/v1#SomeItems) by gr:Individual if you are describing a unique object of that kind (e.g. antique furniture).RDF/XML ... a short name for the object ... ... a longer description ... ACME Corp 2011-01-24T00:00:00+01:00 2011-12-24T00:00:00+01:00 USD 19.99 2011-12-24T00:00:00+01:00 Note: Replace gr:SomeItems (http://purl.org/goodrelations/v1#SomeItems) by gr:Individual if you are describing a unique object of that kind (e.g. antique furniture).SPARQL Queryprefix foaf: prefix xsd: prefix pto: prefix gr: prefix foo: # Find the cheapest offer for a HammerSELECT * WHERE{?company gr:offers ?offer .?offer a gr:Offering .?offer gr:hasBusinessFunction gr:Sell .OPTIONAL {?offer rdfs:label ?label } .OPTIONAL {?offer gr:name ?label } .OPTIONAL {?offer rdfs:comment ?label } .OPTIONAL {?offer gr:description ?label } .?offer gr:hasPriceSpecification ?p .?p a gr:UnitPriceSpecification .?p gr:hasCurrency ?currency .?p gr:hasCurrencyValue ?price .?offer gr:includes ?product .?product a .}ORDER BY (?price)LIMIT 10Facebook Open Graph ProtocolYou can also use the class definitions from this site for better describing the type of your page or product for the Facebook Open Graph Protocol.Simply define the namespace prefix pto: in the element of your pageand use the compact URI (CURIE), e.g. pto:Hammer in combination with og:type as follows:Here is a complete example: Example for Facebook Opengraph Protocol on a page describing a(n)/some Hammer Example for combining the Facebook Opengraph Protocol with http://www.productontology.org for more specific ogp:type statements. [back to top]RDF/XML DumpYou can fetch an RDF/XML representation of all classes that (1) have been requested several times and (2) that are not disambiguation pages in Wikipedia fromhttp://www.productontology.org/dump.rdfBy default, it just returns the 1000 most frequently requested classes. You can fetch all classes by using the parameters limit and offset as follows:http://www.productontology.org/dump.rdf?limit=x&offset=yThe default and maximum value for limit is 1000, the default for offset is 0. The HTTP response headers will contain additional parameters that help fetching all classes: X-productontology-offset: X-productontology-limit: X-productontology-results: So you can create a simple loop that increases the offset by a fixed number until the number of results returned is less than the requested number of items.Note 1: This dump file does neither include textual class definitions (rdfs:comment) nor non-English class labels. However, each class definition points to the URI of the RDF/XML representation via rdfs:seeAlso. Thus, you can fetch all textual definitions and translations by following those rdfs:seeAlso links.Note 2: This dump file contains only those classes that have been already requested individually. In other words, the number of class definitions available in the dump file grows with the usage of our service.[back to top]Wikipedia BookmarkletIf you add this link to your bookmarks, you can easily get from any page in the English Wikipedia to the proper class definition on this site.[back to top]Frequently Asked QuestionsWhat is the difference to DBpedia?DBpedia extracts data, e.g. facts and individuals from Wikipedia, and makes those available as a giant RDF representation. This works well for Wikipedia entries that represent individuals, e.g. John F. Kennedy, the city of Paris, Germany as a country, etc. Unfortunately, you cannot use DBpedia identifiers to indicate class membership, because they have a strange semantics. For instance, the DBpedia entry for "Soldering_iron",http://dbpedia.org/resource/Soldering_ironis defined to be an instance (!!) of the class http://dbpedia.org/class/yago/ElectronicsWorkToolsThat means, DBpedia says that the entity is an actual soldering iron, instead of being the topic "soldering iron" or a class.So the following is not possible:foo:mySolderingIron rdf:type .Because, that would state that foo:mySolderingIron was an instance of something that is a yago:Soldering_iron.So DBpedia URIs cannot be used for modeling the type of real-world objects, in particular in the context of the GoodRelations ontology, becausethey lack a suitable semantics for being used as classes, andthey are not valid OWL DL.For the majority of the 3.5 million Wikipedia entries, DBpedia offers a very useful representation for the Semantic Web. However, it does not provide a useful RDF representation for the more than 300,000 Wikipedia that describe types of objects, while we urgently need more authoritative class definitions for very specific things.Note 1: We link from all class definitions in this service to the matching DBpedia resource via rdfs:seeAlso, so it is easy to follow that link if you want to use information from DBpedia in combination with a class definition, e.g. the URIs of images etc.Note 2: The information in this service comes directly from Wikipedia, which means that new Wikipedia classes or updated texts are available immediately (except for the minor caching interval of 60 minutes).How do you know that a Wikipedia entry is a valid class?We don't. This service will also generate class definitions for Wikipedia entries that make for no useful classes. Instead of filtering out valid classes beforehand, we rather watch which identifiers will be used in real-world data. Meaningless class definitions do not harm; meaningless data may.Can I also retrieve class definitions for sections in a Wikipedia entry (hash fragments)?Unfortunately, this is not possible, because the HTTP protocol does not transmit the hash fragment(e.g. #Diamond_mandrels in http://en.wikipedia.org/wiki/Grinding_wheel#Diamond_mandrels)to the remote server, so we cannot know which fragment you are interested in. Since the majority of sections in Wikipedia pages do not define subclasses of the main lemma, it does not make sense to define subclasses for all subsection identifiers by default.The best solution is establish a new Wikipedia entry in the English(!) Wikipedia for the subsection. If the lemma is important enough to be needed as a class, it should also survive all relevance disputes in the Wikipedia community.How can I fetch a dump file holding all 300,000 class definitions?The dump file athttp://www.productontology.org/dump.rdfcontains only those classes that have already been requested from their individual URI at least once, e.g. "Apple" is included only if someone has ever requested the following resource:http://www.productontology.org/id/AppleThis is necessary because there is no guaranteed way to predict which of the ca. 3.5 million Wikipedia entries make up useful and needed class definitions. We know from our research (Hepp/Siorpaes/Bachlechner, 2007) that between 8.73 % and 19.77 % of the Wikipedia entries make up for useful product classes and you can request a class definition for any Wikipedia lemma that you need to describe your objects, but such cannot be derived automatically from the Wikipedia content. Also, we do not know which classes will be needed and which others are not.Eventually, we will add filtering techniques so that the dump will only include classes that pass a certain popularity test in RDF datasets.Why is everything a gr:ProductOrService? Isn't this wrong and dangerous?The semantics of gr:ProductOrService is basically that of a tangible or intangible object on which rights can granted or transferred, so even if social conventions tell us that rain, love, health, longevity, or sex should not be traded, they are not necessarily invalid as subclasses of gr:ProductOrService, because in some environments, it may be perfectly valid to sell rain or seek health by means of RDF and GoodRelations.Your idea sucks: I can even get a class definition for those Wikipedia lemmata that make absolutely no sense as a class.First, this is not question but a statement. Second, yes, you are absolutely right: You can request a class definition for John F. Kennedy or Massachusetts in 2010. However, there is absolutely no harm in providing a nonsense class definition, unless someone uses this to annotate an object. The only classes that we filter out are those for Wikipedia disambiguation pages, since they are mostly irrelevant as classes.Our approach is grounded in the idea of Human Computation: Instead of identifying valid lemmata beforehand, we rather watch which identifiers will be used in real-world data. Again, meaningless class definitions do not harm; meaningless data may.Your idea sucks: What you call an ontology is no ontology, because it lacks an axiomatic theory.First, this is not question but a statement. Second, yes, you are absolutely right: Besides the rdfs:subClassOf axiom, we don't have any formal semantics for each class. Third: Your ontologies likely lack social grounding (ours: constant challenging by millions of reviews and revisions), documentation (ours: customized examples in all popular RDF syntaxes),useful textual definitions, andlabels in languages other than English (ours: up to 100 languages).Fourth: All of our class definitions are valid OWL DL / OWL2 DL, so one can add axioms in complementing graphs with ease.[back to top]Caching PolicyIn order to minimize the load on the Wikipedia API, all requests are cached internally for 72 hours. This means that changes to the English Wikipedia will be available in this service within 72 hours or less if the same entry has been requested before. Classes not requested within the last 72 hours are always guaranteed to be in sync with the latest version in Wikipedia.The RDF/XML dump file is updated every 12 hours.[back to top]LicenseThe class definition texts are taken from Wikipedia, the free encyclopedia under a Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license. Accordingly, all ontology class definitions provided in here are available under the very same license.[back to top]Contact InformationUniv.-Prof. Dr. Martin HeppE-Business and Web Science Research GroupChair of General Management and E-BusinessUniversität der Bundeswehr MünchenWerner-Heisenberg-Weg 39D-85579 Neubiberg, GermanyPhone: +49 89 6004-4217eMail: mhepp(at)computer.org (preferred mode of communication)Web: http://www.heppnetz.de/Web: http://www.unibw.de/ebusiness/[back to top]AcknowledgementsThanks to Stefano Bertolo, Julien Chaumond, Bob Ferris, Kingsley Idehen, Axel Polleres, Andreas Radinger, Alex Stolz, and Giovanni Tummarello for very valuable feedback, and to Katharina Siorpaes and Daniel Bachlechner, who contributed to the initial analysis of the stability of Wikipedia URIs back in 2007. The Social bookmarking icons are from the WPZOOM Social Networking Icon Set, licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.The work on The Product Types Ontology has been supported by the German Federal Ministry of Research (BMBF) by a grant under the KMU Innovativ program as part of the Intelligent Match project (FKZ 01IS10022B).[back to top]ReferencesHepp, Martin: GoodRelations: An Ontology for Describing Products and Services Offers on the Web, Proceedings of the 16th International Conference on Knowledge Engineering and Knowledge Management (EKAW2008), Acitrezza, Italy, September 29 - October 3, 2008, Springer LNCS, Vol 5268, pp. 332-347.Hepp, Martin; Siorpaes, Katharina; Bachlechner, Daniel: Harvesting Wiki Consensus: Using Wikipedia Entries as Vocabulary for Knowledge Management, IEEE Internet Computing, Vol. 11, No. 5, pp. 54-65, Sept-Oct 2007. Last revised: 2022-05-04T05:44:10.809481