- 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