Re: Commercial @Service vs Commercial @MedicalProcedure - how to mark it up correct?

Hi Jarno!

I've detected such complexities on my own markup tasks. But then i come to a thought, that MTE is THE key to it, cause it makes very sofisticated markups possible without to make complex single classes with additional properties (to make possible such transitions from one to another class, as you described). Hence i wouldn't be sad about even 3 classes in a single MTE - can you imagine, how complex become the whole Schema, if each class would allow transition to each enother class. BTW, your example markup is imo pretty slim.

Greets
Evgeniy



________________________________
 Von: Jarno van Driel <jarno@quantumspork.nl>
An: Public Vocabs <public-vocabs@w3.org> 
Gesendet: 22:34 Montag, 31.März 2014
Betreff: Commercial @Service vs Commercial @MedicalProcedure - how to mark it  up correct?
 


I'm currently working on markup for a @MedicalClinic and I am confused about which direction to take the markup for the services they offer.


When marking up a @LocalBusiness, I can link the services they offer by means of @itemOffered, and I can specify that even further by throwing some Goodrelations into the mix. As illustrated below: 

<div itemid="local-business" itemscope itemtype="http://schema.org/LocalBusiness">
<div itemprop="name">SomeLocalBusiness</div>

<div itemid="offer" itemprop="makesOffer" itemscope itemtype="http://schema.org/Offer">
<div itemprop="businessFunction" itemscope itemtype="http://schema.org/BusinessFunction">
<link itemprop="url" href="http://purl.org/goodrelations/v1#ProvideService">
</div>

<div itemid="product-service" itemprop="itemOffered" itemscope itemtype="http://schema.org/Product http://schema.org/Service">
<div itemprop="name">SomeProductOrService</div>

<link itemprop="additionalType" href="http://www.productontology.org/doc/Plastic_surgery">
<link itemprop="provider" href="local-business">
<link itemprop="offers" href="offer">
</div>
</div>
</div>

Yet when I look at the available properties for @MedicalClinic I also see @availableService, which has @MedicalProcedure as an expected type. And it's description says: "A medical service available from this provider".

First off, @MedicalProcedure isn't a subClass of @Service so where does the service in the @availableService description come from? In the context of schema.org, can't it only be a service if @MedicalProcedure either is a subClass of @Service or part of a Multi-Type Entity like '@Service @MedicalProcedure'?

Secondly, @MedicalProcedure has no property to link it to it's @provider. Now imagine the @MedicalProcedure being the main object on the page, how would I link it to it's provider since it has no @provider property? Would I have to mark it up as a Multi-Type Entity like '@Service @MedicalProcedure' to be able to add @provider to the @MedicalProcedure? Which seems strange to me since, ambiguously enough, it is a service, so shouldn't it have that property by default?

Thirdly, there is no way to indicate the @MedicalProcedure is a commercial service. According to it's description it is "A process of care..." but it has no property to indicate it has a commercial nature or not. This can only be indicated if one marks it up as a Multi-Type Entity like '@Product @MedicalProcedure'. Wouldn't it be easier if it simply had the @offers property?


Lastly (guess what's coming now   ;)   ),
If you add up all the above this leads me to come to the conclusion that to markup a @MedicalProcedure as a commercial @Service, offered and provided by a @MedicalClinic, I would have to make use of a Triple-Type Entity as '@Product @Service @MedicalProcedure'. Which seems heavily bloated and over the top to me but to which I don't see any alternative.


Is there anything I'm missing here? Because even if it is sort of doable, shouldn't there be a different mechanism to prevent this level of markup complexity? Am I overlooking the obvious or does the @MedicalProcedure simply need some extra properties to simplify the markup?

Now if you have the stomach for it it, I've also written a code example of what I'm talking about:


<div itemid="medical-clinic" itemscope itemtype="http://schema.org/MedicalClinic">
<link itemprop="availableService" href="medical-procedure">
<span itemprop="name">SomeMedicalClinic</span>
<div itemid="offer" itemprop="makesOffer" itemscope itemtype="http://schema.org/Offer">
<div itemprop="businessFunction" itemscope itemtype="http://schema.org/BusinessFunction">
<link itemprop="url" href="http://purl.org/goodrelations/v1#ProvideService" />
</div>

<div itemid="medical-procedure" itemprop="itemOffered" itemscope itemtype="http://schema.org/Product http://schema.org/Service http://schema.org/MedicalProcedure">
<span itemprop="name">SomeMedicalProcedure</span>
<link itemprop="relevantSpecialty" href="plastic-surgery" />
<link itemprop="provider" href="medical-clinic" />
<link itemprop="offers" href="offer" />
</div>
</div>

<div itemid="plastic-surgery" itemprop="medicalSpecialty" itemscope itemtype="http://schema.org/PlasticSurgery"> 
<link itemprop="additionalType" href="http://www.productontology.org/doc/Plastic_surgery" />
<link itemprop="sameAs" href="http://en.wikipedia.org/wiki/Plastic_surgery" />
<link itemprop="sameAs" href="http://www.wikidata.org/wiki/Q182442" />
<link itemprop="sameAs" href="http://dbpedia.org/page/Plastic_surgery" />
<link itemprop="sameAs" href="http://www.freebase.com/m/0bk8v" />
<span itemprop="recognizingAuthority" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="American Society of Plastic Surgeons" />
<meta itemprop="alternateName" content="ASPS" />
<link itemprop="url" href="http://www.plasticsurgery.org" />
<link itemprop="sameAs" href="http://en.wikipedia.org/wiki/American_Society_of_Plastic_Surgeons" />
<link itemprop="sameAs" href="http://www.wikidata.org/wiki/Q4745105" />
<link itemprop="sameAs" href="http://dbpedia.org/page/American_Society_of_Plastic_Surgeons" />
<link itemprop="sameAs" href="http://www.freebase.com/m/0crf44" />
</span>
</div>
</div>

Received on Tuesday, 1 April 2014 15:09:50 UTC