Abstract

HTML microdata [ MICRODATA ] is an extension to HTML used to embed machine-readable data into HTML documents. Whereas the microdata specification describes a means of markup, the output format is JSON. This specification describes processing rules that may be used to extract RDF [ (削除) RDF-CONCEPTS (削除ここまで) (追記) RDF11-CONCEPTS (追記ここまで) ] from an HTML document containing microdata.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document is an experimental work in progress. The concepts described herein are intended to provide guidance for a possible future Working Group chartered to provide a Recommendation for this transformation. As a consequence, implementers of this specification, either producers or consumers, should note that it may change prior to any possible publication as a Recommendation.

This Working Draft is an update of the W3C Interest Group Note , published in (削除) March (削除ここまで) (追記) October (追記ここまで) 2012. This update (削除) adds (削除ここまで) (追記) simplifies processing using (追記ここまで) the (削除) Vocabulary Expansion (削除ここまで) (追記) following mechanisms: (追記ここまで)

The intention is to publish this draft as a new version of the Interest Group Note after gathering and incorporating community input.

This document was published by the Semantic Web Interest Group as an Interest Group Note. If you wish to make comments regarding this document, please send them to semantic-web@w3.org ( subscribe , archives ). All (削除) feedback is (削除ここまで) (追記) comments are (追記ここまで) welcome.

Publication as an Interest Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

The disclosure obligations of the Participants of this group are described in the charter .

(追記) This document is governed by the (追記ここまで)(追記) 1 August 2014 (追記ここまで)(追記) W3C (追記ここまで)(追記) Process Document (追記ここまで).

Table of Contents

1. Introduction

This section is non-normative.

This document describes a means of transforming HTML containing microdata into RDF. HTML Microdata [ MICRODATA ] is an extension to HTML used to embed machine-readable data to HTML documents. This specification describes transformation directly to RDF [ (削除) RDF-CONCEPTS (削除ここまで) (追記) RDF11-CONCEPTS (追記ここまで) ].

Note

There are a variety of ways in which a mapping from microdata to RDF might be configured to give a result that is closer to the required result for a particular vocabulary. This specification defines terms that can be used as hooks for vocabulary-specific behavior, which could be defined within a registry or on an implementation-defined basis. (削除) However, the HTML Data TF recommends the adoption of a single method of mapping in which every vocabulary is treated as if: (削除ここまで)

(削除) propertyURI is set to vocabulary multipleValues is set to unordered (削除ここまで)

For background on the trade-offs between these options, see http://www.w3.org/wiki/Mapping_Microdata_to_RDF (追記) and (追記ここまで)(追記) GitHub Issues (追記ここまで) .

1.1 Background

This section is non-normative.

Microdata [ MICRODATA ] is a way of embedding data in HTML documents using attributes. The HTML DOM is extended to provide an API for accessing microdata information, and the microdata specification defines how to generate a JSON representation from microdata markup.

Mapping microdata to RDF enables consumers to merge data expressed in other RDF-based formats with microdata. It facilitates the use of RDF vocabularies within microdata, and enables microdata to be used with the full RDF toolchain. Some use cases for this mapping are described in Section 1.2 below.

Microdata's data model does not align neatly with RDF.

  • Non-URL microdata properties are disambiguated based on microdata item type ; an item with the type http://example.org/Cat can have both the property color and the property http://example.org/color , and these properties are semantically distinct under microdata. In RDF, all properties have IRIs.
  • When an item has multiple properties with the same name, the values are always ordered; in RDF, property values are unordered unless they are explicitly listed in an RDF Collection (削除) . (削除ここまで) .
  • (削除) A (削除ここまで) (追記) Except for some specific element values, a (追記ここまで) value in microdata is always a simple string which is interpreted by the consuming application. In RDF, values can be tagged with a datatype or a language. According to the microdata specification, the HTML context of microdata markup should not change how microdata is interpreted, so although element names and HTML @lang attributes could be used to provide datatype and language information for RDF data, this would be contrary to the microdata specification.

Thus, in some places the needs of RDF consumers violate requirements of the microdata specification. This specification highlights where such violations occur and the reasons for them.

This specification allows for vocabulary -specific rules that affect the generation of property URIs and value serializations. This is facilitated by a registry that associates URIs with specific rules based on matching itemtype values against registered URI prefixes do determine a vocabulary and potentially vocabulary-specific processing rules.

This specification also assumes that consumers of RDF generated from microdata may have to process the results in order to, for example, assign appropriate datatypes to property (削除) value s. (削除ここまで) (追記) values (追記ここまで).

1.2 Use Cases

This section is non-normative.

During the period of the task force, a number of use cases were put forth for the use of microdata in generating RDF:

  • Semantic search engines such as Sindice use RDF as their backend data model. They want to gather information expressed using microdata alongside information expressed in RDF-based formats and make it available to others to use, as a service. In these cases, the ultimate consumer, who will need to understand the vocabularies used within the microdata, is the program or person who pulls out data from Sindice. Sindice needs to retain the distinctions in the original microdata (e.g. ordering of items) and might not have built-in knowledge about the vocabulary of interest to the ultimate consumer. In this case, the ultimate consumer is likely to have to map/validate/handle errors in the data they get from Sindice.
  • A consumer such as openelectiondata.org wants to support microdata-based markup of their vocabulary as well as RDFa-based markup, both going into an RDF-based data store. They want to use an off-the-shelf tool to extract the microdata. They want to configure the tool to give them the RDF that is appropriate for their known vocabulary .
  • A browser plugin that captures data for the user uses an RDF model as its backend store. Any time it encounters microdata on a page, it wants to pull that microdata into the store on the fly.
  • GoodRelations properties do not take rdf:List values; when they take multiple values they are unordered. The rdfs:range of a GoodRelations property indicates the datatype of the expected value, and GoodRelations processors will expect values to be cast to that type. Language information from the HTML needs to be captured as it is common that multiple values will be used to specify the same information in different languages.
  • Schema.org has an extension mechanism to allow authors to express information that is more detail than the pre-defined types, properties and enumerations. Property URIs are all in the same flat-namespace as types, but authors can add more detail by using a '/' after the type or property to provide more detail. For example, schema.org defines a musicGroupMember property having a URI of http://schema.org/musicGroupMember , and an author might express more detail through an ad-hoc sub-property musicGroupMember/leadVocalist , having the URI http://schema.org/musicGroupMember/leadVocalist .

1.3 Issues

This section is non-normative.

Decisions or open issues in the specification are tracked on the (削除) Task Force (削除ここまで) (追記) GitHub (追記ここまで) Issue Tracker . These include the following:

(削除) Vocabulary specific parsing for Microdata. (削除ここまで)

(追記) Experimental Feature (追記ここまで)

(追記) Experimental support (追記ここまで)(追記) itemprop-reverse (追記ここまで). This (削除) specification attempts to create generic rules for processing microdata with typical RDF vocabularies. A registry allows for exceptions to the default processing rules for certain well-known vocabularies. Issue 2 (削除ここまで) (追記) attribute is not part of [ (追記ここまで) (追記) MICRODATA (追記ここまで) (削除) Should Microdata-RDF generate XMLLiteral values. This issue has been closed with no change (削除ここまで) (追記) ] and is included (追記ここまで) as (削除) this would violate microdata's data model. Issue 3 Should (削除ここまで) (追記) an experimental feature. Specific feedback from (追記ここまで) the (削除) registry allow property datatype specification. The consensus (削除ここまで) (追記) community (追記ここまで) is (削除) that datatypes are only derived from HTML semantics, so that only <time> values have a datatype other than plain. Issue 4 Should (削除ここまで) (追記) requested. Based on addoption, (追記ここまで) the (削除) registry allow a name or URL to (削除ここまで) (追記) attribute may (追記ここまで) be (削除) used as an alias (削除ここまで) (追記) considered (追記ここまで) for (削除) itemid . (削除ここまで) (追記) inclusion in forthcoming versions of [ (追記ここまで)(追記) MICRODATA (追記ここまで) (追記) ] and this note. (追記ここまで)

The purpose of this specification is to provide input to a future working group that can make decisions about the need for a registry and the details of processing. Among the options investigated by the Task Force are the following:

  • Property URI generation using the original microdata specification with a base URI and fragment made up of the in-scope item type and (追記) item (追記ここまで) properties .
  • Vocabulary-based URI generation, where the vocabulary is determined from the in-scope item type , either through an algorithmic modification of the type URL or by matching the URL against a registry . The vocabulary URI is then used to generate property URIs in a namespace parallel to the type URI.
  • When there are multiple top-level (削除) item (削除ここまで) (追記) items (追記ここまで) (削除) s (削除ここまで) in a document, place items in an RDF Collection. Alternatively, simply list the items as multiple values, or do not generate an http://www.w3.org/ns/md#item mapping at all.
  • When an item has multiple values for a given property , place the values in an RDF Collection. Alternatively, do not use collections, use an alternative such as rdf:Seq , or place all values, whether or not multiple, into some form of collection.
(削除) More examples and explanatory information are available in [ MICRODATA-RDF-SUPPLEMENT ], which may be updated from time to time. (削除ここまで)

2. Attributes and Syntax

The microdata specification [ MICRODATA ] defines a number of attributes and the way in which those attributes are to be interpreted. The microdata DOM API provides methods and attributes for retrieving microdata from the HTML DOM.

For reference, attributes used for specifying and retrieving HTML microdata are referenced here:

itemid
An attribute containing a URL used to identify the subject of triples associated with this item . (See (削除) Items (削除ここまで) (追記) itemid (追記ここまで) in [ MICRODATA ]).
itemprop
An attribute used to identify one or more (削除) name (削除ここまで) (追記) names (追記ここまで) (削除) s (削除ここまで) of an (削除) item s. (削除ここまで) (追記) items (追記ここまで). An itemprop contains a space separated list of (削除) name (削除ここまで) (追記) names (追記ここまで) (削除) s (削除ここまで) which may either by absolute (削除) URL (削除ここまで) (追記) URLs (追記ここまで) (削除) s (削除ここまで) or terms associated with the type of the item as defined by the referencing item 's item type . (See (削除) Items (削除ここまで) (追記) itemprop (追記ここまで) in [ MICRODATA ]).
itemref
An additional attribute on an element that references additional elements containing property definitions to be applied to the referencing item . (See (削除) Items (削除ここまで) (追記) itemref (追記ここまで) in [ MICRODATA ]).
itemscope
An boolean attribute identifying an element as an item . (See (削除) Items (削除ここまで) (追記) itemscope (追記ここまで) in [ MICRODATA ]).
itemtype
An additional attribute on an element used to specify one or more types of an item . The item type of an item is the first value returned from element.itemType on the element. The item type is also used to resolve non-URL (削除) name (削除ここまで) (追記) names (追記ここまで) (削除) s (削除ここまで) to absolute (削除) URL s. (削除ここまで) (追記) URLs (追記ここまで). Available through the Microdata DOM API as element.itemType . (See (削除) Items (削除ここまで) (追記) itemtype (追記ここまで) in [ MICRODATA ]).

In RDF, it is common for people to shorten vocabulary terms via abbreviated URIs that use a 'prefix' and a 'reference'. throughout this document assume that the following vocabulary prefixes have been defined:

dc: http://purl.org/dc/terms/
md: http://www.w3.org/ns/md#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfa: http://www.w3.org/ns/rdfa#
xsd: http://www.w3.org/2001/XMLSchema#

3. Vocabulary Registry

This section is non-normative.

In a perfect world, all processors would be able to generate the same output for a given input without regards to the requirements of a particular vocabulary . However, microdata doesn't provide sufficient syntactic help in making these decisions. Different vocabularies have different needs.

The registry is located at the namespace defined for microdata: http://www.w3.org/ns/md in a variety of formats. (追記) Under control of a runtime option, a processor should use another provided by reference, to affect processing. (追記ここまで)

The registry associates a URI prefix with one or more key-value pairs denoting processor behavior. A hypothetical JSON representation of such a registry might be the following:

(削除) { "http://schema.org/": { "propertyURI": "vocabulary", "multipleValues": "unordered", "properties": { "tracks": {"multipleValues": "list"} } }, "http://microformats.org/profile/hcard": { "propertyURI": "vocabulary", "multipleValues": "list", "properties" { "url": {"multipleValues": "unordered"} } } (削除ここまで)
Example 1
{
(追記) "http://schema.org/": {
 "properties": {
 "additionalType": {"subPropertyOf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}
 },
 "http://microformats.org/profile/hcard": {}
 }
 (追記ここまで)
}

This structure associates mappings for two (削除) URIs, (削除ここまで) (追記) URIs: (追記ここまで) http://schema.org/ and http://microformats.org/profile/hcard . Items having an item type with a URI prefix from this registry use the the rules described for that prefix within the scope of that item type . (削除) This (削除ここまで) (追記) For (追記ここまで)(追記) http://schema.org/ (追記ここまで),(追記) this (追記ここまで) mapping currently defines (削除) two rules: propertyURI and (削除ここまで) (追記) a single property: (追記ここまで) (削除) multipleValues (削除ここまで) (追記) additionalType (追記ここまで) with (削除) values (削除ここまで) (追記) a value (追記ここまで) to indicate specific behavior. It also allows overrides on a per-property basis; the (追記) item (追記ここまで) properties key associates an individual name with overrides for default behavior. The interpretation of these rules is defined in the following sections. If an item has no current type or the registry contains no URI prefix matching current type , a conforming processor (削除) must (削除ここまで) (追記) MUST (追記ここまで) use the default values defined for these rules.

(削除) Note The concept of a registry , including a hypothetical format, location and updating rules is presented as an abstract concept useful for describing the function of a microdata processor. There are issues surrounding update frequency, URL naming, and how updates are authorized. This spec just considers the semantic content of such a registry and how it can be used to affect processing without defining its representation or update policies. (削除ここまで)

3.1 Property URI Generation

This section is non-normative.

For (削除) name (削除ここまで) (追記) names (追記ここまで) (削除) s (削除ここまで) which are not absolute (削除) URL s, the propertyURI rule (削除ここまで) (追記) URLs (追記ここまで),(追記) this section (追記ここまで) defines the algorithm for generating an absolute URL given an evaluation context including a current type (削除) , current name (削除ここまで) and current vocabulary .

The procedure for generating property URIs is defined in Generate Predicate URI .

(削除) Possible values for propertyURI are the following: contextual (削除ここまで) The (削除) contextual URI generation scheme guarantees that generated property URIs are unique based on the value of current name . This is required as the microdata data model requires that name s are associated with specific items and do not have a global scope. (See Step 5 in Generate Predicate URI ). URI creation uses a base URI with query parameters to indicate the in-scope type and name list. Consider the following example: <span itemscope itemtype="http://microformats.org/profile/hcard"> <span itemprop="n" itemscope> <span itemprop="given-name"> Princeton </span> </span> </span> The first name n generates the URI http://www.w3.org/ns/md?type=http://microformats.org/profile/hcard?prop=n . However, the included name given-name is included in untyped item. The inherited property URI is used to create a new property URI: http://www.w3.org/ns/md?type=http://microformats.org/profile/hcard?prop=n.given-name . This scheme is compatible with the needs of other RDF serialization formats such as RDF/XML [ RDF-SYNTAX-GRAMMAR ], which rely on QNames for expressing properties. For example, the generated property URIs can be split as follows: <rdf:Description xmlns:hcard="http://www.w3.org/ns/md?type=http://microformats.org/profile/hcard?prop=" rdf:type="http://microformats.org/profile/hcard"> <hcard:n> <rdf:Description> <hcard:n.given-name> Princeton </hcard:n.given-name> </rdf:Description> </hcard:n> </rdf:Description> Looking at another example: <div itemscope itemtype="http://schema.org/Person"> <h2 itemprop="name">Jeni</h2> </div> This would generate http://www.w3.org/ns/md?type=http://schema.org/Person&prop=name . vocabulary The vocabulary (削除ここまで) URI generation scheme appends (削除) name (削除ここまで) (追記) names (追記ここまで) (削除) s (削除ここまで) that are not absolute (削除) URL (削除ここまで) (追記) URLs (追記ここまで) (削除) s (削除ここまで) to the URI prefix . When generating property URIs, if the URI prefix does not end with a '/' or '#', a '#' is appended to the URI prefix . (See Step 4 in Generate Predicate URI .)

URI creation uses a base URL with query parameters to indicate the in-scope type and name list. Consider the following example:

(削除) <span itemscope itemtype="http://microformats.org/profile/hcard"> <span itemprop="n" itemscope> <span itemprop="given-name"> Princeton </span> </span> (削除ここまで)
Example 2
<span itemscope itemtype="http://microformats.org/profile/hcard">
(追記) <span itemprop="n" itemscope>
 <span itemprop="given-name">
 Princeton
 </span>
 </span>
 (追記ここまで)
</span>

Given the URI prefix http://microformats.org/profile/hcard , this would generate http://microformats.org/profile/hcard#n and http://microformats.org/profile/hcard#given-name . Note that the '#' is automatically added as a separator.

Looking at another example:

(削除) <div itemscope itemtype="http://schema.org/Person"> <h2 itemprop="name">Jeni</h2> (削除ここまで)
Example 3
<div itemscope itemtype="http://schema.org/Person">
(追記) <h2 itemprop="name">Jeni</h2>
 (追記ここまで)
</div>

Given the URI prefix http://schema.org/ , this would generate http://schema.org/name . Note that if the itemtype were http://schema.org/Person/Teacher , this would generate the same property URI.

If the registry contains no match for current type implementations (追記) MUST (追記ここまで) act as if there is a URI prefix made from the first itemtype value by stripping either the fragment content or last path segment , if the value has no fragment (See [ RFC3986 ]).

(追記) The vocabulary (追記ここまで)(追記) URI prefix (追記ここまで) (追記) is made from the first (追記ここまで)(追記) itemtype (追記ここまで) (追記) value by stripping either the (追記ここまで)(追記) fragment (追記ここまで) (追記) content or (追記ここまで)(追記) last path segment (追記ここまで) ,(追記) if the value has no fragment (See [ (追記ここまで)(追記) RFC3986 (追記ここまで) (追記) ]). (追記ここまで)

Note

Deconstructing the itemtype URL to create or identify a vocabulary URI is a violation of the microdata specification which is necessary to support the use of existing vocabularies designed for use with RDF, and shared or inherited properties within all vocabularies.

(削除) The default value of propertyURI is vocabulary . <div itemscope itemtype="http://schema.org/Book"> <h2 itemprop="title">Just a Geek</h2> (削除ここまで)
Example 4
<div itemscope itemtype="http://example.org/Book">
(追記) <h2 itemprop="title">Just a Geek</h2>
 (追記ここまで)
</div>

In this example, assuming no matching entry in the registry , the URI prefix is constructed by removing the last path segment , leaving the URI (削除) http://schema.org/ (削除ここまで) (追記) http://example.org/ (追記ここまで) . (削除) As there is no explicit propertyURI , the default vocabulary is used, and the (削除ここまで) (追記) The (追記ここまで) resulting property URI would be (削除) http://schema.org/title (削除ここまで) (追記) http://example.org/title (追記ここまで) .

(削除) 3.2 Value Ordering (削除ここまで)

(削除) This section (削除ここまで) (追記) If there (追記ここまで) is (削除) non-normative. For items having multiple values for a given property (削除ここまで) (追記) no in-scope (追記ここまで)(追記) itemtype (追記ここまで) , (追記) property URIs are generated using (追記ここまで) the (削除) multipleValues rule defines (削除ここまで) (追記) base URI of (追記ここまで) the (削除) algorithm for serializing these values. Microdata uses (削除ここまで) document (削除) order when generating property value s, as defined in Microdata DOM API as element.itemValue . However, many RDF vocabularies expect multiple values to be generated as triples sharing a common subject (削除ここまで) and (削除) predicate. In some cases, it may be useful to retain value ordering. The procedure for generating property value s is defined in Generate Property Values . Possible values for multipleValues are (削除ここまで) the (削除) following: unordered Values are serialized without ordering using a common subject and predicate. (See Step 7 in Generate Property Values ). list Multi-valued itemprop s are serialized using an RDF Collection . (See Step 8 in Generate Property Values (削除ここまで) (追記) name (追記ここまで) (削除) ). An example of how this might be specified in (削除ここまで) (追記) as (追記ここまで) a (削除) registry is (削除ここまで) (追記) fragment Consider (追記ここまで) the (削除) following: (削除ここまで) (追記) following example: (追記ここまで)

(削除) { "http://schema.org/": { "propertyURI": "vocabulary", }, "http://microformats.org/profile/hcard": { "propertyURI": "vocabulary", } } (削除ここまで)
Example 5
<div itemscope>
(追記) <p itemscope itemprop='bar'>
 <span itemprop='baz'>Baz</span>
</p>
</div>
 (追記ここまで)

(削除) Additionally, some vocabularies may wish to specify this on a per-property basis. For example, within http://schema.org/MusicPlaylist (削除ここまで) (追記) If (追記ここまで) the (追記) document is located at (追記ここまで) (削除) tracks property might depend on (削除ここまで) (追記) http://example/author (追記ここまで), the (削除) order of values to to reproduce associated MusicRecording values. { "http://schema.org/": { "propertyURI": "vocabulary", "multipleValues": "unordered", "properties": { "tracks": {"multipleValues": "list"} } } } The properties key takes a JSON Object as a value, which in turn has keys for each property that is to be given alternate semantics. Each (削除ここまで) name (削除) is implicitly expanded to it's URI representation as defined in Generate Predicate URI , so that the behavior is (削除ここまで) (追記) bar (追記ここまで)(追記) generates (追記ここまで) the (削除) same whether or not (削除ここまで) (追記) URI (追記ここまで)(追記) http://example/author#bar (追記ここまで).(追記) However, (追記ここまで) the (追記) included (追記ここまで) name (追記) baz (追記ここまで) is (削除) listed as an absolute URL . (削除ここまで) (追記) included in untyped item. (追記ここまで) The (削除) default value of multipleValues (削除ここまで) (追記) inherited property URI (追記ここまで) is (追記) used to create a new property URI: (追記ここまで) (削除) unordered (削除ここまで) (追記) http://example/author#baz (追記ここまで) .

(削除) Note (削除ここまで)

(追記) This scheme is compatible with the needs of other RDF serialization formats such as RDF/XML [ (追記ここまで) (追記) RDF-SYNTAX-GRAMMAR (追記ここまで) (削除) An alternative mechanism would output (削除ここまで) (追記) ], which rely on (追記ここまで) (削除) both (削除ここまで) (追記) QNames (追記ここまで) (削除) unordered and ordered values, to allow an application to choose the most useful representation. (削除ここまで) (追記) for expressing properties. (追記ここまで) For example, (削除) consider the following: <div itemscope itemtype="http://schema.org/MusicPlaylist"> <span itemprop="name">Classic Rock Playlist</span> <meta itemprop="numTracks" content="2"/> <p>Including works by <span itemprop="byArtist">Lynard Skynard</span> and <span itemprop="byArtist">AC/DC</span></p>. <div itemprop="tracks" itemscope itemtype="http://schema.org/MusicRecording"> 1.<span itemprop="name">Sweet Home Alabama</span> - <span itemprop="byArtist">Lynard Skynard</span> <link href="sweet-home-alabama" itemprop="url" /> </div> <div itemprop="tracks" itemscope itemtype="http://schema.org/MusicRecording"> 2.<span itemprop="name">Shook you all Night Long</span> - <span itemprop="byArtist">AC/DC</span> <link href="shook-you-all-night-long" itemprop="url" /> </div> </div> This might generate the following Turtle: @prefix md: <http://www.w3.org/ns/md#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfa: <http://www.w3.org/ns/rdfa#> . @prefix schema: <http://schema.org/> . <> md:item [ a schema:MusicPlaylist; schema:name "Classic Rock Playlist"; schema:byArtist ("Lynard Skynard" "AC/DC"); schema:numTracks "2"; schema:tracks _:track1, _:track2, (_:track1 _:track2) ]; rdfa:usesVocabulary schema: . _:track1 a schema:MusicRecording; schema:byArtist ("Lynard Skynard"); schema:name "Sweet Home Alabama"; schema:url <sweet-home-alabama> . _:track2 a schema:MusicRecording; schema:byArtist ("AC/DC"); schema:name "Shook you all Night Long"; schema:url <shook-you-all-night-long> . By providing both _:track1 and _:track2 as object values of the playlist along with an RDF Collection containing (削除ここまで) the (削除) ordered values, the data may (削除ここまで) (追記) generated property URIs can (追記ここまで) be (削除) queried via a simple query using the playlist subject, or (削除ここまで) (追記) split (追記ここまで) as (削除) an ordered collection. (削除ここまで) (追記) follows: (追記ここまで)

Example 6
<rdf:Description xmlns:base="http://example/author#"
(追記) rdf:type="http://microformats.org/profile/hcard">
<base:bar>
 <rdf:Description>
 <base:baz>Baz</base:baz>
 </rdf:Description>
</base:bar>
</rdf:Description>
 (追記ここまで)

(削除) 3.3 (削除ここまで) (追記) 3.2 (追記ここまで) Value Typing

This section is non-normative.

In microdata, all values are strings. In RDF, values may be resources or may be typed with an appropriate datatype.

In some cases, the type of a microdata value can be determined from the element on which it is specified. In particular:

  • URL property elements provide URLs
  • time element provides (削除) dates and (削除ここまで) (追記) dates, (追記ここまで) times (削除) Issue Using information about the content of the document where the microdata is marked up might be a violation of the spirit of the microdata specification, though it does not explicitly say in normative text that consumers cannot use other information from the HTML DOM to interpret microdata. Additionally, one possible use of a registry would allow vocabularies to be marked with datatype information, so that a dc:time value, for example, would be understood to represent a literal with datatype xsd:date . This could be done by adding information for each property in the vocabulary requiring special treatment. This might be represented using a syntax such as the following: { "http://schema.org/": { "propertyURI": "vocabulary", "multipleValues": "unordered", "properties": { "dateCreated": {"datatype": "http://www.w3.org/2001/XMLSchema#date"} } } } The datatype identifies a URI to be used in constructing a typed literal . In most cases, the relevant datatype for a value can be derived from knowledge of what property the value is for (削除ここまで) and (削除) the syntax of the value itself. Thus, values can be given datatypes in a post-processing step after the mapping of microdata to RDF described by this specification. However, where there is information in the HTML markup, such as knowledge of what element was used to mark up the value, which can help with determining its datatype, that information is used by this specification. This concept is not explored further at this time, but could be developed further in a future revision of this document. Note (削除ここまで) (追記) durations (追記ここまで)
  • (削除) If property URI generation was fixed to vocabulary , multiple values always generated both (削除ここまで) (削除) unordered (削除ここまで) (追記) data (追記ここまで) and (削除) ordered (削除ここまで) (追記) meter (追記ここまで) (削除) representations, (削除ここまで) (追記) elements provides doubles (追記ここまで) and (削除) there were datatype support, the registry could be reduced to a simple list of URLs without any further structure necessary. (削除ここまで) (追記) integers (追記ここまで)

4. Vocabulary Expansion

Microdata requires that all values of itemtype come from the same vocabulary. This is required as itemprop values are resolved relative to that vocabulary. However, it is often useful to define an item to have types from multiple different vocabularies.

Vocabulary expansion uses simple rules to generate additional triples based on rules and property relationships described in the registry . Within the registry , a property definition may have either equivalentProperty or subPropertyOf keys having a IRI value (or array of IRI values) of the associated property. Such an entry causes the processor to generate triples associating the source property IRI with the target property IRI using either (削除) http://www.w3.org/2000/01/rdf-schema#subPropertyOf (削除ここまで) (追記) rdf:subPropertyOf (追記ここまで) or (削除) http://www.w3.org/2002/07/owl#equivalentProperty (削除ここまで) (追記) owl:equivalentProperty (追記ここまで) predicates.

For example, the registry definition for the additionalType property within schema.org, defines additionalType to have an rdfs:subPropertyOf relationship with (削除) http://www.w3.org/1999/02/22-rdf-syntax-ns#type (削除ここまで) (追記) rdf:type (追記ここまで) .

(削除) { "http://schema.org/": { "properties": { } } <div itemscope itemtype="http://schema.org/Person"> <link itemprop="additionalType" href="http://xmlns.com/foaf/0.1/Person"/> <a itemprop="email http://xmlns.com/foaf/0.1/mbox" href="mailto:mail@gmail.com"> mail@gmail.com </a> (削除ここまで)
Example 7
<div itemscope itemtype="http://schema.org/Person">
(追記) <link itemprop="additionalType" href="http://xmlns.com/foaf/0.1/Person"/>
 <a itemprop="email http://xmlns.com/foaf/0.1/mbox" href="mailto:mail@gmail.com">
 mail@gmail.com
 </a>
 (追記ここまで)
</div>

The previous example, indicates a registry rule, which causes the processor to emit an extra triple when first seeing the additionalProperty itemprop :

(削除) @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix md: <http://www.w3.org/ns/md#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfa: <http://www.w3.org/ns/rdfa#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix schema: <http://schema.org/> . <> md:item ( [ a schema:Person; schema:additionalType foaf:Person; schema:email <mailto:mail@gmail.com>; foaf:mbox <mailto:mail@gmail.com>]); rdfa:usesVocabulary schema: . schema:additionalType rdfs:subPropertyOf rdf:type (削除ここまで)
Example 8
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
(追記) @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfa: <http://www.w3.org/ns/rdfa#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .
[ a schema:Person;
 schema:additionalType foaf:Person;
 schema:email <mailto:mail@gmail.com>;
 foaf:mbox <mailto:mail@gmail.com>
]
 (追記ここまで)
.

After performing vocabulary expansion, an additional rdf:type triple is generated:

(削除) @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix md: <http://www.w3.org/ns/md#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfa: <http://www.w3.org/ns/rdfa#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix schema: <http://schema.org/> . <> md:item ( [ a schema:Person, foaf:Person; schema:additionalType foaf:Person; schema:email <mailto:mail@gmail.com>; foaf:mbox <mailto:mail@gmail.com>]); rdfa:usesVocabulary schema: . schema:additionalType rdfs:subPropertyOf rdf:type (削除ここまで)
Example 9
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
(追記) @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfa: <http://www.w3.org/ns/rdfa#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .
<> rdfa:usesVocabulary schema: .
[ a schema:Person, foaf:Person;
 schema:additionalType foaf:Person;
 schema:email <mailto:mail@gmail.com>;
 foaf:mbox <mailto:mail@gmail.com>
]
 (追記ここまで)
.
(削除) 4.1 Vocabulary Entailment Formally, and for the purpose of vocabulary processing, microdata uses a very restricted subset of the OWL2 vocabulary and is based on the RDF-Based Semantics of OWL2 [ OWL2-RDF-BASED-SEMANTICS ]. Vocabulary Entailment uses the following terms: rdfs:subPropertyOf owl:equivalentProperty Vocabulary Entailment considers only the entailment on individuals (i.e., not on the relationships that can be deduced on the properties or the classes themselves.) (削除ここまで)
Note

(削除) While the formal definition of the Entailment refers to the general OWL 2 Semantics, practical implementations may rely on a subset of the OWL 2 RL Profile’s entailment expressed in rules ( section 4.3 of [ OWL2-PROFILES ]). (削除ここまで) The (削除) relevant rules are, using the rule identifications in section 4.3 of [ OWL2-PROFILES ]): (削除ここまで) (削除) prp-spo1 , (削除ここまで) (追記) owl:equivalentProperty (追記ここまで)(追記) rule is more powerfull than (追記ここまで) (削除) prp-eqp1 (削除ここまで) (追記) rdfs:subPropertyOf (追記ここまで) , (削除) and prp-eqp2 . [ RDFA-CORE ] implements a more complete form of vocabulary entailement, including retrieving (削除ここまで) (追記) in that if any equivalent property matches, then (追記ここまで) the (削除) vocabulary URI to find additional class and (削除ここまで) (追記) source (追記ここまで) property (削除) expansion definitions, as described in RDFa Vocabulary Entailment . Microdata implementations may use RDFa Vocabulary Entailment as an alternative to implementing (削除ここまで) (追記) would also cause (追記ここまで) a (削除) separate entailment algorithm. To allow [ RDFA-CORE ] processors (削除ここまで) (追記) triple (追記ここまで) to be (削除) used for microdata vocabulary expansion, microdata acts as (削除ここまで) (追記) generated. For example, (追記ここまで) if (削除) there is an implicit (削除ここまで) (追記) the registry stated that (追記ここまで) (削除) @vocab (削除ここまで) (追記) name (追記ここまで) (削除) RDFa attribute set (削除ここまで) (追記) was equivalent (追記ここまで) to (追記) rdfs:label (追記ここまで),(追記) than any use of (追記ここまで)(追記) name (追記ここまで)(追記) in (追記ここまで) a (削除) detected vocabulary by emitting (削除ここまで) (追記) itemprop (追記ここまで) (追記) would cause (追記ここまで) a triple using (削除) the (削除ここまで) (削除) rdfa:usesVocabulary (削除ここまで) (追記) rdfs:label (追記ここまで) (削除) predicate. Note The entailment described in this section is the minimum useful level for microdata. Processors may, of course, choose (削除ここまで) to (削除) follow more powerful entailment regimes, e.g., include full RDFS [ RDF-MT ] or OWL2 [ OWL2-OVERVIEW ] entailments. Using those entailments applications may perform datatype validation by checking (削除ここまで) (追記) be emitted, as with (追記ここまで) (削除) rdfs:range (削除ここまで) (追記) rdfs:subPropertyOf (追記ここまで).(追記) However, logically, any use of (追記ここまで)(追記) label (追記ここまで) (追記) where the current voabulary were (追記ここまで)(追記) rdfs: (追記ここまで)(追記) could also cause a triple using (追記ここまで)(追記) schema:name (追記ここまで)(追記) to be emitted. To simplify processing, this specification requires that all values (追記ここまで) of a (削除) property, or use (削除ここまで) (追記) owl:equivalentProperty (追記ここまで)(追記) registry entry have their own rules with those values as keys within (追記ここまで) the (削除) advanced facilities offered by, e.g., OWL2’s (削除ここまで) property (削除) chains to interlink vocabularies further. (削除ここまで) (追記) section of their respective vocabularies. (追記ここまで)

(削除) 4.2 (削除ここまで) (追記) 5. (追記ここまで) (削除) Vocabulary Expansion (削除ここまで) Control of Microdata Processors

(削除) Conforming processors (削除ここまで) (追記) The external registry may be controlled by the (追記ここまで)(追記) registry (追記ここまで)(追記) option passed to the microdata processor. If specified, the registry (追記ここまで) must (追記) be loaded from the location indicated as the option value, Otherwise, the processor (追記ここまで)(追記) MUST (追記ここまで) (削除) perform (削除ここまで) (追記) load (追記ここまで) the (削除) basic vocabulary expansion. (削除ここまで) (追記) default (追記ここまで)(追記) registry (追記ここまで) (追記) from (追記ここまで)(追記) http://www.w3.org/ns/md (追記ここまで).

(削除) If vocabulary expansion (削除ここまで) (追記) Setting (追記ここまで)(追記) registry (追記ここまで) is performed (削除) by the microdata processor (削除ここまで) (追記) in a processor-specific way. (追記ここまで)

(追記) When accessed as a (追記ここまで)(追記) web service (追記ここまで) using (削除) [ RDFA-CORE ] vocabulary expansion, and the (削除ここまで) (追記) HTTP GET, POST or similar action, processors (追記ここまで)(追記) SHOULD (追記ここまで)(追記) use (追記ここまで) (削除) vocab_expansion (削除ここまで) (追記) registry (追記ここまで)(追記) query parameter. Acceptable values for (追記ここまで)(追記) registry (追記ここまで) (削除) option (削除ここまで) is (削除) passed to the microdata processor, (削除ここまで) (追記) a URI-encoded URL. Web service processors (追記ここまで)(追記) SHOULD (追記ここまで)(追記) return (追記ここまで) the (削除) full (削除ここまで) (追記) resulting RDF graph using a requested format specified by HTTP Content Negotiation for an acceptable content type. Web service processors (追記ここまで)(追記) MUST (追記ここまで)(追記) support (追記ここまで) [ (削除) RDFA-CORE (削除ここまで) (追記) N-TRIPLES (追記ここまで) (削除) ] expansion must also be performed. (削除ここまで) (追記) ]. (追記ここまで)

(削除) 5. (削除ここまで) (追記) 6. (追記ここまで) Algorithm

Transformation of Microdata to RDF makes use of general processing rules described in [ MICRODATA ] for the treatment of (削除) item s. (削除ここまで) (追記) items (追記ここまで).

(削除) 5.1 (削除ここまで) (追記) 6.1 (追記ここまで) Algorithm Terms

absolute URL
The term absolute URL is defined in [ HTML5 ].
blank node
A blank node is a node in a graph that is neither a URI reference nor a literal . Item s without a global identifier have a blank node allocated to them. (See [ (削除) RDF-CONCEPTS (削除ここまで) (追記) RDF11-CONCEPTS (追記ここまで) ]).
(追記) canonicalized fragment (追記ここまで)
(追記) The term (追記ここまで)(追記) canonicalized fragment (追記ここまで) (追記) is defined in [ (追記ここまで)(追記) URL (追記ここまで) (追記) ]. This involves transforming elements added to URLs to ensure that the result remains a valid URL. Non-Unicode characters, and characters less than U+0020 SPACE character (" ") are subject to percent escaping. (追記ここまで)
document base
The base address of the document being processed, as defined in Resolving URLs in [ HTML5 ].
evaluation context
A data structure including the following elements:
memory
a mapping of items to subjects, initially empty;
(削除) current name an absolute URL for the in-scope name , used for generating URIs for properties of items without an item type ; Note current name is required for the contextual property URI generation scheme. Without this scheme, this evaluation context component would not be required. (削除ここまで) current type
an absolute URL for the current type , used when an item does not contain an item type ;
current vocabulary
an absolute URL for the current vocabulary , from the registry .
item
An item is described by an element containing an itemscope attribute. The list of top-level microdata items may be retrieved using the Microdata DOM API document.getItems method.
item properties
The mechanism for finding the properties of an item The list of item properties items may be retrieved using the Microdata DOM API element.properties attribute.
(削除) fragment-escape The term fragment-escape is defined in [ HTML5 ]. This involves transforming elements added to URLs to ensure that the result remains a valid URL. The following characters are subject to percent escaping: U+0022 QUOTATION MARK character (") U+0023 NUMBER SIGN character (#) U+0025 PERCENT SIGN character (%) U+003C LESS-THAN SIGN character (<) U+003E GREATER-THAN SIGN character (>) U+005B LEFT SQUARE BRACKET character ([) U+005C REVERSE SOLIDUS character (\) U+005D RIGHT SQUARE BRACKET character (]) U+005E CIRCUMFLEX ACCENT character (^) U+007B LEFT CURLY BRACKET character ({) U+007C VERTICAL LINE character (|) U+007D RIGHT CURLY BRACKET character (}) (削除ここまで) global identifier
The value of an item 's itemid attribute, if it has (削除) one. (削除ここまで) (追記) one, (追記ここまで)(追記) resolved (追記ここまで) (追記) relative to the element on which the attribute is specified. (追記ここまで) (See (削除) Items (削除ここまで) (追記) itemscope (追記ここまで) in [ MICRODATA ]).
literal
Literals are values such as strings and (削除) dates, including (削除ここまで) (追記) dates. These include (追記ここまで) typed (削除) literal (削除ここまで) (追記) literals (追記ここまで),(追記) language-tagged strings (追記ここまで) (削除) s (削除ここまで) and (削除) plain literal s. (See (削除ここまで) (追記) simple literals (追記ここまで),(追記) as defined in (追記ここまで) [ (削除) RDF-CONCEPTS (削除ここまで) (追記) RDF11-CONCEPTS (追記ここまで) (削除) ]). (削除ここまで) (追記) ]. (追記ここまで)
property
Each name identifies a property of an item . An item may have multiple elements sharing the same name , creating a multi-valued property .
property names
The tokens of an element's itemprop attribute. Each token is a name . (See (削除) Names: the itemprop attribute (削除ここまで) (追記) property names (追記ここまで) in [ MICRODATA ]).
property value
The property value of a name-value pair added by an element with an itemprop attribute depends on the element.
If the element has no itemprop attribute
The value is null and no triple should be generated.
If the element creates an item (by having an itemscope attribute)
The value is the URI reference or blank node returned from generate the triples for that item .
If the element is a URL property element ( a , area , audio , embed , iframe , img , link , object , source , track or video )
The value is a URI reference created from element.itemValue . (See relevant attribute descriptions in [ HTML5 ]).
If the element is a (追記) meter (追記ここまで)(追記) or (追記ここまで)(追記) data (追記ここまで)(追記) element. (追記ここまで)
(追記) The value is a (追記ここまで)(追記) literal (追記ここまで) (追記) made from (追記ここまで)(追記) element.itemValue (追記ここまで) .
(追記) If the value is a (追記ここまで)(追記) valid integer (追記ここまで) (追記) having the lexical form of (追記ここまで)(追記) xsd:integer (追記ここまで) (追記) [ (追記ここまで)(追記) XMLSCHEMA11-2 (追記ここまで) (追記) ] (追記ここまで)
(追記) The value is a (追記ここまで)(追記) typed literal (追記ここまで) (追記) composed of the value and (追記ここまで)(追記) http://www.w3.org/2001/XMLSchema#integer (追記ここまで).
(追記) If the value is a (追記ここまで)(追記) valid float number (追記ここまで) (追記) having the lexical form of (追記ここまで)(追記) xsd:double (追記ここまで) (追記) [ (追記ここまで)(追記) XMLSCHEMA11-2 (追記ここまで) (追記) ] (追記ここまで)
(追記) The value is a (追記ここまで)(追記) typed literal (追記ここまで) (追記) composed of the value and (追記ここまで)(追記) http://www.w3.org/2001/XMLSchema#double (追記ここまで).
(追記) Otherwise (追記ここまで)
(追記) The value is a (追記ここまで)(追記) simple literal (追記ここまで).
(追記) If the element is a (追記ここまで)(追記) meta (追記ここまで)(追記) element with a (追記ここまで)(追記) @content (追記ここまで)(追記) attribute. (追記ここまで)
(追記) If the element has a non-empty (追記ここまで)(追記) language (追記ここまで) ,(追記) the value is a (追記ここまで)(追記) language-tagged string (追記ここまで) (追記) created from the value of the (追記ここまで)(追記) @content (追記ここまで)(追記) attribute with language information set from the (追記ここまで)(追記) language (追記ここまで) (追記) of the property element. Otherwise, the value is a (追記ここまで)(追記) simple literal (追記ここまで) (追記) created from the value of the (追記ここまで)(追記) @content (追記ここまで)(追記) attribute. (追記ここまで)
(追記) If the element is a (追記ここまで) time element.
The value is a literal made from element.itemValue .
If the value is a valid date string having the lexical form of xsd:date [ (削除) RDF-SCHEMA (削除ここまで) (追記) XMLSCHEMA11-2 (追記ここまで) ].
The value is a typed literal composed of the value and http://www.w3.org/2001/XMLSchema#date .
If the value is a valid time string having the lexical form of xsd:time [ (削除) RDF-SCHEMA (削除ここまで) (追記) XMLSCHEMA11-2 (追記ここまで) ].
The value is a typed literal composed of the value and http://www.w3.org/2001/XMLSchema#time .
If the value is a valid local date and time string or valid global date and time string having the lexical form of xsd:dateTime [ (削除) RDF-SCHEMA (削除ここまで) (追記) XMLSCHEMA11-2 (追記ここまで) ].
The value is a typed literal composed of the value and http://www.w3.org/2001/XMLSchema#dateTime .
If the value is a valid month string having the lexical form of xsd:gYearMonth [ (削除) RDF-SCHEMA (削除ここまで) (追記) XMLSCHEMA11-2 (追記ここまで) ].
The value is a typed literal composed of the value and http://www.w3.org/2001/XMLSchema#gYearMonth .
If the value is a valid non-negative integer having the lexical form of xsd:gYear [ (削除) RDF-SCHEMA (削除ここまで) (追記) XMLSCHEMA11-2 (追記ここまで) ].
The value is a typed literal composed of the value and http://www.w3.org/2001/XMLSchema#gYear .
If the value (削除) has (削除ここまで) (追記) is a (追記ここまで)(追記) valid duration string (追記ここまで) (追記) having (追記ここまで) the lexical form of xsd:duration [ (削除) RDF-SCHEMA (削除ここまで) (追記) XMLSCHEMA11-2 (追記ここまで) ].
The value is a typed literal composed of the value and http://www.w3.org/2001/XMLSchema#duration . (削除) Note The referenced version of [ HTML5 ] does not include a duration data type, but it is in the Editor's Draft and is expected to be included in a forthcoming update to the Working Draft (削除ここまで)
Otherwise
(削除) The (削除ここまで) (追記) If the element has a non-empty (追記ここまで)(追記) language (追記ここまで) ,(追記) the (追記ここまで) value is a (削除) plain literal (削除ここまで) (追記) language-tagged string (追記ここまで) created from the value with language information set from the language of the property element. (追記) Otherwise, the value is a (追記ここまで)(追記) simple literal (追記ここまで) (追記) created from the value. (追記ここまで)
Note

The HTML valid yearless date string is similar to xsd:gMonthDay , but the lexical forms differ, so it is not included in this conversion.

See The time element in [ HTML5 ].

Otherwise
(削除) The (削除ここまで) (追記) If the element has a non-empty (追記ここまで)(追記) language (追記ここまで) ,(追記) the (追記ここまで) value is a (削除) plain literal (削除ここまで) (追記) language-tagged string (追記ここまで) created from the value with language information set from the language of the property element. (追記) Otherwise, the value is a (追記ここまで)(追記) simple literal (追記ここまで) (追記) created from the value. (追記ここまで)

See The lang and xml:lang attributes in [ HTML5 ] for determining the language of a node.

top-level item
An item which does not contain an itemprop attribute. Available through the Microdata DOM API as document.getItems . (See (削除) Associating names with items (削除ここまで) (追記) top-level microdata item (追記ここまで) in [ MICRODATA ]).
URI reference
URI references are suitable to be used in subject , predicate or object positions within an RDF triple, as opposed to a literal value that may contain a string representation of a URI. (See [ (削除) RDF-CONCEPTS (削除ここまで) (追記) RDF11-CONCEPTS (追記ここまで) ]).
Issue

The HTML5/microdata content model for @href , @src , @data , itemtype and itemprop and itemid is that of a URL, not a URI or IRI.

A proposed mechanism for specifying the range of property (削除) value (削除ここまで) (追記) values (追記ここまで) (削除) s (削除ここまで) to be URI reference or IRI could allow these to be specified as subject or object using a @content attribute.

vocabulary
A vocabulary is a collection of URIs, suitable for use as an itemtype or itemprop value, that share a common URI prefix . That prefix is the vocabulary URI. A vocabulary URI is not allowed to be a prefix of another vocabulary URI.
Note
This definition differs from the language in the HTML spec and is just for the purpose of this document. In HTML, a vocabulary is a specification, and doesn't have a URI. In our view, if one specification defines ten itemtype s, then these could be treated as one vocabulary or as ten distinct vocabularies; it is entirely up to the vocabulary creator.

(削除) 5.2 (削除ここまで) (追記) 6.2 (追記ここまで) RDF Conversion Algorithm

A HTML document containing microdata (削除) may (削除ここまで) (追記) MAY (追記ここまで) be converted to any other RDF-compatible document format using the algorithm specified in this section.

A conforming microdata processor implementing RDF conversion (削除) must (削除ここまで) (追記) MUST (追記ここまで) implement a processing algorithm that results in the equivalent triples to those that the following algorithm generates:

(削除) Set item list to an empty list. (削除ここまで)
  1. For each element that is also a top-level item (削除) run the following algorithm: (削除ここまで) , Generate the triples for (削除) an item (削除ここまで) (追記) that (追記ここまで) item (削除) , (削除ここまで) using the evaluation context . (削除) Let result be the ( URI reference or blank node ) subject returned. Append result to item list . Generate an RDF Collection list from the ordered list of values. Set value to the value returned from generate an RDF Collection . Generate the following triple: subject document base predicate http://www.w3.org/ns/md#item object value Perform Vocabulary Entailment . (削除ここまで)

(削除) 5.3 (削除ここまで) (追記) 6.3 (追記ここまで) Generate the triples

When the user agent is to Generate triples for an item item , given evaluation context , it must run the following steps:

Note

This algorithm has undergone substantial change from the original microdata specification [ MICRODATA ].

  1. If there is an entry for item in memory , then let subject be the subject of that entry. Otherwise, if item has a global identifier and that global identifier is an absolute URL , let subject be that global identifier . Otherwise, let subject be a new blank node .
  2. Add a mapping from item to subject in memory
  3. For each type returned from element.itemType of the element defining the item .
    1. If type is an absolute URL , generate the following triple:
      subject
      subject
      predicate
      http://www.w3.org/1999/02/22-rdf-syntax-ns#type
      object
      type (as a URI reference )
  4. Set type to the first value returned from element.itemType of the element defining the item .
  5. (削除) If type is an absolute URL , set current name in evaluation context to null. (削除ここまで) Otherwise, set type to current type from evaluation context if not empty.
  6. If the registry contains a URI prefix that is a character for character match of type up to the length of the URI prefix , set vocab as that URI prefix (削除) and generate the following triple: subject document base predicate http://www.w3.org/ns/rdfa#usesVocabulary object vocab (as a URI reference ) (削除ここまで) .
  7. Otherwise, if type is not empty, construct vocab by removing everything following the last SOLIDUS U+002F ("/") or NUMBER SIGN U+0023 ("#") from the path component of type .
  8. Update evaluation context setting current vocabulary to vocab .
  9. (削除) Set property list to an empty array mapping properties to one or more value s as established below. (削除ここまで)
  10. For each element element that has one or more property names and is one of the properties of the item item (削除) , in the order those elements are given by the algorithm that returns the properties of the item , (削除ここまで) run the following substep:
    1. For each name in the element's property names , run the following substeps:
      1. Let context be a copy of evaluation context with current type set to type .
      2. Let predicate be the result of generate predicate URI using context and name . (削除) Update context by setting current name to predicate . (削除ここまで)
      3. Let value be the property value of element .
      4. If value is an item , then generate the triples for value using context . Replace value by the subject returned from those steps.
      5. (削除) Add value to (削除ここまで) (追記) Generate the following triple: (追記ここまで)
        (追記) subject (追記ここまで)
        (削除) property list (削除ここまで) (追記) subject (追記ここまで) (削除) for (削除ここまで)
        predicate (削除) . For each (削除ここまで)
        predicate (削除) in (削除ここまで)
        (追記) object (追記ここまで)
        (削除) property list : (削除ここまで) (追記) value (追記ここまで) (削除) Generate property values (削除ここまで)
      6. (追記) If an entry exists in the (追記ここまで)(追記) registry (追記ここまで) (追記) for (追記ここまで) (削除) subject , predicate (削除ここまで) (追記) name (追記ここまで) (削除) and (削除ここまで) (追記) in (追記ここまで) the (削除) list of values (削除ここまで) (追記) vocabulary (追記ここまで) associated with (削除) predicate (削除ここまで) (追記) vocab (追記ここまで) (削除) from (削除ここまで) (追記) having the key (追記ここまで)(追記) subPropertyOf (追記ここまで)(追記) or (追記ここまで)(追記) equivalentProperty (追記ここまで),(追記) for each such value (追記ここまで) (削除) property list (削除ここまで) (追記) equiv (追記ここまで),(追記) generate the following triple: (追記ここまで)
        (追記) subject (追記ここまで)
        (追記) subject (追記ここまで) (削除) as (削除ここまで)
        (追記) predicate (追記ここまで)
        (削除) values . (削除ここまで) (追記) equiv (追記ここまで)
        (追記) object (追記ここまで)
        (追記) value (追記ここまで)
  11. Return subject

(削除) 5.4 (削除ここまで) (追記) 6.4 (追記ここまで) Generate Predicate URI

Predicate URI generation makes use of current type (削除) , current name , (削除ここまで) and current vocabulary from an evaluation context context along with name .

  1. If name is an absolute URL , return name as a URI reference .
  2. If current type from context is null, there can be no current vocabulary . Return the URI reference that is the document base with its fragment set to the (削除) fragment-escape (削除ここまで) (追記) canonicalized fragment (追記ここまで) (削除) d (削除ここまで) value of name .
    Note
    This rule is intended to allow for a the case where no type is set, and therefore there is no vocabulary from which to extract rules. For example, if there is a document base of http://example.org/doc and an itemprop of 'title', a URI will be constructed to be http://example.org/doc#title .
  3. (削除) Otherwise, if current vocabulary from context is not null and registry has an entry for current vocabulary having a propertyURI entry that is not null, set that as scheme . Otherwise, set scheme to vocabulary . (削除ここまで)
  4. (削除) If scheme is vocabulary set (削除ここまで) (追記) Set (追記ここまで) expandedURI to the URI reference constructed by appending the (削除) fragment-escape (削除ここまで) (追記) canonicalized fragment (追記ここまで) (削除) d (削除ここまで) value of name to current vocabulary , separated by a U+0023 NUMBER SIGN character (削除) (#) (削除ここまで) (追記) ("#") (追記ここまで) unless the current vocabulary ends with either a U+0023 NUMBER SIGN character (削除) (#) (削除ここまで) (追記) ("#") (追記ここまで) or SOLIDUS U+002F (削除) (/). (削除ここまで) (追記) ("/"). (追記ここまで)
  5. (削除) Otherwise, if scheme is contextual , set (削除ここまで)
  6. (追記) Return (追記ここまで) expandedURI (削除) to the URI reference (削除ここまで) .

(追記) A. (追記ここまで)(追記) Reverse (追記ここまで)(追記) itemprop (追記ここまで) (削除) constructed as follows: Let (削除ここまで)

(削除) s (削除ここまで) (追記) This section is non-normative. (追記ここまで) (削除) be current name (削除ここまで)

(追記) The (追記ここまで)(追記) WebSchemas community (追記ここまで) (追記) has (追記ここまで)(追記) proposed (追記ここまで) (削除) from context . If http://www.w3.org/ns/md?type= is a prefix of s , return (削除ここまで) the (削除) concatenation (削除ここまで) (追記) use (追記ここまで) of (削除) s , (削除ここまで) a (削除) U+002E FULL STOP character (.) and the fragment-escape (削除ここまで) (追記) new Microdata attribute: (追記ここまで)(追記) itemprop-reverse (追記ここまで).(追記) Although not present in [ (追記ここまで)(追記) MICRODATA (追記ここまで) (削除) d value (削除ここまで) (追記) ] at this time, the attribute can be very useful in many markup examples where items are related using the reverse (追記ここまで) of (削除) name . Otherwise, return (削除ここまで) (追記) a common property; this saves creating new properties which exist solely for (追記ここまで) the (削除) concatenation (削除ここまで) (追記) purpose (追記ここまで) of (削除) http://www.w3.org/ns/md?type= , (削除ここまで) (追記) describing such reverse relationships. Evidence for (追記ここまで) the (削除) fragment-escape d value (削除ここまで) (追記) utility (追記ここまで) of (削除) current type , (削除ここまで) (追記) such a feature can be seen in (追記ここまで) the (削除) string (削除ここまで) (追記) RDFa (追記ここまで) (削除) &prop= , (削除ここまで) (追記) @rev (追記ここまで)(追記) attribute (追記ここまで) (追記) [ (追記ここまで)(追記) RDFA-CORE (追記ここまで) (追記) ] (追記ここまで) and the (削除) fragment-escape (削除ここまで) (追記) JSON-LD (追記ここまで)(追記) @reverse (追記ここまで)(追記) property (追記ここまで) (削除) d value of name . If the registry (削除ここまで) (追記) [ (追記ここまで)(追記) JSON-LD (追記ここまで) (削除) entry for propertyURI (削除ここまで) (追記) ]. (追記ここまで)

(追記) Note (追記ここまで)

(追記) See (追記ここまで)(追記) issue 5 (追記ここまで) (削除) has an equivalentProperty key, generate (削除ここまで) (追記) for further reference. (追記ここまで)

(追記) This feature adds (追記ここまで) the following (削除) triple using the value of that key: (削除ここまで) (追記) attribute: (追記ここまで)

(削除) subject (削除ここまで) (削除) expandedURI (削除ここまで) (追記) itemprop-reverse (追記ここまで) (削除) predicate (削除ここまで)
(削除) http://www.w3.org/2002/07/owl#equivalentProperty object (削除ここまで)
(削除) value If the value is (削除ここまで) (追記) An attribute used to identify one or more (追記ここまで)(追記) names (追記ここまで) (追記) of (追記ここまで) an (削除) array, generate (削除ここまで) (追記) items (追記ここまで) (追記) reversing the sense of (追記ここまで)(追記) itemprop (追記ここまで).(追記) An (追記ここまで)(追記) itemprop-reverse (追記ここまで) (追記) contains (追記ここまで) a (削除) triple for each value (削除ここまで) (追記) space separated list (追記ここまで) of (削除) that array. If the registry (削除ここまで) (追記) names (追記ここまで) (削除) entry for propertyURI (削除ここまで) (追記) which may either by (追記ここまで)(追記) absolute URLs (追記ここまで) (削除) has an subPropertyOf key, generate the following triple using (削除ここまで) (追記) or terms associated with (追記ここまで) the (削除) value (削除ここまで) (追記) type (追記ここまで) of (削除) that key: subject expandedURI (削除ここまで) (追記) the (追記ここまで)(追記) item (追記ここまで) (追記) as defined by the referencing (追記ここまで)(追記) item (追記ここまで) (追記) 's (追記ここまで)(追記) item type (追記ここまで).

(追記) The (追記ここまで)(追記) Algorithm (追記ここまで) (追記) is extended accordingly: (追記ここまで)

(追記) A.1 (追記ここまで)(追記) Algorithm Terms (追記ここまで)

(削除) predicate (削除ここまで) (削除) http://www.w3.org/2000/01/rdf-schema#subPropertyOf (削除ここまで) (追記) reverse properties (追記ここまで) (削除) object (削除ここまで)
(削除) value If (削除ここまで)
(追記) The mechanism for finding (追記ここまで) the (削除) value (削除ここまで) (追記) reverse properties of an item (追記ここまで) (追記) The list of reverse properties (追記ここまで) is (追記) the result of transforming each space-separated-value of (追記ここまで) an (削除) array, generate (削除ここまで) (追記) item's (追記ここまで)(追記) itemprop-reverse (追記ここまで) (追記) to (追記ここまで) a (削除) triple for each value (削除ここまで) (追記) URL as defined in (追記ここまで)(追記) Property URI Generation (追記ここまで).
(追記) reverse property names (追記ここまで)
(追記) The tokens (追記ここまで) of (削除) that array. Return expandedURI . (削除ここまで) (追記) an element's (追記ここまで)(追記) itemprop-reverse (追記ここまで) (追記) attribute. Each token is a (追記ここまで)(追記) name (追記ここまで).

(削除) 5.5 (削除ここまで) (追記) A.2 (追記ここまで) Generate (削除) Property Values (削除ここまで) (追記) the triples (追記ここまで)

(削除) Property value serialization makes use of subject , predicate and values . (削除ここまで) (追記) The Triples generation algorithm is extended with the following step to take place immediately after (追記ここまで)(追記) Step 9 (追記ここまで):

  1. (削除) If the registry contains a URI prefix (削除ここまで) (追記) For each element (追記ここまで)(追記) element (追記ここまで) that (追記) has one or more (追記ここまで)(追記) reverse property names (追記ここまで) (追記) and (追記ここまで) is (削除) a character for character match (削除ここまで) (追記) one (追記ここまで) of (削除) predicate up to (削除ここまで) the (削除) length (削除ここまで) (追記) reverse properties (追記ここまで) of the (削除) URI prefix, set vocab as that URI prefix. Otherwise set (削除ここまで) (追記) item (追記ここまで) (削除) vocab to null. (削除ここまで) (追記) item (追記ここまで),(追記) run the following substep: (追記ここまで)
    1. (削除) If vocab is not null and registry has an entry for (削除ここまで) (追記) For each (追記ここまで) (削除) vocab (削除ここまで) (追記) name (追記ここまで) (削除) that is a JSON Object, let (削除ここまで) (追記) in the element's (追記ここまで)(追記) reverse property names (追記ここまで),(追記) run the following substeps: (追記ここまで)
      1. (追記) Let (追記ここまで) (削除) registry object (削除ここまで) (追記) context (追記ここまで) be (削除) that value. Otherwise (削除ここまで) (追記) a copy of (追記ここまで)(追記) evaluation context (追記ここまで) (追記) with (追記ここまで)(追記) current type (追記ここまで) set (削除) registry object (削除ここまで) to (削除) null. If (削除ここまで) (削除) registry object (削除ここまで) (追記) type (追記ここまで) (削除) is not null (削除ここまで) and (削除) registry object contains key properties (削除ここまで) (追記) current vocabulary (追記ここまで) (削除) which has a JSON Object value, let properties be that value. Otherwise, (削除ここまで) set (削除) properties (削除ここまで) to (削除) null. (削除ここまで) (追記) vocab (追記ここまで).
      2. (削除) If properties is not null, and (削除ここまで) (追記) Let (追記ここまで) (削除) properties (削除ここまで) (追記) predicate (追記ここまで) (削除) contains a key, which after (削除ここまで) (追記) be the result of (追記ここまで) (削除) Generate Predicate (削除ここまで) (追記) generate predicate (追記ここまで) URI (削除) expansion has a value which is a JSON Object, let property override be that value. Otherwise, set property override to null. If (削除ここまで) (追記) using (追記ここまで) (削除) property override (削除ここまで) (追記) context (追記ここまで) (削除) contains the key multipleValues , set that as (削除ここまで) (追記) and (追記ここまで) (削除) method (削除ここまで) (追記) name (追記ここまで) .
      3. (削除) Otherwise, if (削除ここまで) (追記) Let (追記ここまで) (削除) registry object (削除ここまで) (追記) value (追記ここまで) (削除) con contains (削除ここまで) (追記) be (追記ここまで) the (削除) key multipleValues , set that as (削除ここまで) (追記) property value (追記ここまで) (追記) of (追記ここまで) (削除) method (削除ここまで) (追記) element (追記ここまで) .
      4. (削除) Otherwise, set method to unordered . (削除ここまで) If (削除) method is unordered , for each (削除ここまで) value (削除) in values , (削除ここまで) (追記) is an (追記ここまで)(追記) item (追記ここまで),(追記) then (追記ここまで) generate the (削除) following triple: subject (削除ここまで) (追記) triples (追記ここまで) (追記) for (追記ここまで) (削除) subject (削除ここまで) (追記) value (追記ここまで) (削除) predicate (削除ここまで) (追記) using (追記ここまで) (削除) predicate object (削除ここまで) (追記) context (追記ここまで).(追記) Replace (追記ここまで) value (追記) by the subject returned from those steps. (追記ここまで)
      5. Otherwise, if (削除) method (削除ここまで) (追記) value (追記ここまで) is (削除) list : Set (削除ここまで) (追記) a (追記ここまで)(追記) literal (追記ここまで) (追記) ignore the (追記ここまで) value (追記) and continue (追記ここまで) to the (削除) value returned from generate (削除ここまで) (追記) next (追記ここまで)(追記) name (追記ここまで)(追記) ; it is (追記ここまで) an (削除) RDF Collection (削除ここまで) (追記) error for the (追記ここまで)(追記) value (追記ここまで)(追記) of (追記ここまで)(追記) itemprop-reverse (追記ここまで) (追記) to be a (追記ここまで)(追記) literal (追記ここまで) .
      6. Generate the following triple:
        subject
        (削除) subject (削除ここまで) (追記) value (追記ここまで)
        predicate
        predicate
        object
        (削除) value (削除ここまで) (追記) subject (追記ここまで)
(削除) 5.6 Generate RDF Collection (削除ここまで)

(削除) An RDF Collection is a mechanism for defining ordered sequences of objects in RDF (See RDF Collections in [ RDF-SCHEMA ]). As the RDF data-model is that (削除ここまで) (追記) Simple use (追記ここまで) of (削除) an unordered graph, a linking method using properties rdf:first and rdf:next is required to be able to specify a particular order. In the microdata to RDF mapping, RDF Collection s are used when an item has more than one value associated with a given property to ensure that the original document order is maintained. The following procedure should be used to generate triples when an item property has more than one value (contained in list ): (削除ここまで) (追記) itemprop-reverse (追記ここまで):

(削除) Create a new array array containing a blank node for every value in list . For each pair of bnode from array and value from list the following triple is generated: subject bnode predicate http://www.w3.org/1999/02/22-rdf-syntax-ns#first object value (削除ここまで)
Example 10
<div itemscope itemtype="http://schema.org/Person">
(追記) <span itemprop="name">William Shakespeare</span>
 <link itemprop-reverse="creator" href="http://www.freebase.com/m/0yq9mqd">
</div>
 (追記ここまで)
(削除) For each bnode (削除ここまで)

(追記) Results (追記ここまで) in (削除) array (削除ここまで) the following (削除) triple is generated: subject bnode predicate http://www.w3.org/1999/02/22-rdf-syntax-ns#rest (削除ここまで) (追記) Turtle: (追記ここまで)

Example 11
@prefix schema: <http://schema.org/> .
(追記) 
<http://www.freebase.com/m/0yq9mqd> schema:creator [
 a schema:Person;
 schema:name "William Shakespeare"
]
.
 (追記ここまで)
(削除) object next bnode in array or, if that does not exist, http://www.w3.org/1999/02/22-rdf-syntax-ns#nil Return the first blank node from array . (削除ここまで)

(削除) A. (削除ここまで) (追記) B. (追記ここまで) Testing

This section is non-normative.

A test suite [ MICRODATA-RDF-TESTS ] under development to help processor developers verify conformance to this specification.

(削除) B. (削除ここまで) (追記) C. (追記ここまで) Markup Examples

This section is non-normative.

The microdata example below expresses book information as an FRBR Work item.

(削除) <dl itemscope itemtype="http://purl.org/vocab/frbr/core#Work" itemid="http://books.example.com/works/45U8QJGZSQKDH8N" lang="en"> <dt>Title</dt> <dd><cite itemprop="http://purl.org/dc/terms/title">Just a Geek</cite></dd> <dt>By</dt> <dd><span itemprop="http://purl.org/dc/terms/creator">Wil Wheaton</span></dd> <dt>Format</dt> <dd itemprop="http://purl.org/vocab/frbr/core#realization" itemscope itemtype="http://purl.org/vocab/frbr/core#Expression" itemid="http://books.example.com/products/9780596007683.BOOK"> <link itemprop="http://purl.org/dc/terms/type" href="http://books.example.com/product-types/BOOK"> Print </dd> <dd itemprop="http://purl.org/vocab/frbr/core#realization" itemscope itemtype="http://purl.org/vocab/frbr/core#Expression" itemid="http://books.example.com/products/9780596802189.EBOOK"> <link itemprop="http://purl.org/dc/terms/type" href="http://books.example.com/product-types/EBOOK"> Ebook </dd> (削除ここまで)
Example 12
<dl itemscope
(追記) itemtype="http://purl.org/vocab/frbr/core#Work"
 itemid="http://books.example.com/works/45U8QJGZSQKDH8N"
 lang="en">
 <dt>Title</dt>
 <dd><cite itemprop="http://purl.org/dc/terms/title">Just a Geek</cite></dd>
 <dt>By</dt>
 <dd><span itemprop="http://purl.org/dc/terms/creator">Wil Wheaton</span></dd>
 <dt>Format</dt>
 <dd itemprop="http://purl.org/vocab/frbr/core#realization"
 itemscope
 itemtype="http://purl.org/vocab/frbr/core#Expression"
 itemid="http://books.example.com/products/9780596007683.BOOK">
 <link itemprop="http://purl.org/dc/terms/type" href="http://books.example.com/product-types/BOOK">
 Print
 </dd>
 <dd itemprop="http://purl.org/vocab/frbr/core#realization"
 itemscope
 itemtype="http://purl.org/vocab/frbr/core#Expression"
 itemid="http://books.example.com/products/9780596802189.EBOOK">
 <link itemprop="http://purl.org/dc/terms/type" href="http://books.example.com/product-types/EBOOK">
 Ebook
 </dd>
 (追記ここまで)
</dl>

Assuming that registry contains a an entry for http://purl.org/vocab/frbr/core# (削除) with propertyURI set to vocabulary , (削除ここまで) this is equivalent to the following Turtle:

(削除) @prefix dc: <http://purl.org/dc/terms/> . @prefix md: <http://www.w3.org/ns/md#> . @prefix frbr: <http://purl.org/vocab/frbr/core#> . @prefix rdfa: <http://www.w3.org/ns/rdfa#> . <> md:item (<http://books.example.com/works/45U8QJGZSQKDH8N>) ; rdfa:usesVocabulary frbr: . <http://books.example.com/works/45U8QJGZSQKDH8N> a frbr:Work ; dc:creator "Wil Wheaton"@en ; dc:title "Just a Geek"@en ; frbr:realization <http://books.example.com/products/9780596007683.BOOK>, <http://books.example.com/products/9780596802189.EBOOK> . <http://books.example.com/products/9780596007683.BOOK> a frbr:Expression ; dc:type <http://books.example.com/product-types/BOOK> . <http://books.example.com/products/9780596802189.EBOOK> a frbr:Expression ; (削除ここまで)
Example 13
@prefix dc: <http://purl.org/dc/terms/> .
(追記) @prefix frbr: <http://purl.org/vocab/frbr/core#> .
@prefix rdfa: <http://www.w3.org/ns/rdfa#> .
<> rdfa:usesVocabulary frbr: .
<http://books.example.com/works/45U8QJGZSQKDH8N> a frbr:Work ;
 dc:creator "Wil Wheaton"@en ;
 dc:title "Just a Geek"@en ;
 frbr:realization <http://books.example.com/products/9780596007683.BOOK>,
 <http://books.example.com/products/9780596802189.EBOOK> .
<http://books.example.com/products/9780596007683.BOOK> a frbr:Expression ;
 dc:type <http://books.example.com/product-types/BOOK> .
<http://books.example.com/products/9780596802189.EBOOK> a frbr:Expression ;
 (追記ここまで)
dc:type
<http://books.example.com/product-types/EBOOK>
.

The following snippet of HTML has microdata for two people with the same address. This illustrates two (削除) item (削除ここまで) (追記) items (追記ここまで) (削除) s (削除ここまで) referencing a third item, and how only a single RDF resource definition is created for that third item.

(削除) <p> Both <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home"> <span itemprop="fn" ><span itemprop="n" itemscope ><span itemprop="given-name">Princeton</span></span></span> </span> and <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home"> <span itemprop="fn" ><span itemprop="n" itemscope ><span itemprop="given-name">Trekkie</span></span></span> </span> live at <span id="home" itemprop="adr" itemscope> <span itemprop="street-address">Avenue Q</span>. </span> (削除ここまで)
Example 14
<p>
(追記) Both
 <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home">
 <span itemprop="fn"
 ><span itemprop="n" itemscope
 ><span itemprop="given-name">Princeton</span></span></span>
 </span>
 and
 <span itemscope itemtype="http://microformats.org/profile/hcard" itemref="home">
 <span itemprop="fn"
 ><span itemprop="n" itemscope
 ><span itemprop="given-name">Trekkie</span></span></span>
 </span>
 live at
 <span id="home" itemprop="adr" itemscope>
 <span itemprop="street-address">Avenue Q</span>.
 </span>
 (追記ここまで)
</p>

Assuming that registry contains a an entry for http://microformats.org/profile/hcard (削除) with propertyURI set to vocabulary , (削除ここまで) it generates these triples expressed in Turtle:

(削除) @prefix md: <http://www.w3.org/ns/md#> . @prefix hcard: <http://microformats.org/profile/hcard#> . @prefix rdfa: <http://www.w3.org/ns/rdfa#> . <> md:item ( [ a <http://microformats.org/profile/hcard>; hcard:fn "Princeton"; hcard:n [ hcard:given-name "Princeton" ]; hcard:adr _:a ] [ a <http://microformats.org/profile/hcard>; hcard:fn "Trekkie"; hcard:n [ hcard:given-name "Trekkie" ]; hcard:adr _:a ]) ; rdfa:usesVocabulary <http://microformats.org/profile/hcard> . (削除ここまで)
Example 15
@prefix hcard: <http://microformats.org/profile/hcard#> .
(追記) @prefix rdfa: <http://www.w3.org/ns/rdfa#> .
[ a <http://microformats.org/profile/hcard>;
 hcard:fn "Princeton";
 hcard:n [ hcard:given-name "Princeton" ];
 hcard:adr _:a
] .
[ a <http://microformats.org/profile/hcard>;
 hcard:fn "Trekkie";
 hcard:n [ hcard:given-name "Trekkie" ];
 hcard:adr _:a
] .
 (追記ここまで)
_:a
hcard:street-address
"Avenue
Q"
.

The following snippet of HTML has microdata for a (削除) playlist, (削除ここまで) (追記) playlist (追記ここまで) and illustrates (削除) overriding a property to place elements in an RDF Collection. This also illustrates (削除ここまで) the use of the schema:additionalType property to relate recordings to the Music Ontology :

(削除) <div itemscope itemtype="http://schema.org/MusicPlaylist"> <span itemprop="name">Classic Rock Playlist</span> <meta itemprop="numTracks" content="2"/> <p>Including works by <span itemprop="byArtist">Lynard Skynard</span> and <span itemprop="byArtist">AC/DC</span></p>. <div itemprop="tracks" itemscope itemtype="http://schema.org/MusicRecording"> <link itemprop="additionalType" href="http://purl.org/ontology/mo/MusicalManifestation"/> 1.<span itemprop="name">Sweet Home Alabama</span> - <span itemprop="byArtist">Lynard Skynard</span> <link href="sweet-home-alabama" itemprop="url" /> </div> <div itemprop="tracks" itemscope itemtype="http://schema.org/MusicRecording"> <link itemprop="additionalType" href="http://purl.org/ontology/mo/MusicalManifestation"/> 2.<span itemprop="name">Shook you all Night Long</span> - <span itemprop="byArtist">AC/DC</span> <link href="shook-you-all-night-long" itemprop="url" /> </div> (削除ここまで)
Example 16
<div itemscope itemtype="http://schema.org/MusicPlaylist">
(追記) <span itemprop="name">Classic Rock Playlist</span>
 <meta itemprop="numTracks" content="2"/>
 <p>Including works by
 <span itemprop="byArtist">Lynard Skynard</span> and
 <span itemprop="byArtist">AC/DC</span></p>.
 <div itemprop="tracks" itemscope itemtype="http://schema.org/MusicRecording">
 <link itemprop="additionalType" href="http://purl.org/ontology/mo/MusicalManifestation"/>
 1.<span itemprop="name">Sweet Home Alabama</span> -
 <span itemprop="byArtist">Lynard Skynard</span>
 <link href="sweet-home-alabama" itemprop="url" />
 </div>
 <div itemprop="tracks" itemscope itemtype="http://schema.org/MusicRecording">
 <link itemprop="additionalType" href="http://purl.org/ontology/mo/MusicalManifestation"/>
 2.<span itemprop="name">Shook you all Night Long</span> -
 <span itemprop="byArtist">AC/DC</span>
 <link href="shook-you-all-night-long" itemprop="url" />
 </div>
 (追記ここまで)
</div>

Assuming that registry contains a an entry for http://schema.org/ (削除) with propertyURI set to vocabulary , multipleValues set to unordered with the properties track and byArtist having multipleValues set to list , (削除ここまで) it generates these triples expressed in Turtle:

(削除) @prefix md: <http://www.w3.org/ns/md#> . @prefix mo: <http://purl.org/ontology/mo/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfa: <http://www.w3.org/ns/rdfa#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix schema: <http://schema.org/> . <> md:item ([ a schema:MusicPlaylist; schema:name "Classic Rock Playlist"; schema:byArtist ("Lynard Skynard" "AC/DC"); schema:numTracks "2"; schema:tracks ( [ a schema:MusicRecording, mo:MusicalManifestation; schema:additionalType mo:MusicalManifestation; schema:byArtist ("Lynard Skynard"); schema:name "Sweet Home Alabama"; schema:url <sweet-home-alabama>] [ a schema:MusicRecording, mo:MusicalManifestation; schema:additionalType mo:MusicalManifestation; schema:byArtist ("AC/DC");; schema:name "Shook you all Night Long"; schema:url <shook-you-all-night-long>] )]); rdfa:usesVocabulary schema: . schema:additionalType rdfs:subPropertyOf rdf:type (削除ここまで)
Example 17
@prefix mo: <http://purl.org/ontology/mo/> .
(追記) @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfa: <http://www.w3.org/ns/rdfa#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .
[ a schema:MusicPlaylist;
 schema:name "Classic Rock Playlist";
 schema:byArtist "Lynard Skynard" "AC/DC";
 schema:numTracks "2";
 schema:tracks [
 a schema:MusicRecording, mo:MusicalManifestation;
 schema:additionalType mo:MusicalManifestation;
 schema:byArtist "Lynard Skynard";
 schema:name "Sweet Home Alabama";
 schema:url <sweet-home-alabama>
 ], [
 a schema:MusicRecording, mo:MusicalManifestation;
 schema:additionalType mo:MusicalManifestation;
 schema:byArtist "AC/DC";;
 schema:name "Shook you all Night Long";
 schema:url <shook-you-all-night-long>
 ]
]
 (追記ここまで)
.

(削除) C. (削除ここまで) (追記) D. (追記ここまで) (削除) Example (削除ここまで) (追記) Default (追記ここまで) registry

This section is non-normative.

The following is (削除) an example (削除ここまで) (追記) the default (追記ここまで) registry in JSON (削除) format. (削除ここまで) (追記) format, as of the time of publication. (追記ここまで)

(削除) { "http://schema.org/": { "propertyURI": "vocabulary", "multipleValues": "unordered", "properties": { "additionalType": {"subPropertyOf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "blogPosts": {"multipleValues": "list"}, "blogPosts": {"multipleValues": "list"}, "breadcrumb": {"multipleValues": "list"}, "byArtist": {"multipleValues": "list"}, "creator": {"multipleValues": "list"}, "episode": {"multipleValues": "list"}, "episodes": {"multipleValues": "list"}, "event": {"multipleValues": "list"}, "events": {"multipleValues": "list"}, "founder": {"multipleValues": "list"}, "founders": {"multipleValues": "list"}, "itemListElement": {"multipleValues": "list"}, "musicGroupMember": {"multipleValues": "list"}, "performerIn": {"multipleValues": "list"}, "actor": {"multipleValues": "list"}, "actors": {"multipleValues": "list"}, "performer": {"multipleValues": "list"}, "performers": {"multipleValues": "list"}, "producer": {"multipleValues": "list"}, "recipeInstructions": {"multipleValues": "list"}, "season": {"multipleValues": "list"}, "seasons": {"multipleValues": "list"}, "subEvent": {"multipleValues": "list"}, "subEvents": {"multipleValues": "list"}, "track": {"multipleValues": "list"}, "tracks": {"multipleValues": "list"} } }, "http://microformats.org/profile/hcard": { "propertyURI": "vocabulary", "multipleValues": "unordered" }, "http://microformats.org/profile/hcalendar#": { "propertyURI": "vocabulary", "multipleValues": "unordered", "properties": { "categories": {"multipleValues": "list"} } } (削除ここまで)
Example 18
{
(追記) "http://schema.org/": {
 "properties": {
 "additionalType": {"subPropertyOf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}
 }
 },
 "http://microformats.org/profile/hcard": {}
 (追記ここまで)
}

(削除) D. (削除ここまで) (追記) E. (追記ここまで) Acknowledgements

This section is non-normative.

Thanks to Richard Cyganiak for property URI and vocabulary terminology and the general excellent consideration of practical problems in generating RDF from microdata.

(削除) E. (削除ここまで) (追記) F. (追記ここまで) References

(削除) E.1 (削除ここまで) (追記) F.1 (追記ここまで) Normative references

[HTML5]
Ian Hickson; (削除) David Hyatt. (削除ここまで) (追記) Robin Berjon; Steve Faulkner; Travis Leithead; Erika Doyle Navara; Theresa O'Connor; Silvia Pfeiffer. (追記ここまで) (削除) HTML5. (削除ここまで) (追記) HTML5 (追記ここまで) (削除) 29 March 2012. (削除ここまで) . (追記) 28 October 2014. (追記ここまで) W3C (削除) Working Draft. (Work in progress.) (削除ここまで) (追記) Recommendation. (追記ここまで) URL: (削除) http://www.w3.org/TR/html5 (削除ここまで) (追記) http://www.w3.org/TR/html5/ (追記ここまで)
[MICRODATA]
(削除) HTML Microdata (削除ここまで)
Ian (削除) Hickson Editor. W3C Working Draft. (Work in progress). 29 March 2012. This edition of the HTML Microdata specification is http://www.w3.org/TR/2012/WD-microdata-20120329/. The (削除ここまで) (追記) Hickson. (追記ここまで) (削除) latest edition of HTML Microdata is available at http://www.w3.org/TR/microdata/ [OWL2-OVERVIEW] W3C OWL Working Group. (削除ここまで) (削除) OWL 2 Web Ontology Language: Overview. (削除ここまで) (追記) HTML Microdata (追記ここまで) (削除) 27 (削除ここまで) . (追記) 29 (追記ここまで) October (削除) 2009. (削除ここまで) (追記) 2013. (追記ここまで) W3C (削除) Recommendation. (削除ここまで) (追記) Note. (追記ここまで) URL: (削除) http://www.w3.org/TR/2009/REC-owl2-overview-20091027/ (削除ここまで) (追記) http://www.w3.org/TR/microdata/ (追記ここまで)
(削除) [OWL2-PROFILES] (削除ここまで)
(追記) [N-TRIPLES] (追記ここまで)
(削除) Boris Motik; Bernardo Cuenca Grau; Ian Horrocks; Zhe Wu; Achille Fokoue; Carsten Lutz. (削除ここまで)
(追記) Gavin Carothers; Andy Seaborne. (追記ここまで) (削除) OWL 2 Web Ontology Language:Profiles. (削除ここまで) (追記) RDF 1.1 N-Triples (追記ここまで) (削除) 27 October 2009. (削除ここまで) . (追記) 25 February 2014. (追記ここまで) W3C Recommendation. URL: (削除) http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/ (削除ここまで) (追記) http://www.w3.org/TR/n-triples/ (追記ここまで)
(削除) [OWL2-RDF-BASED-SEMANTICS] (削除ここまで)
(追記) [RDF11-CONCEPTS] (追記ここまで)
(削除) Michael Schneider. (削除ここまで)
(追記) Richard Cyganiak; David Wood; Markus Lanthaler. (追記ここまで) (削除) OWL 2 Web Ontology Language:RDF-Based Semantics. (削除ここまで) (追記) RDF 1.1 Concepts and Abstract Syntax (追記ここまで) (削除) 27 October 2009. (削除ここまで) . (追記) 25 February 2014. (追記ここまで) W3C Recommendation. URL: (削除) http://www.w3.org/TR/2009/REC-owl2-rdf-based-semantics-20091027/ (削除ここまで) (追記) http://www.w3.org/TR/rdf11-concepts/ (追記ここまで)
(削除) [RDF-CONCEPTS] (削除ここまで)
(追記) [RFC3986] (追記ここまで)
(削除) Graham Klyne; Jeremy J. Carroll. (削除ここまで)
(追記) T. Berners-Lee; R. Fielding; L. Masinter. (追記ここまで) (追記) Uniform (追記ここまで) Resource (削除) Description Framework (RDF): Concepts and Abstract Syntax. (削除ここまで) (追記) Identifier (URI): Generic Syntax (追記ここまで) (削除) 10 February 2004. W3C Recommendation. (削除ここまで) . (追記) January 2005. Internet Standard. (追記ここまで) URL: (削除) http://www.w3.org/TR/2004/REC-rdf-concepts-20040210 (削除ここまで) (追記) https://tools.ietf.org/html/rfc3986 (追記ここまで)
(削除) [RDF-MT] (削除ここまで)
(追記) [URL] (追記ここまで)
(削除) Patrick Hayes. (削除ここまで)
(追記) Anne van Kesteren; Sam Ruby. (追記ここまで) (削除) RDF Semantics. (削除ここまで) (追記) URL (追記ここまで) (削除) 10 February 2004. (削除ここまで) . (追記) 9 December 2014. (追記ここまで) W3C (削除) Recommendation. (削除ここまで) (追記) Working Draft. (追記ここまで) URL: (削除) http://www.w3.org/TR/2004/REC-rdf-mt-20040210 (削除ここまで) (追記) http://www.w3.org/TR/url-1/ (追記ここまで)
(削除) [RDF-SCHEMA] (削除ここまで)
(追記) [XMLSCHEMA11-2] (追記ここまで)
(削除) Dan Brickley; Ramanathan (削除ここまで)
(追記) David Peterson; Sandy Gao; Ashok Malhotra; Michael Sperberg-McQueen; Henry Thompson; Paul (追記ここまで) V. (削除) Guha. (削除ここまで) (追記) Biron et al. (追記ここまで) (削除) RDF Vocabulary Description (削除ここまで) (追記) W3C XML Schema Definition (追記ここまで) Language (削除) 1.0: RDF Schema. (削除ここまで) (追記) (XSD) 1.1 Part 2: Datatypes (追記ここまで) (削除) 10 February 2004. (削除ここまで) . (追記) 5 April 2012. (追記ここまで) W3C Recommendation. URL: (削除) http://www.w3.org/TR/2004/REC-rdf-schema-20040210 [RFC3986] T. Berners-Lee; R. Fielding; L. Masinter. Uniform Resource Identifier (URI): Generic Syntax. January 2005. Internet RFC 3986. URL: http://www.ietf.org/rfc/rfc3986.txt (削除ここまで) (追記) http://www.w3.org/TR/xmlschema11-2/ (追記ここまで)

(削除) E.2 (削除ここまで) (追記) F.2 (追記ここまで) Informative references

(削除) [MICRODATA-RDF-SUPPLEMENT] (削除ここまで)
(追記) [JSON-LD] (追記ここまで)
(追記) Manu Sporny; Gregg Kellogg; Markus Lanthaler. (追記ここまで) (削除) Microdata to RDF Supplement (削除ここまで) (追記) JSON-LD 1.0 (追記ここまで) (削除) Gregg Kellogg Editor. World Wide Web Consortium (work in progress). 22 (削除ここまで) . (追記) 16 (追記ここまで) January (削除) 2012. (削除ここまで) (追記) 2014. W3C Recommendation. URL: (追記ここまで)(追記) http://www.w3.org/TR/json-ld/ (追記ここまで)
[MICRODATA-RDF-TESTS]
(追記) Gregg Kellogg; Ivan Herman. (追記ここまで) Microdata to RDF Tests (削除) Gregg Kellogg, Ivan Herman Editors. World Wide Web Consortium (work in progress). 22 March 2012. (削除ここまで) . (追記) unofficial. URL: (追記ここまで)(追記) http://w3c.github.io/microdata-rdf/tests/ (追記ここまで)
[RDF-SYNTAX-GRAMMAR]
(削除) Dave Beckett. (削除ここまで)
(追記) Fabien Gandon; Guus Schreiber. (追記ここまで) (削除) RDF/XML (削除ここまで) (追記) RDF 1.1 XML (追記ここまで) Syntax (削除) Specification (Revised). (削除ここまで) (削除) 10 (削除ここまで) . (追記) 25 (追記ここまで) February (削除) 2004. (削除ここまで) (追記) 2014. (追記ここまで) W3C Recommendation. URL: (削除) http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210 (削除ここまで) (追記) http://www.w3.org/TR/rdf-syntax-grammar/ (追記ここまで)
[RDFA-CORE]
(追記) Ben Adida; Mark Birbeck; (追記ここまで) Shane McCarron; (追記) Ivan Herman (追記ここまで) et al. RDFa Core (削除) 1.1: Syntax and processing rules for embedding RDF through attributes. (削除ここまで) (追記) 1.1 - Second Edition (追記ここまで) (削除) 7 June 2012. (削除ここまで) . (追記) 22 August 2013. (追記ここまで) W3C Recommendation. URL: (削除) http://www.w3.org/TR/2012/REC-rdfa-core-20120607/ (削除ここまで) (追記) http://www.w3.org/TR/rdfa-core/ (追記ここまで)

AltStyle によって変換されたページ (->オリジナル) /