Employer-View
Stakeholder-Sicht eines Arbeitgebers auf die Demand-Profile. Die Coverage-Ratio zeigt, wieviele der geforderten Skills durch das verfügbare Modul-Angebot der Säule-B-Echtdaten gelehrt werden.
Data Scientist (KMU München)
J01
5 von 6 Skills durch Säule-B-Module abgedeckt
ML Engineer (Tech-Konzern, Remote)
J02
3 von 5 Skills durch Säule-B-Module abgedeckt
Data Engineer (Versicherer, Frankfurt)
J03
3 von 6 Skills durch Säule-B-Module abgedeckt
NLP Specialist (Forschungs-Spinoff, Berlin)
J04
5 von 5 Skills durch Säule-B-Module abgedeckt
Berechnungs-Transparenz Cypher
Diese Cypher-Query produziert die Aggregate und die Coverage-Ratio. Direkt im Neo4j-Browser (http://localhost:7474) ausführbar.
MATCH (j:Resource)
WHERE j.uri STARTS WITH "http://hr-qde.org/demo/job/"
// Requirements zählen (must vs. nice_to_have)
OPTIONAL MATCH (j)-[:hrqde__hasRequirement]->(req:Resource)
WITH j,
count(DISTINCT req) AS reqCount,
sum(CASE WHEN req.hrqde__requirementKind = 'must' THEN 1 ELSE 0 END) AS mustCount
// Skills sammeln und prüfen, ob durch Säule-B abgedeckt
OPTIONAL MATCH (j)-[:hrqde__hasRequirement]->(:Resource)
-[:hrqde__refersToCompetence]->(skill:Resource)
WITH j, reqCount, mustCount, skill
OPTIONAL MATCH (skill)<-[:hrqde__targetsCompetence]-(:hrqde__LearningOutcome)
<-[:hrqde__hasOutcome]-(m:hrqde__EducationalModule)
WHERE m.uri STARTS WITH "http://hr-qde.org/data/koeppe/"
WITH j, reqCount, mustCount, skill, count(DISTINCT m) AS moduleCount
WITH j, reqCount, mustCount,
count(DISTINCT skill) AS skillCount,
count(DISTINCT CASE WHEN moduleCount > 0 THEN skill END) AS coveredCount
RETURN j.uri AS uri,
j.rdfs__label AS label,
reqCount,
mustCount,
skillCount,
coveredCount,
CASE WHEN skillCount > 0
THEN toFloat(coveredCount) / toFloat(skillCount)
ELSE 0.0
END AS coverageRatio
ORDER BY j.uri