parent
78cadc3eb8
commit
0d185e5649
@ -0,0 +1,14 @@ |
|||||||
|
import type { ContextDefinition, ExpandedTermDefinition } from "jsonld"; |
||||||
|
|
||||||
|
export interface LdoJsonldContext extends ContextDefinition { |
||||||
|
[key: string]: |
||||||
|
| null |
||||||
|
| string |
||||||
|
| LdoJsonldContextExpandedTermDefinition |
||||||
|
| LdoJsonldContext[keyof LdoJsonldContext]; |
||||||
|
} |
||||||
|
|
||||||
|
export type LdoJsonldContextExpandedTermDefinition = ExpandedTermDefinition & { |
||||||
|
"@isCollection": boolean; |
||||||
|
"@isOptional": boolean; |
||||||
|
}; |
@ -0,0 +1,226 @@ |
|||||||
|
import type { ContextDefinition } from "jsonld"; |
||||||
|
import type { Schema } from "shexj"; |
||||||
|
import type { LdoJsonldContext } from "../src/LdoJsonldContext"; |
||||||
|
|
||||||
|
export interface Bender { |
||||||
|
"@id"?: string; |
||||||
|
"@context"?: ContextDefinition; |
||||||
|
type: "Bender"; |
||||||
|
element: Element; |
||||||
|
friend: (Bender | NonBender | Avatar)[]; |
||||||
|
} |
||||||
|
|
||||||
|
export interface Avatar { |
||||||
|
"@id"?: string; |
||||||
|
"@context"?: ContextDefinition; |
||||||
|
type: "Avatar"; |
||||||
|
element: Element[]; |
||||||
|
friend: (Bender | NonBender | Avatar)[]; |
||||||
|
} |
||||||
|
|
||||||
|
export interface NonBender { |
||||||
|
"@id"?: string; |
||||||
|
"@context"?: ContextDefinition; |
||||||
|
type: "Avatar"; |
||||||
|
friend: (Bender | NonBender | Avatar)[]; |
||||||
|
} |
||||||
|
|
||||||
|
export type Element = |
||||||
|
| { |
||||||
|
"@id": "VideoObject"; |
||||||
|
} |
||||||
|
| { |
||||||
|
"@id": "ImageObject"; |
||||||
|
} |
||||||
|
| { |
||||||
|
"@id": "MediaObject"; |
||||||
|
} |
||||||
|
| { |
||||||
|
"@id": "CreativeWork"; |
||||||
|
}; |
||||||
|
|
||||||
|
// No need to fully define the schema because this library doesn't use it
|
||||||
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
// @ts-ignore
|
||||||
|
export const patientSchema: Schema = {}; |
||||||
|
|
||||||
|
export const patientContext: LdoJsonldContext = { |
||||||
|
Bender: { |
||||||
|
"@id": "https://example.com/Bender", |
||||||
|
"@context": { |
||||||
|
type: { |
||||||
|
"@id": "@type", |
||||||
|
}, |
||||||
|
element: { |
||||||
|
"@id": "https://example.com/element", |
||||||
|
}, |
||||||
|
friend: { |
||||||
|
"@id": "https://example.com/friend", |
||||||
|
} |
||||||
|
}, |
||||||
|
}, |
||||||
|
|
||||||
|
Patient: "http://hl7.org/fhir/Patient", |
||||||
|
subject: { "@id": "http://hl7.org/fhir/subject", "@type": "@id" }, |
||||||
|
name: { |
||||||
|
"@id": "http://hl7.org/fhir/name", |
||||||
|
"@type": "http://www.w3.org/2001/XMLSchema#string", |
||||||
|
"@container": "@set", |
||||||
|
}, |
||||||
|
langName: { |
||||||
|
"@id": "http://hl7.org/fhir/langName", |
||||||
|
"@type": "http://www.w3.org/1999/02/22-rdf-syntax-ns#langString", |
||||||
|
"@container": "@set", |
||||||
|
}, |
||||||
|
birthdate: { |
||||||
|
"@id": "http://hl7.org/fhir/birthdate", |
||||||
|
"@type": "http://www.w3.org/2001/XMLSchema#date", |
||||||
|
}, |
||||||
|
age: { |
||||||
|
"@id": "http://hl7.org/fhir/age", |
||||||
|
"@type": "http://www.w3.org/2001/XMLSchema#integer", |
||||||
|
}, |
||||||
|
isHappy: { |
||||||
|
"@id": "http://hl7.org/fhir/isHappy", |
||||||
|
"@type": "http://www.w3.org/2001/XMLSchema#boolean", |
||||||
|
}, |
||||||
|
roommate: { |
||||||
|
"@id": "http://hl7.org/fhir/roommate", |
||||||
|
"@type": "@id", |
||||||
|
"@container": "@set", |
||||||
|
}, |
||||||
|
notes: { |
||||||
|
"@id": "http://hl7.org/fhir/notes", |
||||||
|
"@type": "http://www.w3.org/2001/XMLSchema#string", |
||||||
|
}, |
||||||
|
langNotes: { |
||||||
|
"@id": "http://hl7.org/fhir/langNotes", |
||||||
|
"@type": "http://www.w3.org/1999/02/22-rdf-syntax-ns#langString", |
||||||
|
}, |
||||||
|
}; |
||||||
|
|
||||||
|
export const patientData = ` |
||||||
|
@prefix example: <http://example.com/> . |
||||||
|
@prefix fhir: <http://hl7.org/fhir/> . |
||||||
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . |
||||||
|
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . |
||||||
|
|
||||||
|
example:Observation1 |
||||||
|
fhir:notes "Cool Notes"^^xsd:string ; |
||||||
|
fhir:subject example:Patient1 . |
||||||
|
|
||||||
|
example:Patient1 |
||||||
|
rdf:type fhir:Patient ;
|
||||||
|
fhir:name "Garrett"^^xsd:string, "Bobby"^^xsd:string, "Ferguson"^^xsd:string ; |
||||||
|
fhir:birthdate "1986-01-01"^^xsd:date ; |
||||||
|
fhir:age "35"^^xsd:integer ; |
||||||
|
fhir:isHappy "true"^^xsd:boolean ; |
||||||
|
fhir:roommate example:Patient2, example:Patient3 . |
||||||
|
|
||||||
|
example:Patient2 |
||||||
|
rdf:type fhir:Patient ;
|
||||||
|
fhir:name "Rob"^^xsd:string ; |
||||||
|
fhir:birthdate "1987-01-01"^^xsd:date ; |
||||||
|
fhir:age "34"^^xsd:integer ; |
||||||
|
fhir:isHappy "false"^^xsd:boolean ; |
||||||
|
fhir:roommate example:Patient1, example:Patient3 . |
||||||
|
|
||||||
|
example:Patient3 |
||||||
|
rdf:type fhir:Patient ;
|
||||||
|
fhir:name "Amy"^^xsd:string ; |
||||||
|
fhir:birthdate "1988-01-01"^^xsd:date ; |
||||||
|
fhir:age "33"^^xsd:integer ; |
||||||
|
fhir:isHappy "true"^^xsd:boolean . |
||||||
|
`;
|
||||||
|
|
||||||
|
export const patientDataWithBlankNodes = ` |
||||||
|
@prefix example: <http://example.com/> . |
||||||
|
@prefix fhir: <http://hl7.org/fhir/> . |
||||||
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . |
||||||
|
|
||||||
|
example:Observation1 |
||||||
|
fhir:notes "Cool Notes"^^xsd:string ; |
||||||
|
fhir:subject _:Patient1 . |
||||||
|
|
||||||
|
_:Patient1 |
||||||
|
fhir:name "Garrett"^^xsd:string, "Bobby"^^xsd:string, "Ferguson"^^xsd:string ; |
||||||
|
fhir:birthdate "1986-01-01"^^xsd:date ; |
||||||
|
fhir:age "35"^^xsd:integer ; |
||||||
|
fhir:isHappy "true"^^xsd:boolean ; |
||||||
|
fhir:roommate _:Patient2, _:Patient3 . |
||||||
|
|
||||||
|
_:Patient2 |
||||||
|
fhir:name "Rob"^^xsd:string ; |
||||||
|
fhir:birthdate "1987-01-01"^^xsd:date ; |
||||||
|
fhir:age "34"^^xsd:integer ; |
||||||
|
fhir:isHappy "false"^^xsd:boolean ; |
||||||
|
fhir:roommate _:Patient1, _:Patient3 . |
||||||
|
|
||||||
|
_:Patient3 |
||||||
|
fhir:name "Amy"^^xsd:string ; |
||||||
|
fhir:birthdate "1988-01-01"^^xsd:date ; |
||||||
|
fhir:age "33"^^xsd:integer ; |
||||||
|
fhir:isHappy "true"^^xsd:boolean . |
||||||
|
`;
|
||||||
|
|
||||||
|
export const tinyPatientData = ` |
||||||
|
@prefix example: <http://example.com/> . |
||||||
|
@prefix fhir: <http://hl7.org/fhir/> . |
||||||
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . |
||||||
|
|
||||||
|
example:Observation1 |
||||||
|
fhir:subject example:Patient1 . |
||||||
|
|
||||||
|
example:Patient1 |
||||||
|
fhir:name "Garrett"^^xsd:string ; |
||||||
|
fhir:roommate example:Patient2 . |
||||||
|
|
||||||
|
example:Patient2 |
||||||
|
fhir:name "Rob"^^xsd:string ; |
||||||
|
fhir:roommate example:Patient1 . |
||||||
|
`;
|
||||||
|
|
||||||
|
export const tinyArrayPatientData = ` |
||||||
|
@prefix example: <http://example.com/> . |
||||||
|
@prefix fhir: <http://hl7.org/fhir/> . |
||||||
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . |
||||||
|
|
||||||
|
example:Patient1 |
||||||
|
fhir:name "Garrett"^^xsd:string, "Bobby"^^xsd:string, "Ferguson"^^xsd:string . |
||||||
|
`;
|
||||||
|
|
||||||
|
export const tinyPatientDataWithBlankNodes = ` |
||||||
|
@prefix example: <http://example.com/> . |
||||||
|
@prefix fhir: <http://hl7.org/fhir/> . |
||||||
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . |
||||||
|
|
||||||
|
example:Observation1 |
||||||
|
fhir:subject _:Patient1 . |
||||||
|
|
||||||
|
_:Patient1 |
||||||
|
fhir:name "Garrett"^^xsd:string ; |
||||||
|
fhir:roommate _:Patient2 . |
||||||
|
|
||||||
|
_:Patient2 |
||||||
|
fhir:name "Rob"^^xsd:string ; |
||||||
|
fhir:roommate _:Patient1 . |
||||||
|
`;
|
||||||
|
|
||||||
|
export const tinyPatientDataWithLanguageTags = ` |
||||||
|
@prefix example: <http://example.com/> . |
||||||
|
@prefix fhir: <http://hl7.org/fhir/> . |
||||||
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . |
||||||
|
|
||||||
|
example:Observation1 |
||||||
|
fhir:subject example:Patient1 ; |
||||||
|
fhir:langNotes "Cool Notes" ; |
||||||
|
fhir:langNotes "Cooler Notes"@en ; |
||||||
|
fhir:langNotes "Notas Geniales"@es ; |
||||||
|
fhir:langNotes "Notes Sympas"@fr . |
||||||
|
|
||||||
|
example:Patient1 |
||||||
|
fhir:langName "Jon" ; |
||||||
|
fhir:langName "John"@en ; |
||||||
|
fhir:langName "Juan"@es ; |
||||||
|
fhir:langName "Jean"@fr . |
||||||
|
`;
|
Loading…
Reference in new issue