jobdataexchange / Data-Modeling

This repo is intended to contain resources and discussion regarding the JDX data modeling.
Other
8 stars 6 forks source link

JSONLD output from JDX tool review #26

Closed stuartasutton closed 4 years ago

stuartasutton commented 4 years ago

ISSUES:

  1. I am absolutely positive that there were data points entered/selected that did not show up in the output; e.g., I know I made a choice with "jdx:jobSchedule": "", Also, I got a strange repetition of the totalJobOpenings: (a) "jdx:totalJobOpenings": 0, & (b) "schema:totalJobOpenings": "2", ...2 different namespaces and different value datatypes.

  2. Code does not validate as JSON because single quotation (') were used throughout instead of double quotes (") Global change of ' to " results in two errors where the ' should be left as is.

  3. Properties have been used as classes; e.g., "@id": "jdx:employmentUnit", Classes always begin with an uppercase letter and are camel cased; e.g., AnnotateDefinedTerm. Properties are also camel-cased but always begin with a lowercased letter; e.g., employmentUnit.

In the example code, "@id": "jdx:employmentUnit" says that the thing identified as @id is a class, when employmentUnit is a property, not a class.

  1. To provide a URI for an instance of jdx:Organization, the thing identified by that URI cannot be a property (employmentUnit) in the following example:
    "@id": "jdx:employmentUnit",
    "@type": "jdx:Organization",

Following the draft namespace policy, this would be some resource (instance of jdx:Organization) in a JDX namespace like the following:

   "@id": "https://jobdataexchange.org/jdx/pp/resource/f0a23159-e3c3-43df-94da-b15c749599d0",
   "@type": "jdx:Organization",
  1. The need for namespace abbreviations in the JSONLD encoding is gone with the new @context file . E.g., schema:addressCountry can be simply addressCountry.

  2. There are no such properties as: "website" (see "url") "recommendationUUID" "substatement"

  3. Do not include any properties of classes for which there are no values in the data; e.g.

    "name": "",
    "schema:address": {
         "@type": "schema:PostalAddress",
         "schema:addressCountry": "",
         "schema:addressLocality": "",
         "schema:addressRegion": "",
         "schema:postalCode": "",
         "schema:streetAddress": ""
    }
  4. CRITICALLY, there is no link between the Organization (ACME) and the JobPosting. Just because they are in the same graph, it cannot be assumed that there is a linking relationship between the Organization and the JobPosting entities. It has to be formally stated. Organization has a property that links the two:

"hasJobPosting": "https://jobdataexchange.org/jdx/pp/resource/9542b372-6436-4fc1-a5b6-8ca8d3ba04e6" ,

and this URI is the @id of the JobPosting entity.

  1. The JobPosting entity has no "@type": "JobPosting" ,

  2. The code includes a PostingInstructions entity when there should be none since there is no such source data. However, the address information for ACME shows up in this JobPosting entity when it should be in the address block of the main organization at the top of the encoding.

  3. Your JobPosting has the following for the hiring organization:

"jdx:hiringOrganization": {
     "name": "ACME Cyber",
     "jdxapp:address": "225 Twin Oaks Way; Seattle WA 98765",
     "schema:address": {
         "@type": "schema:PostalAddress",
         "schema:addressCountry": "",
         "schema:addressLocality": "",
         "schema:addressRegion": "",
         "schema:postalCode": "",
         "schema:streetAddress": ""
     }
}, 

HOWEVER, ACME is already described in the Organization instance and assigned a URI for linking. So this block of text boils down to:

"jdx:hiringOrganization": "https://jobdataexchange.org/jdx/pp/resource/f0a23159-e3c3-43df-94da-b15c749599d0" ,

Note that in the term declarations, the range of hiringOrganization is Organization and not Location or PostalAddress. So its value has to be the URI of an Organization entity.

  1. There is considerable repetition of attributes of location. If we look at the actual Word job description document, we see one organization (i.e., no

  2. References to concepts from controlled vocabularies cannot be handled as plain literals. They all have a range of skos:Concept and must be encoded using the AnnotateDefineTerm entity. So, the following:

    "jdx:jobTerm": "Regular",
    "jdx:jobAgreement": "Employee",

    ...must, in the absence of actual concept schemes be encoded as follows:

    "jobTerm": {
        "@type": "AnnotatedDefinedTerm" ,
        "name": "Regular"
    },
    "jobAgreement": {
       "@type": "AnnotatedDefinedTerm" ,
       "name": "Employee"
    },
  3. I am trying to decipher what is going on with the AnnotatedDefinedTerm of the following sort:

    {
         "@type": "jdx:AnnotatedDefinedTerm",
         "annotatedTerm": "b9aa3091-3ea3-5c89-b3d2-03334a63b72a",
         "schema:description": {"en-US": "Knowledge of principles and practices related to target development such as target knowledge, associations, communication systems, and infrastructure."},
         "schema:inDefinedTermSet": "54a26a56-811b-5588-89c1-9e64f18276d1",
         "recommendationUUID": "b9aa3091-3ea3-5c89-b3d2-03334a63b72a",
         "substatement": "You will be a critical member of a highly-skilled, adaptive cyber team that carries out defensive vulnerability research."
    },

    This competency node is a statement from the Cybersecurity Workforce Framework (NICE) and actually has a CE URI for use with annotatedTerm; likewise with the inDefinedTermSet that need to be in the JSONLD output. As note at the top, there are no such properties as recommendationUUID and substatement in the JDX language. I am assuming that the UUID for annotatedTerm is the JDX internal tie back to canonical URI--what's needed is not the internal ID for the statement, but the canonical ID.

    {
      "@type": "jdx:AnnotatedDefinedTerm",
      "jdx:annotatedTerm": "https://credentialengineregistry.org/resources/ce-4e70a341-613b-4808-82fa-80a91bb2b159",
      "termCode": "70520" ,
      "schema:description": {"en-US": "Knowledge of principles and practices related to target development such as target knowledge, associations, communication systems, and infrastructure."},
      "schema:inDefinedTermSet": "https://credentialengineregistry.org/resources/ce-ae88ce1f-7642-47b3-93d3-dfb95b4c4764",
    },
  4. Tool does not parse multiple statements in one value into independent sub statements. E.g., "Positive and professional demeanor; Excellent communication skills; CySA++; CISSP or SSCP":

{
     "@type": "jdx:AnnotatedDefinedTerm",
     "jdx:annotatedTerm": "",
     "schema:description": {"en-US": "Positive and professional demeanor; Excellent communication skills; CySA++; CISSP or SSCP"},
     "schema:inDefinedTermSet": "User generated",
     "recommendationUUID": "",
     "substatement": ""
 },

These are separate statements:

BELOW IS BOTH THE ORIGINAL & A REVISED ENCODING:

JDX GENERATED CODE:

{
    "@context": "http://jobdataexchange.org/jdxcontext.json",
    "@graph": [
        {
            "@id": "jdx:employmentUnit",
            "@type": "jdx:Organization",
            "schema:legalName": {"en-US": "ACME Cyber"},
            "email": "info@acme.com",
            "website": "https://acme.com",
            "name": "",
            "schema:address": {
                "@type": "schema:PostalAddress",
                "schema:addressCountry": "",
                "schema:addressLocality": "",
                "schema:addressRegion": "",
                "schema:postalCode": "",
                "schema:streetAddress": ""
            },
            "schema:location": {
                "@type": "jdx:Place",
                "schema:geo": {
                    "@type": "schema:GeoCoordinates",
                    "latitude": 13.1423,
                    "longitude": 323.32423
                }
            },
            "description": "",
            "faxNumber": "",
            "telephone": "(406) 234-0987",
            "occupationCategory": {
                "name": "",
                "description": "",
                "termCode": "",
                "definedTermSet": ""
            },
            "industryCode": {
                "name": "",
                "description": "",
                "termCode": "",
                "definedTermSet": ""
            }
        },
        {
            "@id": "jdx:jobPosting",
            "schema:datePosted": "2019-09-01",
            "schema:validThrough": "2019-09-30",
            "jdx:totalJobOpenings": 0,
            "schema:title": {"en-US": "Junior Cybersecurity Specialist "},
            "schema:description": {"en-US": "ACME Cyber, inc. is looking for junior level cybersecurity specialist to support corporate and client contracts in our Hernon, VA locations. You will be a critical member of a highly-skilled, adaptive cyber team that carries out defensive vulnerability research."},
            "schema:industry": "Software design and deployment including cybersecurity.",
            "jdx:industryCode": "541512",
            "jdx:employmentUnit": "ITC - R&D",
            "jdx:positionID": "5678-474G",
            "jdx:qualificationSummary": "",
            "schema:jobLocationType": "telecommute",
            "schema:jobLocation": {
                "@id": "http://schema.org/Place",
                "@type": "schema:Place",
                "telephone": "",
                "name": "Seattle WA",
                "address": {
                    "@type": "schema:PostalAddress",
                    "schema:addressCountry": "",
                    "schema:addressLocality": "",
                    "schema:addressRegion": "",
                    "schema:postalCode": "",
                    "schema:streetAddress": ""
                },
                "faxNumber": "",
                "geo": {
                    "@id": "http://schema.org/GeoCoordinates",
                    "@type": "GeoCoordinates",
                    "latitude": "",
                    "longitude": "",
                    "name": ""
                }
            },
            "jdx:requiredAssessment": {"jdxapp:assessments": "Performance examination of common tasks in the areas of software development and cybersecurity"},
            "jdx:jobTerm": "Regular",
            "jdx:jobAgreement": "Employee",
            "jdx:jobSchedule": "",
            "jdx:workHours": "Normal work hours",
            "schema:incentiveCompensation": "Annual bonus on qualification",
            "schema:baseSalary": {
                "@type": "schema:MonetaryAmount",
                "schema:current": "USD",
                "schema:minValue": "45000",
                "schema:maxValue": "65000",
                "frequency": {
                    "@type": "jdx:AnnotateDefinedTerm",
                    "jdx:annotatedTerm": "Frequency",
                    "schema:description": {"en-US": "Annually"},
                    "schema:inDefinedTermSet": ""
                }
            },
            "schema:jobBenefits": [
                "Health Insurance",
                "Dental Insurance",
                "Vision Insurance",
                "Life Insurance",
                "401(k)",
                "Workplace perks such as recreation activities, food and coffee",
                "Child Care"
            ],
            "jdx:responsibilty": "Bachelor of Science in either Computer Science OR Cybersecurity OR five years of relevant experience",
            "jdx:physicalRequirement": "sitting; occasional lifting of computer equipment",
            "jdx:sensoryRequirement": "Normal vision",
            "jdx:securityClearanceRequirement": "US federal type C clearance",
            "jdx:hiringOrganization": {
                "name": "ACME Cyber",
                "jdxapp:address": "225 Twin Oaks Way; Seattle WA 98765",
                "schema:address": {
                    "@type": "schema:PostalAddress",
                    "schema:addressCountry": "",
                    "schema:addressLocality": "",
                    "schema:addressRegion": "",
                    "schema:postalCode": "",
                    "schema:streetAddress": ""
                }
            },
            "schema:occupationalCategory": {
                "@type": "jdx:AnnotatedDefinedTerm",
                "jdx:annotatedTerm": "",
                "schema:description": {"en-US": "15-1199.02"},
                "schema:inDefinedTermSet": "",
                "schema:termCode": ""
            },
            "schema:responsibilities": [
                {
                    "@type": "jdx:AnnotateDefinedTerm",
                    "jdx:annotatedTerm": "",
                    "schema:description": {"en-US": ""},
                    "schema:inDefinedTermSet": ""
                }
            ],
            "jdx:competency": [
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "31414060-d60f-5e10-99eb-ece4dba0cfb8",
                    "schema:description": {"en-US": "Demonstrate ability to identify threats/risks and vulnerabilities taking into account the frequency, probability, speed of development, severity and reputational impact to achieve a holistic view of risk across the entity"},
                    "schema:inDefinedTermSet": "9e733d6a-213e-5d74-b4d1-e4af857656d8",
                    "recommendationUUID": "31414060-d60f-5e10-99eb-ece4dba0cfb8",
                    "substatement": "You will be a critical member of a highly-skilled, adaptive cyber team that carries out defensive vulnerability research."
                },
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "b9aa3091-3ea3-5c89-b3d2-03334a63b72a",
                    "schema:description": {"en-US": "Knowledge of principles and practices related to target development such as target knowledge, associations, communication systems, and infrastructure."},
                    "schema:inDefinedTermSet": "54a26a56-811b-5588-89c1-9e64f18276d1",
                    "recommendationUUID": "b9aa3091-3ea3-5c89-b3d2-03334a63b72a",
                    "substatement": "You will be a critical member of a highly-skilled, adaptive cyber team that carries out defensive vulnerability research."
                },
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "7826902a-053c-5b51-8cce-64eda390d002",
                    "schema:description": {"en-US": "Knowledge of secure configuration management techniques. (e.g., Security Technical Implementation Guides (STIGs), cybersecurity best practices on cisecurity.org)."},
                    "schema:inDefinedTermSet": "54a26a56-811b-5588-89c1-9e64f18276d1",
                    "recommendationUUID": "7826902a-053c-5b51-8cce-64eda390d002",
                    "substatement": "\n\nResponsibilities include (but are not restricted to): \n\nDeconstructing and analyzing applications and network protocols\n\nEnsure appropriate security controls are in place for safeguarding digital files, electronic infrastructure\n\nRespond to computer security breaches and viruses\n\nHighlighting potential vulnerabilities, attack vectors of all types, on all platforms\n\n\n\nRequired Competencies:\n\nActive, current TS/SCI\n\nCompTIA Security+\n\nEngineering, Computer Science or a related bachelor's degree (note: 4 years of experience may be substituted for each year of degree related experience)\n\n1-2 years of vulnerability analysis\n\nKnowledge of Docker, hyper-visors, fuzzing frameworks, anti-virus techniques\n\n1-2 years development experience in C, assembly and/or Python for proof of concept code\n\nStrong understanding of OS level internals (Mac, Windows and Linux)\n\n\n\nDesired Skills:\n\nMaster\u2019s/PhD in CS."
                },
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "31414060-d60f-5e10-99eb-ece4dba0cfb8",
                    "schema:description": {"en-US": "Demonstrate ability to identify threats/risks and vulnerabilities taking into account the frequency, probability, speed of development, severity and reputational impact to achieve a holistic view of risk across the entity"},
                    "schema:inDefinedTermSet": "9e733d6a-213e-5d74-b4d1-e4af857656d8",
                    "recommendationUUID": "31414060-d60f-5e10-99eb-ece4dba0cfb8",
                    "substatement": "You will be a critical member of a highly-skilled, adaptive cyber team that carries out defensive vulnerability research."
                },
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "b9aa3091-3ea3-5c89-b3d2-03334a63b72a",
                    "schema:description": {"en-US": "Knowledge of principles and practices related to target development such as target knowledge, associations, communication systems, and infrastructure."},
                    "schema:inDefinedTermSet": "54a26a56-811b-5588-89c1-9e64f18276d1",
                    "recommendationUUID": "b9aa3091-3ea3-5c89-b3d2-03334a63b72a",
                    "substatement": "You will be a critical member of a highly-skilled, adaptive cyber team that carries out defensive vulnerability research."
                },
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "7826902a-053c-5b51-8cce-64eda390d002",
                    "schema:description": {"en-US": "Knowledge of secure configuration management techniques. (e.g., Security Technical Implementation Guides (STIGs), cybersecurity best practices on cisecurity.org)."},
                    "schema:inDefinedTermSet": "54a26a56-811b-5588-89c1-9e64f18276d1",
                    "recommendationUUID": "7826902a-053c-5b51-8cce-64eda390d002",
                    "substatement": "\n\nResponsibilities include (but are not restricted to): \n\nDeconstructing and analyzing applications and network protocols\n\nEnsure appropriate security controls are in place for safeguarding digital files, electronic infrastructure\n\nRespond to computer security breaches and viruses\n\nHighlighting potential vulnerabilities, attack vectors of all types, on all platforms\n\n\n\nRequired Competencies:\n\nActive, current TS/SCI\n\nCompTIA Security+\n\nEngineering, Computer Science or a related bachelors degree (note: 4 years of experience may be substituted for each year of degree related experience)\n\n1-2 years of vulnerability analysis\n\nKnowledge of Docker, hyper-visors, fuzzing frameworks, anti-virus techniques\n\n1-2 years development experience in C, assembly and/or Python for proof of concept code\n\nStrong understanding of OS level internals (Mac, Windows and Linux)\n\n\n\nDesired Skills:\n\nMaster\u2019s/PhD in CS."
                },
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "",
                    "schema:description": {"en-US": ""},
                    "schema:inDefinedTermSet": "User generated",
                    "recommendationUUID": "",
                    "substatement": ""
                },
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "",
                    "schema:description": {"en-US": "Support law enforcement, homeland security as well as intelligence clients."},
                    "schema:inDefinedTermSet": "User generated",
                    "recommendationUUID": "",
                    "substatement": ""
                },
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "",
                    "schema:description": {"en-US": "Positive and professional demeanor; Excellent communication skills; CySA++; CISSP or SSCP"},
                    "schema:inDefinedTermSet": "User generated",
                    "recommendationUUID": "",
                    "substatement": ""
                },
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "",
                    "schema:description": {"en-US": "Proactively embrace diversity and inclusion in order to advance the business and client market share."},
                    "schema:inDefinedTermSet": "User generated",
                    "recommendationUUID": "",
                    "substatement": ""
                },
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "",
                    "schema:description": {"en-US": "Positive and professional demeanor; Excellent communication skills; CySA++, CISSP or SSCP"},
                    "schema:inDefinedTermSet": "User generated",
                    "recommendationUUID": "",
                    "substatement": ""
                },
                {
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "",
                    "schema:description": {"en-US": "Deconstructing and analyzing applications and network protocols; Ensure appropriate security controls are in place for safeguarding digital files, electronic infrastructure; Respond to computer security breaches and viruses; Highlighting potential vulnerabilities, attack vectors of all types, on all platforms; Required Competencies: Active, current TS/SCI CompTIA Security+Engineering, "},
                    "schema:inDefinedTermSet": "User generated",
                    "recommendationUUID": "",
                    "substatement": ""
                }
            ],
            "schema:totalJobOpenings": "2",
            "jdx:citizenshipRequirement": "US citizan",
            "jdx:specialCommitment": "native Americans; ex-offenders"
        },
        {
            "@type": "jdx:PostingInstruction",
            "jdx:applicationLocationRequirement": {
                "@id": "http://schema.org/Place",
                "@type": "schema:Place",
                "telephone": "",
                "name": "123 Acme Way, New York, NY 11223",
                "address": {
                    "@type": "schema:PostalAddress",
                    "schema:addressCountry": "",
                    "schema:addressLocality": "",
                    "schema:addressRegion": "",
                    "schema:postalCode": "",
                    "schema:streetAddress": ""
                },
                "faxNumber": "",
                "geo": {
                    "@id": "http://schema.org/GeoCoordinates",
                    "@type": "GeoCoordinates",
                    "latitude": "",
                    "longitude": "",
                    "name": ""
                }
            }
        }
    ]
}

REVISED CODE:

{
    "@context": "http://jobdataexchange.org/jdxcontext.json",
    "@graph": [
        {
            "@id": "https://jobdataexchange.org/jdx/pp/resource/f0a23159-e3c3-43df-94da-b15c749599d0",
            "@type": "jdx:Organization",
            "legalName": {"en-US": "ACME Cyber"},
            "email": "info@acme.com",
            "url": "https://acme.com",
            "address": {
                "@type": "schema:PostalAddress",
                "addressCountry": "USA",
                "addressLocality": "New York",
                "addressRegion": "NY",
                "postalCode": "11223",
                "streetAddress": "123 Acme Way"
            },
            "schema:location": {
                "@type": "jdx:Place",
                "schema:geo": {
                    "@type": "schema:GeoCoordinates",
                    "latitude": 13.1423,
                    "longitude": 323.32423
                }
            },
            "telephone": "(406) 234-0987",
            "occupationCategory": {
                "name": "Software Developers, Applications",
                "description": {"en-US": "Develop, create, and modify general computer applications software or specialized utility programs. Analyze user needs and develop software solutions. Design software or customize software for client use with the aim of optimizing operational efficiency. May analyze and design databases within an application area, working individually or coordinating database development as part of a team. May supervise computer programmers."},
                "termCode": "15-1112.00",
                "definedTermSet": "https://www.onetonline.org/"
            },
            "industryCode": {
                "name": "Computer Systems Design Services",
                "description": {"en-US": "This U.S. industry comprises establishments primarily engaged in planning and designing computer systems that integrate computer hardware, software, and communication technologies. The hardware and software components of the system may be provided by this establishment or company as part of integrated services or may be provided by third parties or vendors. These establishments often install the system and train and support users of the system."},
                "termCode": "541512",
                "definedTermSet": "https://www.naics.com/naics-code-description/?code=541512"
            },
            "hasJobPosting": "https://jobdataexchange.org/jdx/pp/resource/9542b372-6436-4fc1-a5b6-8ca8d3ba04e6"
        },
        {
            "@id": "https://jobdataexchange.org/jdx/pp/resource/9542b372-6436-4fc1-a5b6-8ca8d3ba04e6",
            "@type": "JobPosting",
            "datePosted": "2019-09-01",
            "validThrough": "2019-09-30",
            "hiringOrganization": "https://jobdataexchange.org/jdx/pp/resource/f0a23159-e3c3-43df-94da-b15c749599d0" ,
            "totalJobOpenings": 2,
            "title": {"en-US": "Junior Cybersecurity Specialist "},
            "description": {"en-US": "ACME Cyber, inc. is looking for junior level cybersecurity specialist to support corporate and client contracts in our Hernon, VA locations. You will be a critical member of a highly-skilled, adaptive cyber team that carries out defensive vulnerability research."},
            "industry": {"en-US": "Software design and deployment including cybersecurity."},
            "industryCode": {
                "@type": "AnnotatedDefinedTerm" ,
                "name": "Computer Systems Design Services",
                "description": {"en-US": "This U.S. industry comprises establishments primarily engaged in planning and designing computer systems that integrate computer hardware, software, and communication technologies. The hardware and software components of the system may be provided by this establishment or company as part of integrated services or may be provided by third parties or vendors. These establishments often install the system and train and support users of the system."},
                "termCode": "541512",
                "definedTermSet": "https://www.naics.com/naics-code-description/?code=541512"
            },
            "jdx:employmentUnit": {
                "@type": "Organization" ,
                "name": "ITC - R&D"
            },
            "jdx:positionID": "5678-474G",
            "schema:jobLocationType": {"en-US": "telecommute"},
            "requiredAssessment": {
                "@Type": "AssessmentProfile" ,
                "description": "Performance examination of common tasks in the areas of software development and cybersecurity"
            },
            "jobTerm": {
                "@type": "AnnotatedDefinedTerm" ,
                "name": "Regular"
            },
            "jobAgreement": {
                "@type": "AnnotatedDefinedTerm" ,
                "name": "Employee"
            },
            "workHours": "Normal work hours",
            "incentiveCompensation": {"en-US":"Annual bonus on qualification"},
            "baseSalary": {
                "@type": "MonetaryAmount",
                "current": "USD",
                "minValue": "45000",
                "maxValue": "65000",
                "frequency": {
                    "@type": "jdx:AnnotateDefinedTerm",
                    "jdx:annotatedTerm": "Frequency",
                    "schema:description": {"en-US": "Annually"},
                    "schema:inDefinedTermSet": ""
                }
            },
            "schema:jobBenefits": [
                {
                    "@type": "jdx:AnnotateDefinedTerm",
                    "description": {"en-US": "Health Insurance"}
                } ,
                {
                    "@type": "jdx:AnnotateDefinedTerm",
                    "description": {"en-US": "Dental Insurance"}
                } ,
                {
                    "@type": "jdx:AnnotateDefinedTerm",
                    "description": {"en-US": "Vision Insurance"}
                } ,
                {
                    "@type": "jdx:AnnotateDefinedTerm",
                    "description": {"en-US": "401(k)"}
                } ,
                {
                    "@type": "jdx:AnnotateDefinedTerm",
                    "description": {"en-US": "Workplace perks such as recreation activities, food and coffee"}
                } ,
                {
                    "@type": "jdx:AnnotateDefinedTerm",
                    "description": {"en-US": "Child Care"}
                }
            ],
            "physicalRequirement": {"en-US": ["sitting", "occasional lifting (under 35 lb)"] },
            "sensoryRequirement": {"en-US": "Normal vision"},
            "securityClearanceRequirement": {"en-US": "US federal type C clearance"},
            "occupationCategory": {
                "name": "Software Developers, Applications",
                "description": {"en-US": "Develop, create, and modify general computer applications software or specialized utility programs. Analyze user needs and develop software solutions. Design software or customize software for client use with the aim of optimizing operational efficiency. May analyze and design databases within an application area, working individually or coordinating database development as part of a team. May supervise computer programmers."},
                "termCode": "15-1112.00",
                "definedTermSet": "https://www.onetonline.org/"
            },
            "citizenshipRequirement": "US citizan",
            "specialCommitment": "native Americans; ex-offenders",
            "competency": [
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/b9aa3091-3ea3-5c89-b3d2-03334a63b72a",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://credentialengineregistry.org/resources/ce-4e70a341-613b-4808-82fa-80a91bb2b159",
                    "termCode": "70520" ,
                    "description": {"en-US": "Knowledge of principles and practices related to target development such as target knowledge, associations, communication systems, and infrastructure."},
                    "inDefinedTermSet": "https://credentialengineregistry.org/resources/ce-ae88ce1f-7642-47b3-93d3-dfb95b4c4764"
                },
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/7826902a-053c-5b51-8cce-64eda390d002",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://credentialengineregistry.org/resources/ce-6af93457-6e8a-4d78-8432-d9377e9cc536",
                    "description": {"en-US": "Knowledge of secure configuration management techniques. (e.g., Security Technical Implementation Guides (STIGs), cybersecurity best practices on cisecurity.org)."},
                    "termCode": "70073",
                    "inDefinedTermSet": "https://credentialengineregistry.org/resources/ce-ae88ce1f-7642-47b3-93d3-dfb95b4c4764"
                },
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/b9aa3091-3ea3-5c89-b3d2-03334a63b72a",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://credentialengineregistry.org/resources/ce-4e70a341-613b-4808-82fa-80a91bb2b159",
                    "description": {"en-US": "Knowledge of principles and practices related to target development such as target knowledge, associations, communication systems, and infrastructure."},
                    "termCode": "K0520",
                    "inDefinedTermSet": "https://credentialengineregistry.org/resources/ce-ae88ce1f-7642-47b3-93d3-dfb95b4c4764"
                },
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/7826902a-053c-5b51-8cce-64eda390d002",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://credentialengineregistry.org/resources/ce-6af93457-6e8a-4d78-8432-d9377e9cc5367826902a-053c-5b51-8cce-64eda390d002",
                    "schema:description": {"en-US": "Knowledge of secure configuration management techniques. (e.g., Security Technical Implementation Guides (STIGs), cybersecurity best practices on cisecurity.org)."},
                    "termCode": "70073",
                    "schema:inDefinedTermSet": "https://credentialengineregistry.org/resources/ce-ae88ce1f-7642-47b3-93d3-dfb95b4c4764"
                },
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/ug/e2934ab5-f02b-453e-a1e7-026dedca929f" ,
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/75d40ceb-d2a2-458a-b35d-e89b709d0fe1",
                    "schema:description": {"en-US": "Support law enforcement, homeland security as well as intelligence clients."},
                    "schema:inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/ug/9175ea17-bf07-42d9-8835-63edfebfdad0",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/4e2373da-a739-4f61-aabf-8d9d05b3e0da",
                    "schema:description": {"en-US": "Positive and professional demeanor"},
                    "schema:inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {   "@id": "https://jobdataexchange.org/jdx/competency/ug/c7f26ace-7c43-41ff-b65e-432db496c3b1",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/3e162261-6b70-4b9c-a201-1949b3b832ab",
                    "schema:description": {"en-US": "Excellent communication skills."},
                    "schema:inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {   "@id": "https://jobdataexchange.org/jdx/competency/ug/6cfeb3be-87e5-4139-ab70-82e221071b95",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/e2e4d022-35de-474d-9c33-605321e0a1a4",
                    "schema:description": {"en-US": "CySA++"},
                    "schema:inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {   "@id": "https://jobdataexchange.org/jdx/competency/ug/fac49578-6e07-48a8-8109-d2bf3a1bde42",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/0a287319-dc65-4392-8bd0-671f99ef52bd",
                    "schema:description": {"en-US": "CISSP"},
                    "schema:inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {   "@id": "https://jobdataexchange.org/jdx/competency/ug/6eeaf152-fec1-4a40-b751-ac781f86a725",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/ea39a3a6-da04-4f77-b270-fe87b55eaa9b",
                    "description": {"en-US": "SSCP"},
                    "inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {   "@id": "https://jobdataexchange.org/jdx/competency/ug/1d8a46e8-a511-4b3c-9403-0b5219011ee7",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/cef645c5-60eb-4eca-bd9d-1ba707621451",
                    "description": {"en-US": "Proactively embrace diversity and inclusion in order to advance the business and client market share."},
                    "inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/ug/e2483f73-14e5-4f28-8905-6b89cd9118e8",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/2367249f-60b8-40cc-b9ba-e847b30b6fd4",
                    "description": {"en-US": "Positive and professional demeanor; Excellent communication skills; CySA++, CISSP or SSCP"},
                    "inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/ug/7629a35e-b364-455f-bda2-b8df167cf9cc",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "jdx:annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/8705fb79-8cec-4503-9ec4-ccd8d983cb6d",
                    "schema:description": {"en-US": "Deconstructing and analyzing applications and network protocols"},
                    "schema:inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/ug/f9fe6ef7-d181-458f-8faf-018a9afed6cc",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/6d98e3ef-6592-48c2-a5b3-437a5823eefd",
                    "schema:description": {"en-US": "Ensure appropriate security controls are in place for safeguarding digital files, electronic infrastructure; Respond to computer security breaches and viruses; Highlighting potential vulnerabilities, attack vectors of all types, on all platforms; Required Competencies: Active, current TS/SCI CompTIA Security+Engineering, "},
                    "schema:inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/ug/6ae35552-2cf4-4aac-bc2e-28d51ad4291d",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/3ae56cb2-bbc4-4aac-aa51-b649b51d4436",
                    "schema:description": {"en-US": "Respond to computer security breaches and viruses; Highlighting potential vulnerabilities, attack vectors of all types, on all platforms; Required Competencies: Active, current TS/SCI CompTIA Security+Engineering, "},
                    "schema:inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/ug/fffcfa95-cea5-44e2-ad75-6353613c6dfd",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/9c68b394-9fa5-4eb6-b151-8de48936c13c",
                    "schema:description": {"en-US": "Highlighting potential vulnerabilities, attack vectors of all types, on all platforms; Required Competencies: Active, current TS/SCI CompTIA Security+Engineering, "},
                    "schema:inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                },
                {
                    "@id": "https://jobdataexchange.org/jdx/competency/ug/d1c78f7b-9942-4949-8910-bebd88dc0544",
                    "@type": "jdx:AnnotatedDefinedTerm",
                    "annotatedTerm": "https://jobdataexchange.org/jdx/competency/ug/0b169a3a-ff26-4494-9e1b-499b35c11a4e",
                    "schema:description": {"en-US": "Active, current TS/SCI CompTIA Security+Engineering "},
                    "schema:inDefinedTermSet": "https://jobdataexchange.org/jdx/competency/ug/69e859c6-dc1c-49a5-ab1c-b541576d66d2"
                }
            ]
        }
    ]
}
loganripplinger commented 4 years ago

I am working through these issues currently.

stuartasutton commented 4 years ago

@loganripplinger, I'm getting a 404.

philbarker commented 4 years ago

just a quick heads-up that in a few places the revised code Stuart sent has

{
     "@type": "AnnotatedDefinedTerm" ,
 ...
     "definedTermSet" : "..."
...
}

That should be inDefinedTermSet

DMSaunders commented 4 years ago

Hi @stuartasutton, I read through and it looks like Logan took care of these during the pilot. You and I discussed 5 so it will be reflected in the next iteration. 7 will go into the implementation instructions. 9 The JobPosting entity has no "@type": "JobPosting" I do not understand.

stuartasutton commented 4 years ago

Danielle, this problem has been fixed in the example in the documentation:

{
            "@id": "https://jobdataexchange.org/jdx/pp/resource/9542b372-6436-4fc1-a5b6-8ca8d3ba04e6",
            "@type": "JobPosting",
           ...
}

Issue can be closed.