In the next sections, we explain the conceptual structure of the GoodRelations vocabulary (and thus of the e-commerce model in schema.org). On this page, we define the conventions for illustrations and other elements.
In essence, GoodRelations is a conceptual model that defines entity types, relationship types, enumerated values, and hierarchical relations among entity types and among properties. Since GoodRelations can be used in many different syntaxes, both RDF-based syntaxes and other popular syntaxes, we use a special type of diagram for illustrating the conceptual elements and how they relate. The notation is more concise than typical RDF graph visualizations, and more intuitive for RDF and JSON developers than e.g. UML class diagrams (for classes) or UML object diagrams (for instances).
The following figure gives an annotated example: 720px|frame|Figure: Conventions for illustrations in the User's Guide
The equivalent Turtle syntax for the example shown in the figure above would be as follows:
foo:Offer a gr:Offering ;
gr:hasBusinessFunction gr:Sell;
gr:description "Item text";
gr:hasPriceSpecification [a gr:UnitPriceSpecification ;
gr:hasCurrency "USD"].
The same structure in Microdata would look as follows:
div itemscope itemtype="http://schema.org/Offer" itemid="#Offer">
<link itemprop="businessFunction" href="http://purl.org/goodrelations/v1#Sell" />
<span itemprop="description">Item text</span>
<div itemprop="priceSpecification" itemscope itemtype="http://schema.org/UnitPriceSpecification">
<span itemprop="priceCurrency">USD</span>
<div>
</div> </
The same structure in RDFa would be as follows:
div vocab="http://schema.org/" typeof="Offer" about="#Offer">
<link rel="businessFunction" href="http://purl.org/goodrelations/v1#Sell" />
<span property="description">Item text</span>
<div link="priceSpecification">
<div typeof="UnitPriceSpecification">
<span property="priceCurrency">USD</span>
<div>
</div>
</div> </
The following message boxes highlight aspects that require special attention.