Skip to content

Example use of conditionals, realistic example #16

@robinsonkwame

Description

@robinsonkwame

I wanted to motivate an example of using conditionals with a realistic example from a job description and ask for any correction from @stuartasutton to make sure I'm using them in the right way:

With this mock Junior Developer we have these requirements,

Minimum Experience & Education Requirements
* BS Computer Science or equivalent,
* OR Associate Degree & 1 years of related job experience
* OR a 2 year IT certificate from an accredited institution & 3 years of related job experience
* OR a high school diploma or GED & 4 years hands on application development experience

Although these are given as minimum requirements they are actually required (since if you don't meet them you won't be considered). What is the right way to nest conditions to express the above, is it, and ignoring the lack of specificity in the Education, Experience types:

        "jdx:requiredCondition": [{
            "jdx:alternativeCondition": {
                "jdx:requiredCondition": {
                    "jdx:requiredCondition":{
                        "jdx:alternativeEducation":{"@type": "jdx:Education", "name":"Bachelor Computer Science"},
                        "jdx:equivalentExperience":{"@type": "jdx:Experience", "name":"Bachelor Computer Science"}}
                }
            }}, {
            "jdx:alternativeCondition": {
                "jdx:requiredCondition": {
                    "jdx:requiredEducation":{"@type": "jdx:Education", "name":"Associate Degree"},
                    "jdx:requiredExperience":{"@type": "jdx:Experience", "name":"related job experience", "jdx:experienceType": {"@type": "jdx:AnnotatedDefinedTerm", "schema:value": 1, "termCode": "ANN", "name": {"en": "year" }}}
                }
            }}, {
                "jdx:alternativeCondition": {
                    "jdx:requiredCondition": {
                        "jdx:requiredCredential":{"@type": "jdx:Credential", "name":"2 year IT Certificate"},
                        "jdx:requiredExperience":{"@type": "jdx:Experience", "name":"related job experience", "jdx:experienceType": {"@type": "jdx:AnnotatedDefinedTerm", "schema:value": 3, "termCode": "ANN", "name": {"en": "year" }}}
                }
            }}, {                
            "jdx:alternativeCondition": {
                "jdx:requiredCondition": {
                    "jdx:requiredCondition":{
                        "jdx:alternativeEducation":{"@type": "jdx:Education", "name":"High School Diploma"}, "jdx:equivalentCredential": {"@type": "jdx:Credential", "name":"GED"}},
                    "jdx:requiredExperience":{"@type": "jdx:Experience", "name":"related job experience", "jdx:experienceType": {"@type" :"jdx:AnnotatedDefinedTerm", "schema:value": 4, "termCode": "ANN", "name": {"en": "year" }}}
                }
            } } ]

Metadata

Metadata

Labels

DefinedTerm typedata modelMatters concerning creation, maintenance and methods for publication of JDX data model

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions