- From: Richard Wallis <richard.wallis@dataliberate.com>
- Date: Fri, 29 Jun 2018 16:57:10 +0100
- To: Kevin Brown <kevinbrown2354@gmail.com>
- Cc: "schema.org" <public-schemaorg@w3.org>
- Message-ID: <CAD47Kz5OquoEOnLjPFjkKLxVu6jvTkTHfL7yi-99bo1MXpibJQ@mail.gmail.com>
Hi Kevin, There are couple of things that may help you here. Firstly, check out the data model documentation, especially the second paragraph of the Conformance <https://schema.org/docs/datamodel.html#conformance> section. From that you will find that any property, such as *employmentType*, can accept a value that is either a Text <https://schema.org/Text>, URL <https://schema.org/URL>, or Role <https://schema.org/Role> in addition to its defined expected type(s). I believe *URL* would be what you are looking for here, you can provide the URL of the relevant element in your hosted set of defined employment types. You would then have a couple of options as to how you use Schema to describe those employment types. You could define a new local EmploymentType Type, as a subtype of schema:Enumeration and then each enumerated value as a subtype of your EmploymentType. Alternatively you could describe each type as a DefinedTerm <https://pending.schema.org/DefinedTerm>, collecting them together in a DefinedTermSet <https://pending.schema.org/DefinedTermSet> in which you can then also describe who publishes them etc. Equally, if you can find a set of already defined employment types to link to you might save some time - checkout the *DefinedTerm* example <https://pending.schema.org/DefinedTerm#defterm-4> which mocks up how you might link to O*NET OnLineās job types <https://www.onetonline.org/link/summary/51-6042.00>. Hope that helps. ~Richard. Richard Wallis Founder, Data Liberate http://dataliberate.com Linkedin: http://www.linkedin.com/in/richardwallis Twitter: @rjw On 29 June 2018 at 15:40, Kevin Brown <kevinbrown2354@gmail.com> wrote: > I've read these resources about external enumerations: > > http://blog.schema.org/2012/05/schemaorg-markup-for-external-lists.html > https://www.w3.org/wiki/WebSchemas/ExternalEnumerations > > The examples in those resources show how to use external lists with an > example of the "Country" field (which is an object type) for "Movie" types. > I want to do something similar for the "employmentType" property of > "jobPosting"; however, "employmentType" is a primitive rather than an > object ("Values expected to be one of these types: Text"). > > What I'd like to do I think is define an externally-hosted schema for > "employmentType" and override that existing property on "jobPosting". I > could create a new property like "employmentTypeObject" or something that > uses "rdfs:subClassOf" the original "employmentType", but that seems really > convoluted. My reason is that I want to use an "Enumeration" as the > expected value for "employmentType", rather than a primitive (text string). > > What's the best way to handle this? Is there a clean way to override an > existing property in an existing class? >
Received on Friday, 29 June 2018 15:57:34 UTC