blank nodes with (name || description) vs. rangeIncludes: Text

Howdy,

I started writing script for converting microformats2 JSON[1] into
JSON-LD. Microformats gave me impression (which may change) of using
URIs and textual labels in bit confusing way, it also uses implied
properties[2]. This reminded me about schema.org issue #51 on github -
"JSON-LD context problem for properties that can take both URL or Text"[3]

I would like to know what people thing about recommending use of *blank
nodes* with schema:name properties instead of specifying
schema:rangeIncludes schema:Text

Following http://schema.org/namedPosition example

{
  "@context": "http://schema.org",
  "@type": "SportsTeam",
  "name": "San Francisco 49ers",
  "member": {
    "@type": "OrganizationRole",
    "member": {
      "@type": "Person",
      "name": "Joe Montana"
    },
    "namedPosition": "Quarterback"
  }
}

becomes

{
  "@context": "http://schema.org",
  "@type": "SportsTeam",
  "name": "San Francisco 49ers",
  "member": {
    "@type": "OrganizationRole",
    "member": {
      "@type": "Person",
      "name": "Joe Montana"
    },
    "namedPosition": {
      "name": "Quarterback"
    }
  }
}

This way pretty much everything with at least rangeIncludes: Thing could
use blank node with has free form text in *description*

{
  "@context": "http://schema.org",
  "@type": "Article",
  "license": {
    "description": "You need to suffer and read this license text
yourself because I didn't use URI of some commonly recognized license :P"
  }
}

I must admit also not getting difference between rangeIncludes: URL and
rangeIncludes: Thing . I understand that we always can choose if we
provide URL directly or embed object with { "@id": "..." }

Opinions?


[1] http://microformats.org/wiki/microformats2
[2] http://microformats.org/wiki/microformats-2-implied-properties
[3] https://github.com/rvguha/schemaorg/issues/51

Received on Tuesday, 30 September 2014 11:11:25 UTC