Skip to content

Commit 913e331

Browse files
committed
Add validateSingleDatafieldValue
1 parent 24eba34 commit 913e331

File tree

4 files changed

+31
-9
lines changed

4 files changed

+31
-9
lines changed

dev/dev.js

+16-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import util from "util"
22
import path from "path"
33
import { fileURLToPath } from "url"
44
import fs, { promises as fsPromise } from "fs"
5-
import { validateAll, validateOne, validateUserProfile } from "../src/index.js"
5+
import { validateAll, validateOne, validateSingleDatafieldValue, validateUserProfile } from "../src/index.js"
66
import {
77
convertUserProfileToTurtle,
88
extractDatafieldsMetadata,
@@ -127,11 +127,25 @@ async function devConvertUserProfileToTurtle() {
127127
console.log(turtleStr)
128128
}
129129

130+
async function devValidateSingleDatafieldValue() {
131+
let datafieldsStr = await fsPromise.readFile(DATAFIELDS, "utf8")
132+
let singleDatafieldTriple = {
133+
triples: [{
134+
subject: "https://foerderfunke.org/default#mainPerson",
135+
predicate: "https://foerderfunke.org/default#hasIncomeBrutto",
136+
object: "5000"
137+
}]
138+
}
139+
let result = await validateSingleDatafieldValue(singleDatafieldTriple, datafieldsStr)
140+
console.log(result)
141+
}
142+
130143
// devRunSparqlSelectQueryOnRdfString()
131144
// devRunSparqlConstructQueryOnRdfString()
132145
// devValidateAll()
133146
// devValidateOne()
134147
// devValidateOneStrings()
135148
// devValidateUserProfile()
136149
// devExtractMedatada()
137-
devConvertUserProfileToTurtle()
150+
// devConvertUserProfileToTurtle()
151+
devValidateSingleDatafieldValue()

global.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
validateUserProfile,
44
validateOne,
55
validateAll,
6+
validateSingleDatafieldValue
67
} from "./src/index.js"
78

89
import {
@@ -22,5 +23,6 @@ window.MatchingEngine = {
2223
runSparqlSelectQueryOnStore,
2324
extractRequirementProfilesMetadata,
2425
extractDatafieldsMetadata,
25-
convertUserProfileToTurtle
26+
convertUserProfileToTurtle,
27+
validateSingleDatafieldValue
2628
}

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@foerderfunke/matching-engine",
3-
"version": "0.4.1",
3+
"version": "0.4.2",
44
"description": "Checks eligibilities by validating a user profile against requirement profiles",
55
"author": "@foerderfunke",
66
"license": "MIT",

src/index.js

+11-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import {
2-
addRdfStringToStore, extractRpUriFromRpString,
2+
addRdfStringToStore,
3+
convertUserProfileToTurtle,
4+
extractRpUriFromRpString,
35
printDatasetAsTurtle,
46
printStoreAsTurtle,
57
runSparqlAskQueryOnStore,
@@ -17,8 +19,9 @@ export const ValidationResult = {
1719
UNDETERMINABLE: "undeterminable"
1820
}
1921

20-
export async function validateSingleDatafieldValue() {
21-
// TODO
22+
export async function validateSingleDatafieldValue(singleDatafieldTriple, datafieldsStr) {
23+
let adHocMiniUserProfileTurtle = await convertUserProfileToTurtle(singleDatafieldTriple)
24+
return validateUserProfile(adHocMiniUserProfileTurtle, datafieldsStr)
2225
}
2326

2427
export async function validateUserProfile(userProfile, datafieldsStr, debug = false) {
@@ -35,9 +38,12 @@ export async function validateUserProfile(userProfile, datafieldsStr, debug = fa
3538
await addRdfStringToStore(datafieldsStr, store)
3639

3740
let report = await runValidationOnStore(store)
38-
3941
if (debug) printDatasetAsTurtle(report.dataset)
40-
return report.conforms
42+
43+
return {
44+
conforms: report.conforms,
45+
violations: collectViolations(report, false)
46+
}
4147
}
4248

4349
export async function validateAll(userProfileStr, requirementProfiles, datafieldsStr, materializationStr, debug = false) {

0 commit comments

Comments
 (0)