forked from schemaorg/schemaorg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathold_extension_2015.html
152 lines (122 loc) · 8.02 KB
/
old_extension_2015.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Extending Schemas - schema.org</title>
<meta name="description" content="Schema.org is a set of extensible schemas that enables webmasters to embed
structured data on their web pages for use by search engines and other applications." />
<link rel="stylesheet" type="text/css" href="schemaorg.css" />
<!-- ##### Generated insert [CSEScript-start] see scripts/genhtmlinserts.sh ##### -->
<!-- Enable CSE Search -->
<script>
(function() {
var cx = '013516846811604855281:nj5laplixaa'; // Insert your own Custom Search engine ID here
var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
})();
</script>
<!-- ##### Generated insert [CSEScript-end] see scripts/genhtmlinserts.sh ##### -->
</head>
<body>
<!-- ##### Generated insert [DOCSHDR-start] see scripts/genhtmlinserts.sh ##### -->
<div id="container">
<div id="intro">
<div id="pageHeader">
<div class="wrapper">
<div id="sitename">
<h1>
<a href="../">schema.org</a>
</h1>
</div>
<div id="cse-search-form" style="width: 400px;">
<div class="gcse-searchbox-only" data-resultsurl="search_results.html"></div>
</div>
</div>
</div>
</div>
</div>
<div id="selectionbar">
<div class="wrapper">
<ul>
<li>
<a href="documents.html" >Documentation</a>
</li>
<li>
<a href="schemas.html" >Schemas</a>
</li>
<li>
<a href="../" >Home</a>
</li>
</ul>
</div>
</div>
<!-- ##### Generated insert [DOCSHDR-end] see scripts/genhtmlinserts.sh ##### -->
<div id="mainContent" class="faq">
<h2>Schema.org Extensions (2014-2018)</h2>
<p><b>Status Note:</b>
<p>This page is archived. See also <a href="old_extension.html">2011-2014 documentation</a>.
Our <a href="/docs/extension.html">approach</a> was refined again in April 2019.</p>
<p>We have two kinds of named extension to schema.org: 'hosted' and 'external'. This is in addition to the ongoing practice of extending
schema.org via the changes and improvements included in every <a href="/docs/releases.html">release</a>.
<p>Hosted extensions are managed and reviewed as part of the schema.org project itself.
External extensions are managed and reviewed by other groups. See the <a href="/docs/schemas.html">schemas page</a> for a listing.</p>
<hr />
<h3>Motivation</h3>
<p>
Schema.org provides a core, basic vocabulary for describing the kind of
entities the most common web applications need. There is often a
need for more specialized and/or deeper vocabularies, that build
upon the core. The extension mechanisms facilitate the creation of
such additional vocabularies.
</p>
<p>
With most extensions, we expect that some small frequently used
set of terms will be in core schema.org, with a long tail of more
specialized terms in the extension.
</p>
<h3>Types of Extensions</h3>
<p>
There are two kinds of extensions: reviewed/hosted extensions and external extensions. Both kinds of extensions typically add subclasses and properties to the core. Properties may be added to existing and/or new classes. More generally, they are an overlay on top of the core, and so they may add domains/ranges, superclasses, etc. as well. Extensions have to be consistent with the core schema.org. Every item in the core (i.e., http://schema.org/) is also in every extension. Extensions might overlap with each other in concepts (e.g., two extensions defining terms for financial institutions, one calling it FinancialBank and other calling it FinancialInstitution), but we should not have the same term being reused to mean something completely different (e.g., we should not have two extensions, one using Bank to mean river bank and the other using Bank to mean financial institution).
</p>
<h3>Reviewed/hosted Extensions</h3>
<p>
Each reviewed extension (say, e1), gets its own chunk of schema.org namespace: e1.schema.org in the schema.org website. The items in that extension are created and maintained by the creators of that extension. Reviewed extensions are very different from proposals. A proposal, if accepted, with modifications could either go into the core or become a reviewed extension.
</p>
<p>
A reviewed extension is something that has been looked at and discussed by the community, albeit not as much as something in the core. We also expect a reviewed extension to have strong community support, preferably in the form of a few deployments.
</p>
<h3>External Extensions</h3>
<p>Sometimes there might be a need for a third party (such as an app
developer) to create extensions specific to their application. For
example, Pinterest might want to extend the schema.org concept of
‘Sharing’ with ‘Pinning’. In such a case, they can create
schema.pinterest.com and put up their extensions, specifying how it
links with core schema.org. We will refer to these as external
extensions.
</p><p>
There are also cases where a third party might want to host a
broadly applicable extension themselves. In such cases, the extension
may go through the kind of feedback process that reviewed extensions
go through, but can be hosted on the third party's site.
</p>
<h3>How it works for webmasters</h3>
<p>
All of Schema.org core and all of the reviewed extensions are available from the schema.org website. Each extension is linked to from each of the touch points it has with the core. So, if an extension (say, having to do with Legal stuff) creates <em>LegalPerson</em> which is a subclass of <em>Person</em>, the Person will link to LegalPerson.</p>
<p>Reviewed extensions are identified in the website with an appropriate URL prefix. For example <em>bib.schema.org</em> for bibliographic terms, <em>auto.schema.org</em> for automotive terms. These URL prefixes are only applicable to the documentation of terms within an extention. The Schema.org vocabulary and its reviewed extensions are defined in a flat namespace. ie. All terms, in the core vocabulary and extensions, within the vocabulary have a <em>http://schema.org</em> based cannonical URI. For example the <a href="http://auto.schema.org/MotorizedBicycle">MotorizedBicycle</a> type defined in the <a href="http://auto.schema.org">auto.schema.org</a> extension and documented on the <em>http://auto.schema.org/MotorizedBicycle</em> page, has a cannonical URI of <em>http://schema.org/MotorizedBicycle</em>. The cannonical URI is the value that is used when applying Schema.org markup.</p>
<pre><div itemscope itemtype="http://schema.org/MotorizedBicycle"></pre>
<h3>What does someone creating an extension need to do</h3>
<p>
Extension creators to not have to worry about running a website for their extension. Once the extension is approved, they simply upload a file defining their extension and associated examples into an agreed directory for that extension on github. Changes are made through the same mechanism.</p>
<p>More information about proposing and implementng extensions can be found in <a href="/docs/howwework.html">How We Work</a>.</p>
<br/>
<b>Historical Note:</b>
<br/>This page introduces the new extension mechanism adopted in May
2015. Documentation on the previous 'slash-based' extension mechanism
<a href="old_extension.html">has been archived</a>.
</div>
<div id="footer"><p>
<a href="../docs/terms.html">Terms and conditions</a></p>
</div>
</body>
</html>