- From: Jarno van Driel <jarno@quantumspork.nl>
- Date: Mon, 31 Mar 2014 22:34:57 +0200
- To: Public Vocabs <public-vocabs@w3.org>
- Message-ID: <CAFQgrbZ+U6tSY3OrZktsUfmP9ciMOOcvniSgZn0rrb04kR_cZg@mail.gmail.com>
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 Monday, 31 March 2014 20:35:25 UTC