W3C home > Mailing lists > Public > public-vocabs@w3.org > August 2012

RE: Flattening Microdata

From: LeVan,Ralph <levan@oclc.org>
Date: Wed, 8 Aug 2012 11:57:25 -0400
Message-ID: <52E301F960B30049ADEFBCCF1CCAEF5911199216@OAEXCH4SERVER.oa.oclc.org>
To: "Sandhaus, Evan" <sandhes@nytimes.com>, "Public Vocabs" <public-vocabs@w3.org>
Evan, could you explain why you want to do this?


My understanding is that this is discouraged behavior.  Search engines
don't trust metadata that isn't visible to users.  The library community
got very excited about using meta tags years ago and then discovered
that they were being ignored.


Could someone else verify my understanding of the meta tag?






Ralph LeVan

Research Scientist



From: Sandhaus, Evan [mailto:sandhes@nytimes.com] 
Sent: Wednesday, August 08, 2012 11:44 AM
To: Public Vocabs
Subject: Flattening Microdata


Hello all!


I'm interested in 'flattening' schema.org <http://schema.org/>  object
markup into the <head> element using <meta> elements.  In theory one
should be able to use the "itemref" and "id" attributes to 'flatten' an
object hierarchy into a set of metatags - but in practice this leads to
unexpected results.  


For example:


Suppose we have a NewsArticle with the headline 'A Test Headline' that
has a creator that is a Person that has the name 'Evan S Sandhaus' and
the url 'http://sandha.us'.  Here is an example of how to flatten that
out in the <head> using id and itemref:


<html itemid='the_article_id' itemscope


                                <!-- Article properties in global scope

                                <meta itemprop='headline' content='A
Test Headline'/>


                                <!-- Author Properties Flattened with
itemref and ids -->

                                <meta itemprop='creator' itemscope
itemtype='http://schema.org/Person' itemid='the_creator_id'
itemref='author_name author_url'/>

                                <meta id='author_name' itemprop='name'
content='Evan S Sandhaus'/>                              

                                <meta id='author_url' itemprop='url'
content='http://sandha.us' <http://sandha.us'/> / <http://sandha.us'/> >






So that's the theory.


In practice, however, both the Rich Snippets Tool and the Python
microdata libraries I'm using locally
(http://pypi.python.org/pypi/microdata) both insist on adding the
creator-specific properties to both the scope of both the creator and
the NewsItem.


More concretely - my local tools give me this: 


    "id": "the_article_id",

    "properties": {

        "creator": [{

            "id": "the_creator_id",

            "properties": {

                "name": ["Evan S Sandhaus"],

                "url": ["http://sandha.us <http://sandha.us/> "]


            "type": "http://schema.org/Person"


        "headline": ["A Test Headline"],

        "name": ["Evan S Sandhaus"],

        "url": ["http://sandha.us <http://sandha.us/> "]


    "type": "http://schema.org/NewsItem"



And the Rich Snippets tool gives me this:


Type: http://schema.org/newsarticle
headline = A Test Headline 
creator = Item( 1 ) 
name = Evan S Sandhaus 
url = http://sandha.us 

Item 1 

Type: http://schema.org/person
name = Evan S Sandhaus 
url = http://sandha.us 


So the question is: is this expected behavior?  If so, is there anything
I could do besides this to "flatten" the markup into the <head> element?






Evan Sandhaus

Lead Architect, Semantic Platforms

The New York Times Company

Received on Wednesday, 8 August 2012 15:58:07 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:48:47 UTC