diff --git a/deno.jsonc b/deno.jsonc index 0c88efd..3daecd1 100644 --- a/deno.jsonc +++ b/deno.jsonc @@ -6,7 +6,7 @@ "./sparql": "./sparql.ts", "./utils": "./utils.ts", "./executor": "./executor.ts", - "./builder": "./builder", + "./builder": "./builder.ts", "./patterns/cypher": "./patterns/cypher.ts", "./patterns/objects": "./patterns/objects.ts", "./patterns/triples": "./patterns/triples.ts", diff --git a/patterns/triples.ts b/patterns/triples.ts index 0de52ea..a169627 100644 --- a/patterns/triples.ts +++ b/patterns/triples.ts @@ -1,4 +1,5 @@ -import { exprTermString, raw, type SparqlValue, type ExpressionPrimitive } from '../sparql.ts' +import { raw, type SparqlValue } from '../sparql.ts' +import { exprTermString, type ExpressionPrimitive } from '../utils.ts' /** * Triple pattern component (subject, predicate, or object) diff --git a/types/narrative/Actor.ts b/types/narrative/Actor.ts deleted file mode 100644 index c528614..0000000 --- a/types/narrative/Actor.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Actor extends narrative_Performer { - '@id': IRI<'narrative:Actor'> - '@type': 'narrative:Actor' - - -} - -/** - * Valid properties for Actor class - */ -export type ActorProperty = - -/** - * Type guard for Actor properties - */ -export function isActorProperty(property: string): property is ActorProperty { - const validProperties: ActorProperty[] = [ - - ] - return validProperties.includes(property as ActorProperty) -} diff --git a/types/narrative/AllianceRelationship.ts b/types/narrative/AllianceRelationship.ts deleted file mode 100644 index 32a195f..0000000 --- a/types/narrative/AllianceRelationship.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface AllianceRelationship extends narrative_CharacterRelationship { - '@id': IRI<'narrative:AllianceRelationship'> - '@type': 'narrative:AllianceRelationship' - - -} - -/** - * Valid properties for AllianceRelationship class - */ -export type AllianceRelationshipProperty = - -/** - * Type guard for AllianceRelationship properties - */ -export function isAllianceRelationshipProperty(property: string): property is AllianceRelationshipProperty { - const validProperties: AllianceRelationshipProperty[] = [ - - ] - return validProperties.includes(property as AllianceRelationshipProperty) -} diff --git a/types/narrative/AlternateSelf.ts b/types/narrative/AlternateSelf.ts deleted file mode 100644 index 2e925eb..0000000 --- a/types/narrative/AlternateSelf.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface AlternateSelf extends narrative_SupernaturalRelationship { - '@id': IRI<'narrative:AlternateSelf'> - '@type': 'narrative:AlternateSelf' - - -} - -/** - * Valid properties for AlternateSelf class - */ -export type AlternateSelfProperty = - -/** - * Type guard for AlternateSelf properties - */ -export function isAlternateSelfProperty(property: string): property is AlternateSelfProperty { - const validProperties: AlternateSelfProperty[] = [ - - ] - return validProperties.includes(property as AlternateSelfProperty) -} diff --git a/types/narrative/Artist.ts b/types/narrative/Artist.ts deleted file mode 100644 index a1b9f2c..0000000 --- a/types/narrative/Artist.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Artist extends narrative_Role { - '@id': IRI<'narrative:Artist'> - '@type': 'narrative:Artist' - - /** - * Art style or technique - */ - 'narrative:artStyle': string[] | undefined - - /** - * Traditional, Digital, Mixed Media, etc. - */ - 'narrative:primaryMedium': string[] | undefined - - /** - * Artistic influences - */ - 'narrative:influences': string[] | undefined -} - -/** - * Valid properties for Artist class - */ -export type ArtistProperty = 'narrative:artStyle' | 'narrative:primaryMedium' | 'narrative:influences' - -/** - * Type guard for Artist properties - */ -export function isArtistProperty(property: string): property is ArtistProperty { - const validProperties: ArtistProperty[] = [ - 'narrative:artStyle', - 'narrative:primaryMedium', - 'narrative:influences' - ] - return validProperties.includes(property as ArtistProperty) -} diff --git a/types/narrative/Character.ts b/types/narrative/Character.ts deleted file mode 100644 index a72432b..0000000 --- a/types/narrative/Character.ts +++ /dev/null @@ -1,179 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Character { - '@id': IRI<'narrative:Character'> - '@type': 'narrative:Character' - - 'narrative:belongsToFranchise': IRI<'narrative:Franchise'>[] | undefined - - 'narrative:existsInUniverse': IRI<'narrative:Universe'>[] | undefined - - /** - * Team memberships - */ - 'narrative:affiliation': IRI<'narrative:Group'>[] | undefined - - /** - * Arch-enemies and rivals - */ - 'narrative:enemies': IRI<'narrative:Character'> | IRI<'narrative:Group'>[] | undefined - - /** - * Friends and allies - */ - 'narrative:allies': IRI<'narrative:Character'> | IRI<'narrative:Group'>[] | undefined - - /** - * Issue of first appearance - */ - 'narrative:firstAppearanceIn': IRI<'narrative:StoryExpression'>[] | undefined - - 'narrative:hasCharacterRelationship': IRI<'narrative:CharacterRelationship'>[] | undefined - - /** - * Gender identity - */ - 'narrative:gender': string[] | undefined - - /** - * Active, Defunct, Acquired, Merged, etc. - */ - 'narrative:status': string[] | undefined - - /** - * Primary character name - */ - 'narrative:characterName': string[] | undefined - - /** - * Secret identity/civilian name - */ - 'narrative:realName': string[] | undefined - - /** - * Alternate identities, codenames, nicknames - */ - 'narrative:aliases': string[] | undefined - - /** - * Hero, Villain, Anti-Hero, Supporting, Civilian, etc. - */ - 'narrative:characterType': string[] | undefined - - /** - * Human, Mutant, Alien, God, Robot, etc. - */ - 'narrative:species': string[] | undefined - - /** - * Character height - */ - 'narrative:height': string[] | undefined - - /** - * Character weight - */ - 'narrative:weight': string[] | undefined - - /** - * Eye color - */ - 'narrative:eyeColor': string[] | undefined - - /** - * Hair color - */ - 'narrative:hairColor': string[] | undefined - - /** - * Superpowers and special abilities - */ - 'narrative:powers': string[] | undefined - - /** - * Skills, training, expertise - */ - 'narrative:abilities': string[] | undefined - - /** - * Street Level, City Level, Global, Cosmic, etc. - */ - 'narrative:powerLevel': string[] | undefined - - /** - * Signature weapons and equipment - */ - 'narrative:weapons': string[] | undefined - - /** - * Origin story summary - */ - 'narrative:origin': string[] | undefined - - /** - * Job/profession - */ - 'narrative:occupation': string[] | undefined - - /** - * Home city or base location - */ - 'narrative:baseOfOperations': string[] | undefined - - /** - * Where character was born - */ - 'narrative:placeOfBirth': string[] | undefined - - /** - * Character biography - */ - 'narrative:bio': string[] | undefined -} - -/** - * Valid properties for Character class - */ -export type CharacterProperty = 'narrative:belongsToFranchise' | 'narrative:existsInUniverse' | 'narrative:affiliation' | 'narrative:enemies' | 'narrative:allies' | 'narrative:firstAppearanceIn' | 'narrative:hasCharacterRelationship' | 'narrative:gender' | 'narrative:status' | 'narrative:characterName' | 'narrative:realName' | 'narrative:aliases' | 'narrative:characterType' | 'narrative:species' | 'narrative:height' | 'narrative:weight' | 'narrative:eyeColor' | 'narrative:hairColor' | 'narrative:powers' | 'narrative:abilities' | 'narrative:powerLevel' | 'narrative:weapons' | 'narrative:origin' | 'narrative:occupation' | 'narrative:baseOfOperations' | 'narrative:placeOfBirth' | 'narrative:bio' - -/** - * Type guard for Character properties - */ -export function isCharacterProperty(property: string): property is CharacterProperty { - const validProperties: CharacterProperty[] = [ - 'narrative:belongsToFranchise', - 'narrative:existsInUniverse', - 'narrative:affiliation', - 'narrative:enemies', - 'narrative:allies', - 'narrative:firstAppearanceIn', - 'narrative:hasCharacterRelationship', - 'narrative:gender', - 'narrative:status', - 'narrative:characterName', - 'narrative:realName', - 'narrative:aliases', - 'narrative:characterType', - 'narrative:species', - 'narrative:height', - 'narrative:weight', - 'narrative:eyeColor', - 'narrative:hairColor', - 'narrative:powers', - 'narrative:abilities', - 'narrative:powerLevel', - 'narrative:weapons', - 'narrative:origin', - 'narrative:occupation', - 'narrative:baseOfOperations', - 'narrative:placeOfBirth', - 'narrative:bio' - ] - return validProperties.includes(property as CharacterProperty) -} diff --git a/types/narrative/CharacterRelationship.ts b/types/narrative/CharacterRelationship.ts deleted file mode 100644 index c82383f..0000000 --- a/types/narrative/CharacterRelationship.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface CharacterRelationship extends narrative_Relationship { - '@id': IRI<'narrative:CharacterRelationship'> - '@type': 'narrative:CharacterRelationship' - - 'narrative:involvesCharacter': IRI<'narrative:Character'>[] | undefined - - 'narrative:relationshipNotes': string[] | undefined - - 'narrative:relationshipType': string[] | undefined - - 'narrative:relationshipStatus': string[] | undefined - - 'narrative:relationshipStart': Date[] | undefined - - 'narrative:relationshipEnd': Date[] | undefined -} - -/** - * Valid properties for CharacterRelationship class - */ -export type CharacterRelationshipProperty = 'narrative:involvesCharacter' | 'narrative:relationshipNotes' | 'narrative:relationshipType' | 'narrative:relationshipStatus' | 'narrative:relationshipStart' | 'narrative:relationshipEnd' - -/** - * Type guard for CharacterRelationship properties - */ -export function isCharacterRelationshipProperty(property: string): property is CharacterRelationshipProperty { - const validProperties: CharacterRelationshipProperty[] = [ - 'narrative:involvesCharacter', - 'narrative:relationshipNotes', - 'narrative:relationshipType', - 'narrative:relationshipStatus', - 'narrative:relationshipStart', - 'narrative:relationshipEnd' - ] - return validProperties.includes(property as CharacterRelationshipProperty) -} diff --git a/types/narrative/Colorist.ts b/types/narrative/Colorist.ts deleted file mode 100644 index c7ff9c8..0000000 --- a/types/narrative/Colorist.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Colorist extends narrative_Artist { - '@id': IRI<'narrative:Colorist'> - '@type': 'narrative:Colorist' - - -} - -/** - * Valid properties for Colorist class - */ -export type ColoristProperty = - -/** - * Type guard for Colorist properties - */ -export function isColoristProperty(property: string): property is ColoristProperty { - const validProperties: ColoristProperty[] = [ - - ] - return validProperties.includes(property as ColoristProperty) -} diff --git a/types/narrative/CreditRelationship.ts b/types/narrative/CreditRelationship.ts deleted file mode 100644 index f5b15eb..0000000 --- a/types/narrative/CreditRelationship.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface CreditRelationship extends narrative_Relationship { - '@id': IRI<'narrative:CreditRelationship'> - '@type': 'narrative:CreditRelationship' - - 'narrative:creditsExpression': IRI<'narrative:StoryExpression'>[] | undefined - - 'narrative:creditRole': IRI<'narrative:Role'>[] | undefined - - 'narrative:creditedName': string[] | undefined - - 'narrative:creditType': string[] | undefined - - 'narrative:billingOrder': number[] | undefined - - /** - * Work-for-hire, Creator-owned, etc. - */ - 'narrative:contractType': string[] | undefined - - /** - * Whether contribution was uncredited - */ - 'narrative:uncredited': boolean[] | undefined -} - -/** - * Valid properties for CreditRelationship class - */ -export type CreditRelationshipProperty = 'narrative:creditsExpression' | 'narrative:creditRole' | 'narrative:creditedName' | 'narrative:creditType' | 'narrative:billingOrder' | 'narrative:contractType' | 'narrative:uncredited' - -/** - * Type guard for CreditRelationship properties - */ -export function isCreditRelationshipProperty(property: string): property is CreditRelationshipProperty { - const validProperties: CreditRelationshipProperty[] = [ - 'narrative:creditsExpression', - 'narrative:creditRole', - 'narrative:creditedName', - 'narrative:creditType', - 'narrative:billingOrder', - 'narrative:contractType', - 'narrative:uncredited' - ] - return validProperties.includes(property as CreditRelationshipProperty) -} diff --git a/types/narrative/Dancer.ts b/types/narrative/Dancer.ts deleted file mode 100644 index 0c41faa..0000000 --- a/types/narrative/Dancer.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Dancer extends narrative_Performer { - '@id': IRI<'narrative:Dancer'> - '@type': 'narrative:Dancer' - - -} - -/** - * Valid properties for Dancer class - */ -export type DancerProperty = - -/** - * Type guard for Dancer properties - */ -export function isDancerProperty(property: string): property is DancerProperty { - const validProperties: DancerProperty[] = [ - - ] - return validProperties.includes(property as DancerProperty) -} diff --git a/types/narrative/Director.ts b/types/narrative/Director.ts deleted file mode 100644 index 3dd4cda..0000000 --- a/types/narrative/Director.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Director extends narrative_Role { - '@id': IRI<'narrative:Director'> - '@type': 'narrative:Director' - - -} - -/** - * Valid properties for Director class - */ -export type DirectorProperty = - -/** - * Type guard for Director properties - */ -export function isDirectorProperty(property: string): property is DirectorProperty { - const validProperties: DirectorProperty[] = [ - - ] - return validProperties.includes(property as DirectorProperty) -} diff --git a/types/narrative/FamilyRelationship.ts b/types/narrative/FamilyRelationship.ts deleted file mode 100644 index ded70c8..0000000 --- a/types/narrative/FamilyRelationship.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface FamilyRelationship extends narrative_CharacterRelationship { - '@id': IRI<'narrative:FamilyRelationship'> - '@type': 'narrative:FamilyRelationship' - - /** - * Whether biological or adoptive/found family - */ - 'narrative:biologicalRelation': boolean[] | undefined - - /** - * Parent, Child, Sibling, Spouse, etc. - */ - 'narrative:familyRole': string[] | undefined -} - -/** - * Valid properties for FamilyRelationship class - */ -export type FamilyRelationshipProperty = 'narrative:biologicalRelation' | 'narrative:familyRole' - -/** - * Type guard for FamilyRelationship properties - */ -export function isFamilyRelationshipProperty(property: string): property is FamilyRelationshipProperty { - const validProperties: FamilyRelationshipProperty[] = [ - 'narrative:biologicalRelation', - 'narrative:familyRole' - ] - return validProperties.includes(property as FamilyRelationshipProperty) -} diff --git a/types/narrative/Franchise.ts b/types/narrative/Franchise.ts deleted file mode 100644 index ab86006..0000000 --- a/types/narrative/Franchise.ts +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Franchise { - '@id': IRI<'narrative:Franchise'> - '@type': 'narrative:Franchise' - - /** - * Larger franchise this is part of (e.g., Batman → DC Comics) - */ - 'narrative:parentFranchise': IRI<'narrative:Franchise'>[] | undefined - - /** - * Company that owns franchise rights - */ - 'narrative:owner': IRI<'narrative:Org'> | IRI<'n3-0'>[] | undefined - - /** - * Companies with licensing rights - */ - 'narrative:licensedTo': IRI<'narrative:Org'>[] | undefined - - /** - * Related or spin-off franchises - */ - 'narrative:relatedFranchise': IRI<'narrative:Franchise'>[] | undefined - - /** - * Main universe for franchise - */ - 'narrative:primaryUniverse': IRI<'narrative:Universe'>[] | undefined - - /** - * Name of franchise - */ - 'narrative:franchiseName': string[] | undefined - - /** - * Comics, Film, TV, Gaming, Multimedia, etc. - */ - 'narrative:franchiseType': string[] | undefined - - /** - * Year franchise began - */ - 'narrative:launched': number[] | undefined - - /** - * Active, Dormant, Concluded, Rebooted, etc. - */ - 'narrative:franchiseStatus': string[] | undefined - - /** - * Description of franchise - */ - 'narrative:franchiseDescription': string[] | undefined -} - -/** - * Valid properties for Franchise class - */ -export type FranchiseProperty = 'narrative:parentFranchise' | 'narrative:owner' | 'narrative:licensedTo' | 'narrative:relatedFranchise' | 'narrative:primaryUniverse' | 'narrative:franchiseName' | 'narrative:franchiseType' | 'narrative:launched' | 'narrative:franchiseStatus' | 'narrative:franchiseDescription' - -/** - * Type guard for Franchise properties - */ -export function isFranchiseProperty(property: string): property is FranchiseProperty { - const validProperties: FranchiseProperty[] = [ - 'narrative:parentFranchise', - 'narrative:owner', - 'narrative:licensedTo', - 'narrative:relatedFranchise', - 'narrative:primaryUniverse', - 'narrative:franchiseName', - 'narrative:franchiseType', - 'narrative:launched', - 'narrative:franchiseStatus', - 'narrative:franchiseDescription' - ] - return validProperties.includes(property as FranchiseProperty) -} diff --git a/types/narrative/FriendshipRelationship.ts b/types/narrative/FriendshipRelationship.ts deleted file mode 100644 index abf3495..0000000 --- a/types/narrative/FriendshipRelationship.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface FriendshipRelationship extends narrative_CharacterRelationship { - '@id': IRI<'narrative:FriendshipRelationship'> - '@type': 'narrative:FriendshipRelationship' - - -} - -/** - * Valid properties for FriendshipRelationship class - */ -export type FriendshipRelationshipProperty = - -/** - * Type guard for FriendshipRelationship properties - */ -export function isFriendshipRelationshipProperty(property: string): property is FriendshipRelationshipProperty { - const validProperties: FriendshipRelationshipProperty[] = [ - - ] - return validProperties.includes(property as FriendshipRelationshipProperty) -} diff --git a/types/narrative/Group.ts b/types/narrative/Group.ts deleted file mode 100644 index 3a5a95d..0000000 --- a/types/narrative/Group.ts +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Group { - '@id': IRI<'narrative:Group'> - '@type': 'narrative:Group' - - /** - * Arch-enemies and rivals - */ - 'narrative:enemies': IRI<'narrative:Character'> | IRI<'narrative:Group'>[] | undefined - - /** - * Friends and allies - */ - 'narrative:allies': IRI<'narrative:Character'> | IRI<'narrative:Group'>[] | undefined - - /** - * Current or historical leader - */ - 'narrative:leader': IRI<'narrative:Character'>[] | undefined - - /** - * Members of the group - */ - 'narrative:members': IRI<'narrative:Character'>[] | undefined - - /** - * Location of headquarters - */ - 'narrative:headquarters': string[] | undefined - - /** - * Official name of team/organization - */ - 'narrative:groupName': string[] | undefined - - /** - * Previous names - */ - 'narrative:formerNames': string[] | undefined - - /** - * Hero Team, Villain Organization, Government Agency, etc. - */ - 'narrative:groupType': string[] | undefined - - /** - * Good, Evil, Neutral, etc. - */ - 'narrative:alignment': string[] | undefined - - /** - * When group was founded (in-universe) - */ - 'narrative:formed': string[] | undefined - - /** - * When group disbanded (if applicable) - */ - 'narrative:disbanded': string[] | undefined - - /** - * Active, Disbanded, Reformed, etc. - */ - 'narrative:groupStatus': string[] | undefined - - /** - * Mission or purpose of group - */ - 'narrative:purpose': string[] | undefined -} - -/** - * Valid properties for Group class - */ -export type GroupProperty = 'narrative:enemies' | 'narrative:allies' | 'narrative:leader' | 'narrative:members' | 'narrative:headquarters' | 'narrative:groupName' | 'narrative:formerNames' | 'narrative:groupType' | 'narrative:alignment' | 'narrative:formed' | 'narrative:disbanded' | 'narrative:groupStatus' | 'narrative:purpose' - -/** - * Type guard for Group properties - */ -export function isGroupProperty(property: string): property is GroupProperty { - const validProperties: GroupProperty[] = [ - 'narrative:enemies', - 'narrative:allies', - 'narrative:leader', - 'narrative:members', - 'narrative:headquarters', - 'narrative:groupName', - 'narrative:formerNames', - 'narrative:groupType', - 'narrative:alignment', - 'narrative:formed', - 'narrative:disbanded', - 'narrative:groupStatus', - 'narrative:purpose' - ] - return validProperties.includes(property as GroupProperty) -} diff --git a/types/narrative/Inker.ts b/types/narrative/Inker.ts deleted file mode 100644 index de88a13..0000000 --- a/types/narrative/Inker.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Inker extends narrative_Artist { - '@id': IRI<'narrative:Inker'> - '@type': 'narrative:Inker' - - -} - -/** - * Valid properties for Inker class - */ -export type InkerProperty = - -/** - * Type guard for Inker properties - */ -export function isInkerProperty(property: string): property is InkerProperty { - const validProperties: InkerProperty[] = [ - - ] - return validProperties.includes(property as InkerProperty) -} diff --git a/types/narrative/Item.ts b/types/narrative/Item.ts deleted file mode 100644 index 090c899..0000000 --- a/types/narrative/Item.ts +++ /dev/null @@ -1,167 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Item { - '@id': IRI<'narrative:Item'> - '@type': 'narrative:Item' - - 'narrative:itemOf': IRI<'narrative:Manifestation'>[] | undefined - - /** - * Company that owns franchise rights - */ - 'narrative:owner': IRI<'narrative:Org'> | IRI<'n3-0'>[] | undefined - - /** - * Person(s) who signed this copy - */ - 'narrative:signedBy': IRI<'narrative:Person'>[] | undefined - - /** - * Person who currently has item checked out - */ - 'narrative:checkedOutTo': IRI<'narrative:Person'>[] | undefined - - /** - * Library barcode or collection tracking number - */ - 'narrative:barcode': string[] | undefined - - /** - * Condition description (CGC scale: Poor, Good, Fine, VF, NM, Mint) - */ - 'narrative:condition': string[] | undefined - - /** - * Whether item is professionally graded by CGC/CBCS - */ - 'narrative:cgcGraded': boolean[] | undefined - - /** - * Numeric grade (0.5 to 10.0) if CGC graded - */ - 'narrative:cgcGrade': number[] | undefined - - /** - * CGC/CBCS certification number - */ - 'narrative:certificationNumber': string[] | undefined - - /** - * Whether the item is signed - */ - 'narrative:signed': boolean[] | undefined - - /** - * Where signature appears (cover, interior, etc.) - */ - 'narrative:signatureLocation': string[] | undefined - - /** - * Whether signature is authenticated - */ - 'narrative:authenticated': boolean[] | undefined - - /** - * Date item was acquired - */ - 'narrative:acquisitionDate': Date[] | undefined - - /** - * Purchase price when acquired - */ - 'narrative:acquisitionPrice': number[] | undefined - - /** - * Current estimated market value of this specific copy - */ - 'narrative:currentValue': number[] | undefined - - /** - * Current market price for this condition/grade - */ - 'narrative:currentMarketPrice': number[] | undefined - - /** - * Manufacturer's Suggested Retail Price (original cover price) - */ - 'narrative:msrp': number[] | undefined - - /** - * Date of most recent valuation - */ - 'narrative:valuationDate': Date[] | undefined - - /** - * Physical location (shelf, box, row, etc.) - */ - 'narrative:location': string[] | undefined - - /** - * How stored (long box, short box, bag+board, slab, etc.) - */ - 'narrative:storageType': string[] | undefined - - /** - * Available, Checked Out, Reference Only, Lost, Damaged, etc. - */ - 'narrative:circulationStatus': string[] | undefined - - /** - * Due date for return if checked out - */ - 'narrative:dueDate': Date[] | undefined - - /** - * Free-form notes about this specific copy - */ - 'narrative:itemNotes': string[] | undefined - - /** - * Specific defects (spine stress, corner crease, water damage, etc.) - */ - 'narrative:defects': string[] | undefined -} - -/** - * Valid properties for Item class - */ -export type ItemProperty = 'narrative:itemOf' | 'narrative:owner' | 'narrative:signedBy' | 'narrative:checkedOutTo' | 'narrative:barcode' | 'narrative:condition' | 'narrative:cgcGraded' | 'narrative:cgcGrade' | 'narrative:certificationNumber' | 'narrative:signed' | 'narrative:signatureLocation' | 'narrative:authenticated' | 'narrative:acquisitionDate' | 'narrative:acquisitionPrice' | 'narrative:currentValue' | 'narrative:currentMarketPrice' | 'narrative:msrp' | 'narrative:valuationDate' | 'narrative:location' | 'narrative:storageType' | 'narrative:circulationStatus' | 'narrative:dueDate' | 'narrative:itemNotes' | 'narrative:defects' - -/** - * Type guard for Item properties - */ -export function isItemProperty(property: string): property is ItemProperty { - const validProperties: ItemProperty[] = [ - 'narrative:itemOf', - 'narrative:owner', - 'narrative:signedBy', - 'narrative:checkedOutTo', - 'narrative:barcode', - 'narrative:condition', - 'narrative:cgcGraded', - 'narrative:cgcGrade', - 'narrative:certificationNumber', - 'narrative:signed', - 'narrative:signatureLocation', - 'narrative:authenticated', - 'narrative:acquisitionDate', - 'narrative:acquisitionPrice', - 'narrative:currentValue', - 'narrative:currentMarketPrice', - 'narrative:msrp', - 'narrative:valuationDate', - 'narrative:location', - 'narrative:storageType', - 'narrative:circulationStatus', - 'narrative:dueDate', - 'narrative:itemNotes', - 'narrative:defects' - ] - return validProperties.includes(property as ItemProperty) -} diff --git a/types/narrative/Letterer.ts b/types/narrative/Letterer.ts deleted file mode 100644 index 31450e1..0000000 --- a/types/narrative/Letterer.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Letterer extends narrative_Artist { - '@id': IRI<'narrative:Letterer'> - '@type': 'narrative:Letterer' - - -} - -/** - * Valid properties for Letterer class - */ -export type LettererProperty = - -/** - * Type guard for Letterer properties - */ -export function isLettererProperty(property: string): property is LettererProperty { - const validProperties: LettererProperty[] = [ - - ] - return validProperties.includes(property as LettererProperty) -} diff --git a/types/narrative/Manifestation.ts b/types/narrative/Manifestation.ts deleted file mode 100644 index 3808aad..0000000 --- a/types/narrative/Manifestation.ts +++ /dev/null @@ -1,128 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Manifestation { - '@id': IRI<'narrative:Manifestation'> - '@type': 'narrative:Manifestation' - - 'narrative:manifestationOf': IRI<'narrative:Product'>[] | undefined - - 'narrative:hasItem': IRI<'narrative:Item'>[] | undefined - - /** - * Original manifestation being reprinted - */ - 'narrative:reprintOf': IRI<'narrative:Manifestation'>[] | undefined - - /** - * Artist who created the cover - */ - 'narrative:coverArtist': IRI<'narrative:Person'>[] | undefined - - /** - * Distribution company (Diamond, Lunar, etc.) - */ - 'narrative:distributor': IRI<'narrative:Org'>[] | undefined - - /** - * Single Issue, Trade Paperback, Hardcover, Omnibus, Digital, etc. - */ - 'narrative:format': string[] | undefined - - /** - * First Edition, Second Printing, Deluxe Edition, etc. - */ - 'narrative:edition': string[] | undefined - - /** - * Number of copies printed - */ - 'narrative:printRun': number[] | undefined - - /** - * Saddle-Stitched, Perfect Bound, Hardcover, etc. - */ - 'narrative:binding': string[] | undefined - - /** - * Physical dimensions (6.625 x 10.25 inches, etc.) - */ - 'narrative:trim': string[] | undefined - - /** - * Paper type and quality - */ - 'narrative:paperStock': string[] | undefined - - /** - * Cover material and finish - */ - 'narrative:coverStock': string[] | undefined - - /** - * Offset, Digital, Letterpress, etc. - */ - 'narrative:printingProcess': string[] | undefined - - /** - * Date this printing was produced - */ - 'narrative:printDate': Date[] | undefined - - /** - * Whether this is a reprint - */ - 'narrative:reprinted': boolean[] | undefined - - /** - * Variant type (Cover A/B, Retailer Incentive, Ratio 1:25, etc.) - */ - 'narrative:variant': string[] | undefined - - /** - * Sketch pages, interviews, extras included - */ - 'narrative:specialFeatures': string[] | undefined - - /** - * Convention exclusive, limited distribution, etc. - */ - 'narrative:restricted': boolean[] | undefined -} - -/** - * Valid properties for Manifestation class - */ -export type ManifestationProperty = 'narrative:manifestationOf' | 'narrative:hasItem' | 'narrative:reprintOf' | 'narrative:coverArtist' | 'narrative:distributor' | 'narrative:format' | 'narrative:edition' | 'narrative:printRun' | 'narrative:binding' | 'narrative:trim' | 'narrative:paperStock' | 'narrative:coverStock' | 'narrative:printingProcess' | 'narrative:printDate' | 'narrative:reprinted' | 'narrative:variant' | 'narrative:specialFeatures' | 'narrative:restricted' - -/** - * Type guard for Manifestation properties - */ -export function isManifestationProperty(property: string): property is ManifestationProperty { - const validProperties: ManifestationProperty[] = [ - 'narrative:manifestationOf', - 'narrative:hasItem', - 'narrative:reprintOf', - 'narrative:coverArtist', - 'narrative:distributor', - 'narrative:format', - 'narrative:edition', - 'narrative:printRun', - 'narrative:binding', - 'narrative:trim', - 'narrative:paperStock', - 'narrative:coverStock', - 'narrative:printingProcess', - 'narrative:printDate', - 'narrative:reprinted', - 'narrative:variant', - 'narrative:specialFeatures', - 'narrative:restricted' - ] - return validProperties.includes(property as ManifestationProperty) -} diff --git a/types/narrative/NarrativeUnit.ts b/types/narrative/NarrativeUnit.ts deleted file mode 100644 index 4f10020..0000000 --- a/types/narrative/NarrativeUnit.ts +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface NarrativeUnit { - '@id': IRI<'narrative:NarrativeUnit'> - '@type': 'narrative:NarrativeUnit' - - 'narrative:narrativeUnitOf': IRI<'narrative:StoryExpression'>[] | undefined - - 'narrative:hasProduct': IRI<'narrative:Product'>[] | undefined - - /** - * Issues that comprise this arc - */ - 'narrative:spans': IRI<'narrative:StoryExpression'>[] | undefined - - /** - * Main characters in this arc - */ - 'narrative:featuredCharacters': IRI<'narrative:Character'>[] | undefined - - /** - * Larger event this arc is part of - */ - 'narrative:partOfEvent': IRI<'narrative:NarrativeUnit'>[] | undefined - - /** - * Next arc in sequence - */ - 'narrative:followedBy': IRI<'narrative:NarrativeUnit'>[] | undefined - - /** - * Name of story arc - */ - 'narrative:arcName': string[] | undefined - - /** - * Arc, Saga, Event, Crossover, etc. - */ - 'narrative:arcType': string[] | undefined - - /** - * Part number within larger story - */ - 'narrative:partNumber': number[] | undefined - - /** - * Total parts in complete arc - */ - 'narrative:totalParts': number[] | undefined - - /** - * Summary of story arc - */ - 'narrative:arcSummary': string[] | undefined -} - -/** - * Valid properties for NarrativeUnit class - */ -export type NarrativeUnitProperty = 'narrative:narrativeUnitOf' | 'narrative:hasProduct' | 'narrative:spans' | 'narrative:featuredCharacters' | 'narrative:partOfEvent' | 'narrative:followedBy' | 'narrative:arcName' | 'narrative:arcType' | 'narrative:partNumber' | 'narrative:totalParts' | 'narrative:arcSummary' - -/** - * Type guard for NarrativeUnit properties - */ -export function isNarrativeUnitProperty(property: string): property is NarrativeUnitProperty { - const validProperties: NarrativeUnitProperty[] = [ - 'narrative:narrativeUnitOf', - 'narrative:hasProduct', - 'narrative:spans', - 'narrative:featuredCharacters', - 'narrative:partOfEvent', - 'narrative:followedBy', - 'narrative:arcName', - 'narrative:arcType', - 'narrative:partNumber', - 'narrative:totalParts', - 'narrative:arcSummary' - ] - return validProperties.includes(property as NarrativeUnitProperty) -} diff --git a/types/narrative/Org.ts b/types/narrative/Org.ts deleted file mode 100644 index 1f0cf3f..0000000 --- a/types/narrative/Org.ts +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Org { - '@id': IRI<'narrative:Org'> - '@type': 'narrative:Org' - - 'narrative:employs': IRI<'narrative:Person'>[] | undefined - - 'narrative:hasMember': IRI<'narrative:Person'>[] | undefined - - /** - * Parent organization - */ - 'narrative:parentCompany': IRI<'narrative:Org'>[] | undefined - - /** - * Subsidiary organizations - */ - 'narrative:subsidiary': IRI<'narrative:Org'>[] | undefined - - /** - * Legal registered name of organization - */ - 'narrative:legalName': string[] | undefined - - /** - * Abbreviated name (e.g., 'DC' for 'DC Comics') - */ - 'narrative:shortName': string[] | undefined - - /** - * Publisher, Imprint, Studio, Convention, etc. - */ - 'narrative:orgType': string[] | undefined - - /** - * Date organization was founded - */ - 'narrative:founded': Date[] | undefined - - /** - * Date organization ceased operations - */ - 'narrative:dissolved': Date[] | undefined - - /** - * Active, Defunct, Acquired, Merged, etc. - */ - 'narrative:status': string[] | undefined - - /** - * Location of headquarters - */ - 'narrative:headquarters': string[] | undefined - - /** - * Country of operation - */ - 'narrative:country': string[] | undefined - - /** - * Comics, Animation, Film, Gaming, etc. - */ - 'narrative:industry': string[] | undefined - - /** - * Annual revenue - */ - 'narrative:revenue': number[] | undefined - - /** - * Number of employees - */ - 'narrative:employeeCount': number[] | undefined -} - -/** - * Valid properties for Org class - */ -export type OrgProperty = 'narrative:employs' | 'narrative:hasMember' | 'narrative:parentCompany' | 'narrative:subsidiary' | 'narrative:legalName' | 'narrative:shortName' | 'narrative:orgType' | 'narrative:founded' | 'narrative:dissolved' | 'narrative:status' | 'narrative:headquarters' | 'narrative:country' | 'narrative:industry' | 'narrative:revenue' | 'narrative:employeeCount' - -/** - * Type guard for Org properties - */ -export function isOrgProperty(property: string): property is OrgProperty { - const validProperties: OrgProperty[] = [ - 'narrative:employs', - 'narrative:hasMember', - 'narrative:parentCompany', - 'narrative:subsidiary', - 'narrative:legalName', - 'narrative:shortName', - 'narrative:orgType', - 'narrative:founded', - 'narrative:dissolved', - 'narrative:status', - 'narrative:headquarters', - 'narrative:country', - 'narrative:industry', - 'narrative:revenue', - 'narrative:employeeCount' - ] - return validProperties.includes(property as OrgProperty) -} diff --git a/types/narrative/ParentChild.ts b/types/narrative/ParentChild.ts deleted file mode 100644 index 65050e3..0000000 --- a/types/narrative/ParentChild.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface ParentChild extends narrative_FamilyRelationship { - '@id': IRI<'narrative:ParentChild'> - '@type': 'narrative:ParentChild' - - -} - -/** - * Valid properties for ParentChild class - */ -export type ParentChildProperty = - -/** - * Type guard for ParentChild properties - */ -export function isParentChildProperty(property: string): property is ParentChildProperty { - const validProperties: ParentChildProperty[] = [ - - ] - return validProperties.includes(property as ParentChildProperty) -} diff --git a/types/narrative/Penciller.ts b/types/narrative/Penciller.ts deleted file mode 100644 index 450921e..0000000 --- a/types/narrative/Penciller.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Penciller extends narrative_Artist { - '@id': IRI<'narrative:Penciller'> - '@type': 'narrative:Penciller' - - -} - -/** - * Valid properties for Penciller class - */ -export type PencillerProperty = - -/** - * Type guard for Penciller properties - */ -export function isPencillerProperty(property: string): property is PencillerProperty { - const validProperties: PencillerProperty[] = [ - - ] - return validProperties.includes(property as PencillerProperty) -} diff --git a/types/narrative/Performer.ts b/types/narrative/Performer.ts deleted file mode 100644 index 7efed69..0000000 --- a/types/narrative/Performer.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Performer extends narrative_Role { - '@id': IRI<'narrative:Performer'> - '@type': 'narrative:Performer' - - -} - -/** - * Valid properties for Performer class - */ -export type PerformerProperty = - -/** - * Type guard for Performer properties - */ -export function isPerformerProperty(property: string): property is PerformerProperty { - const validProperties: PerformerProperty[] = [ - - ] - return validProperties.includes(property as PerformerProperty) -} diff --git a/types/narrative/Person.ts b/types/narrative/Person.ts deleted file mode 100644 index 7dbf54e..0000000 --- a/types/narrative/Person.ts +++ /dev/null @@ -1,143 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Person { - '@id': IRI<'narrative:Person'> - '@type': 'narrative:Person' - - 'narrative:worksFor': IRI<'narrative:Org'>[] | undefined - - 'narrative:memberOf': IRI<'narrative:Org'>[] | undefined - - /** - * Primary creative role (writer, artist, etc.) - */ - 'narrative:primaryRole': IRI<'narrative:Role'>[] | undefined - - 'narrative:hasWorkedWithRelationship': IRI<'narrative:WorkedWithRelationship'>[] | undefined - - 'narrative:hasCreditRelationship': IRI<'narrative:CreditRelationship'>[] | undefined - - 'narrative:hasPortrayalRelationship': IRI<'narrative:PortrayalRelationship'>[] | undefined - - /** - * Full legal birth name - */ - 'narrative:birthName': string[] | undefined - - /** - * Common name or professional name - */ - 'narrative:knownAs': string[] | undefined - - /** - * Pen names, pseudonyms, stage names (repeatable) - */ - 'narrative:alias': string[] | undefined - - /** - * Date of birth - */ - 'narrative:birthDate': Date[] | undefined - - /** - * Date of death (if deceased) - */ - 'narrative:deathDate': Date[] | undefined - - /** - * City, state/province, country of birth - */ - 'narrative:birthPlace': string[] | undefined - - /** - * Country of citizenship - */ - 'narrative:nationality': string[] | undefined - - /** - * Gender identity - */ - 'narrative:gender': string[] | undefined - - /** - * Official website URL - */ - 'narrative:website': string[] | undefined - - /** - * Social media profiles (Twitter, Instagram, etc.) - */ - 'narrative:socialMedia': string[] | undefined - - /** - * Contact email - */ - 'narrative:email': string[] | undefined - - /** - * Years active in industry (e.g., '1985-present') - */ - 'narrative:activeYears': string[] | undefined - - /** - * Year started in industry - */ - 'narrative:activeFrom': number[] | undefined - - /** - * Year ended/retired (if applicable) - */ - 'narrative:activeTo': number[] | undefined - - /** - * Biographical summary - */ - 'narrative:biography': string[] | undefined - - /** - * Awards and honors received - */ - 'narrative:awards': string[] | undefined -} - -/** - * Valid properties for Person class - */ -export type PersonProperty = 'narrative:worksFor' | 'narrative:memberOf' | 'narrative:primaryRole' | 'narrative:hasWorkedWithRelationship' | 'narrative:hasCreditRelationship' | 'narrative:hasPortrayalRelationship' | 'narrative:birthName' | 'narrative:knownAs' | 'narrative:alias' | 'narrative:birthDate' | 'narrative:deathDate' | 'narrative:birthPlace' | 'narrative:nationality' | 'narrative:gender' | 'narrative:website' | 'narrative:socialMedia' | 'narrative:email' | 'narrative:activeYears' | 'narrative:activeFrom' | 'narrative:activeTo' | 'narrative:biography' | 'narrative:awards' - -/** - * Type guard for Person properties - */ -export function isPersonProperty(property: string): property is PersonProperty { - const validProperties: PersonProperty[] = [ - 'narrative:worksFor', - 'narrative:memberOf', - 'narrative:primaryRole', - 'narrative:hasWorkedWithRelationship', - 'narrative:hasCreditRelationship', - 'narrative:hasPortrayalRelationship', - 'narrative:birthName', - 'narrative:knownAs', - 'narrative:alias', - 'narrative:birthDate', - 'narrative:deathDate', - 'narrative:birthPlace', - 'narrative:nationality', - 'narrative:gender', - 'narrative:website', - 'narrative:socialMedia', - 'narrative:email', - 'narrative:activeYears', - 'narrative:activeFrom', - 'narrative:activeTo', - 'narrative:biography', - 'narrative:awards' - ] - return validProperties.includes(property as PersonProperty) -} diff --git a/types/narrative/PoliticalAllies.ts b/types/narrative/PoliticalAllies.ts deleted file mode 100644 index 8c900a3..0000000 --- a/types/narrative/PoliticalAllies.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface PoliticalAllies extends narrative_AllianceRelationship { - '@id': IRI<'narrative:PoliticalAllies'> - '@type': 'narrative:PoliticalAllies' - - -} - -/** - * Valid properties for PoliticalAllies class - */ -export type PoliticalAlliesProperty = - -/** - * Type guard for PoliticalAllies properties - */ -export function isPoliticalAlliesProperty(property: string): property is PoliticalAlliesProperty { - const validProperties: PoliticalAlliesProperty[] = [ - - ] - return validProperties.includes(property as PoliticalAlliesProperty) -} diff --git a/types/narrative/PortrayalRelationship.ts b/types/narrative/PortrayalRelationship.ts deleted file mode 100644 index 4cdac20..0000000 --- a/types/narrative/PortrayalRelationship.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface PortrayalRelationship extends narrative_Relationship { - '@id': IRI<'narrative:PortrayalRelationship'> - '@type': 'narrative:PortrayalRelationship' - - 'narrative:portraysCharacter': IRI<'narrative:Character'>[] | undefined - - 'narrative:portrayalMedium': string[] | undefined - - 'narrative:portrayalStart': Date[] | undefined - - 'narrative:portrayalEnd': Date[] | undefined - - 'narrative:billing': string[] | undefined - - /** - * Lead, Supporting, Cameo, Voice-only, etc. - */ - 'narrative:castingType': string[] | undefined - - /** - * Awards won or nominated for this role - */ - 'narrative:awardNominations': string[] | undefined -} - -/** - * Valid properties for PortrayalRelationship class - */ -export type PortrayalRelationshipProperty = 'narrative:portraysCharacter' | 'narrative:portrayalMedium' | 'narrative:portrayalStart' | 'narrative:portrayalEnd' | 'narrative:billing' | 'narrative:castingType' | 'narrative:awardNominations' - -/** - * Type guard for PortrayalRelationship properties - */ -export function isPortrayalRelationshipProperty(property: string): property is PortrayalRelationshipProperty { - const validProperties: PortrayalRelationshipProperty[] = [ - 'narrative:portraysCharacter', - 'narrative:portrayalMedium', - 'narrative:portrayalStart', - 'narrative:portrayalEnd', - 'narrative:billing', - 'narrative:castingType', - 'narrative:awardNominations' - ] - return validProperties.includes(property as PortrayalRelationshipProperty) -} diff --git a/types/narrative/Producer.ts b/types/narrative/Producer.ts deleted file mode 100644 index f09e5b3..0000000 --- a/types/narrative/Producer.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Producer extends narrative_Role { - '@id': IRI<'narrative:Producer'> - '@type': 'narrative:Producer' - - -} - -/** - * Valid properties for Producer class - */ -export type ProducerProperty = - -/** - * Type guard for Producer properties - */ -export function isProducerProperty(property: string): property is ProducerProperty { - const validProperties: ProducerProperty[] = [ - - ] - return validProperties.includes(property as ProducerProperty) -} diff --git a/types/narrative/Product.ts b/types/narrative/Product.ts deleted file mode 100644 index f00f2f8..0000000 --- a/types/narrative/Product.ts +++ /dev/null @@ -1,116 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Product { - '@id': IRI<'narrative:Product'> - '@type': 'narrative:Product' - - 'narrative:productOf': IRI<'narrative:NarrativeUnit'>[] | undefined - - 'narrative:hasManifestation': IRI<'narrative:Manifestation'>[] | undefined - - /** - * Issues collected in this product - */ - 'narrative:collects': IRI<'narrative:StoryExpression'>[] | undefined - - /** - * Single Issues, Collected Editions, Archives, Essentials, etc. - */ - 'narrative:productLine': string[] | undefined - - /** - * Title of collected edition - */ - 'narrative:collectionTitle': string[] | undefined - - /** - * Trade Paperback, Hardcover, Omnibus, Absolute, Epic Collection, etc. - */ - 'narrative:collectionType': string[] | undefined - - /** - * Volume number in series of collections - */ - 'narrative:volumeNumber': number[] | undefined - - /** - * Human-readable range (e.g., 'Issues #1-6') - */ - 'narrative:collectsRange': string[] | undefined - - /** - * Contains bonus material beyond collected issues - */ - 'narrative:includesExtras': boolean[] | undefined - - /** - * Description of extras (sketch pages, scripts, etc.) - */ - 'narrative:bonusMaterial': string[] | undefined - - /** - * Original retail price at launch - */ - 'narrative:originalPrice': number[] | undefined - - /** - * Current market price - */ - 'narrative:currentPrice': number[] | undefined - - /** - * Whether currently available for purchase - */ - 'narrative:inPrint': boolean[] | undefined - - /** - * ISBN for this product - */ - 'narrative:productISBN': string[] | undefined - - /** - * Product release date - */ - 'narrative:releaseDate': Date[] | undefined - - /** - * Marketing description - */ - 'narrative:productDescription': string[] | undefined -} - -/** - * Valid properties for Product class - */ -export type ProductProperty = 'narrative:productOf' | 'narrative:hasManifestation' | 'narrative:collects' | 'narrative:productLine' | 'narrative:collectionTitle' | 'narrative:collectionType' | 'narrative:volumeNumber' | 'narrative:collectsRange' | 'narrative:includesExtras' | 'narrative:bonusMaterial' | 'narrative:originalPrice' | 'narrative:currentPrice' | 'narrative:inPrint' | 'narrative:productISBN' | 'narrative:releaseDate' | 'narrative:productDescription' - -/** - * Type guard for Product properties - */ -export function isProductProperty(property: string): property is ProductProperty { - const validProperties: ProductProperty[] = [ - 'narrative:productOf', - 'narrative:hasManifestation', - 'narrative:collects', - 'narrative:productLine', - 'narrative:collectionTitle', - 'narrative:collectionType', - 'narrative:volumeNumber', - 'narrative:collectsRange', - 'narrative:includesExtras', - 'narrative:bonusMaterial', - 'narrative:originalPrice', - 'narrative:currentPrice', - 'narrative:inPrint', - 'narrative:productISBN', - 'narrative:releaseDate', - 'narrative:productDescription' - ] - return validProperties.includes(property as ProductProperty) -} diff --git a/types/narrative/Relationship.ts b/types/narrative/Relationship.ts deleted file mode 100644 index 151a9bf..0000000 --- a/types/narrative/Relationship.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Relationship { - '@id': IRI<'narrative:Relationship'> - '@type': 'narrative:Relationship' - - -} - -/** - * Valid properties for Relationship class - */ -export type RelationshipProperty = - -/** - * Type guard for Relationship properties - */ -export function isRelationshipProperty(property: string): property is RelationshipProperty { - const validProperties: RelationshipProperty[] = [ - - ] - return validProperties.includes(property as RelationshipProperty) -} diff --git a/types/narrative/RivalryRelationship.ts b/types/narrative/RivalryRelationship.ts deleted file mode 100644 index 15b09b9..0000000 --- a/types/narrative/RivalryRelationship.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface RivalryRelationship extends narrative_CharacterRelationship { - '@id': IRI<'narrative:RivalryRelationship'> - '@type': 'narrative:RivalryRelationship' - - /** - * Friendly Competition, Arch-enemies, Mortal Enemies, etc. - */ - 'narrative:rivalryIntensity': string[] | undefined - - /** - * What caused the rivalry - */ - 'narrative:causedBy': string[] | undefined -} - -/** - * Valid properties for RivalryRelationship class - */ -export type RivalryRelationshipProperty = 'narrative:rivalryIntensity' | 'narrative:causedBy' - -/** - * Type guard for RivalryRelationship properties - */ -export function isRivalryRelationshipProperty(property: string): property is RivalryRelationshipProperty { - const validProperties: RivalryRelationshipProperty[] = [ - 'narrative:rivalryIntensity', - 'narrative:causedBy' - ] - return validProperties.includes(property as RivalryRelationshipProperty) -} diff --git a/types/narrative/Rivals.ts b/types/narrative/Rivals.ts deleted file mode 100644 index a45add0..0000000 --- a/types/narrative/Rivals.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Rivals extends narrative_RivalryRelationship { - '@id': IRI<'narrative:Rivals'> - '@type': 'narrative:Rivals' - - -} - -/** - * Valid properties for Rivals class - */ -export type RivalsProperty = - -/** - * Type guard for Rivals properties - */ -export function isRivalsProperty(property: string): property is RivalsProperty { - const validProperties: RivalsProperty[] = [ - - ] - return validProperties.includes(property as RivalsProperty) -} diff --git a/types/narrative/Role.ts b/types/narrative/Role.ts deleted file mode 100644 index c93ef09..0000000 --- a/types/narrative/Role.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Role { - '@id': IRI<'narrative:Role'> - '@type': 'narrative:Role' - - -} - -/** - * Valid properties for Role class - */ -export type RoleProperty = - -/** - * Type guard for Role properties - */ -export function isRoleProperty(property: string): property is RoleProperty { - const validProperties: RoleProperty[] = [ - - ] - return validProperties.includes(property as RoleProperty) -} diff --git a/types/narrative/Screenwriter.ts b/types/narrative/Screenwriter.ts deleted file mode 100644 index ca4f833..0000000 --- a/types/narrative/Screenwriter.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Screenwriter extends narrative_Writer { - '@id': IRI<'narrative:Screenwriter'> - '@type': 'narrative:Screenwriter' - - -} - -/** - * Valid properties for Screenwriter class - */ -export type ScreenwriterProperty = - -/** - * Type guard for Screenwriter properties - */ -export function isScreenwriterProperty(property: string): property is ScreenwriterProperty { - const validProperties: ScreenwriterProperty[] = [ - - ] - return validProperties.includes(property as ScreenwriterProperty) -} diff --git a/types/narrative/Singer.ts b/types/narrative/Singer.ts deleted file mode 100644 index 6e1ac05..0000000 --- a/types/narrative/Singer.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Singer extends narrative_Performer { - '@id': IRI<'narrative:Singer'> - '@type': 'narrative:Singer' - - -} - -/** - * Valid properties for Singer class - */ -export type SingerProperty = - -/** - * Type guard for Singer properties - */ -export function isSingerProperty(property: string): property is SingerProperty { - const validProperties: SingerProperty[] = [ - - ] - return validProperties.includes(property as SingerProperty) -} diff --git a/types/narrative/StoryExpression.ts b/types/narrative/StoryExpression.ts deleted file mode 100644 index 368a740..0000000 --- a/types/narrative/StoryExpression.ts +++ /dev/null @@ -1,158 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface StoryExpression { - '@id': IRI<'narrative:StoryExpression'> - '@type': 'narrative:StoryExpression' - - 'narrative:expressionOf': IRI<'narrative:StoryWork'>[] | undefined - - 'narrative:hasNarrativeUnit': IRI<'narrative:NarrativeUnit'>[] | undefined - - /** - * Characters making first appearance - */ - 'narrative:firstAppearance': IRI<'narrative:Character'>[] | undefined - - /** - * Issue number (can be string for special issues like '0', 'Annual') - */ - 'narrative:issueNumber': string[] | undefined - - /** - * Title of this specific issue - */ - 'narrative:issueTitle': string[] | undefined - - /** - * URL to cover image - */ - 'narrative:coverImage': string[] | undefined - - /** - * Issue subtitle or chapter title - */ - 'narrative:subtitle': string[] | undefined - - /** - * Alternate numbering (legacy numbering, etc.) - */ - 'narrative:altNumber': string[] | undefined - - /** - * Cover date (month/year on cover) - */ - 'narrative:coverDate': Date[] | undefined - - /** - * Actual release date to stores - */ - 'narrative:storeDate': Date[] | undefined - - /** - * Digital release date (often different from print) - */ - 'narrative:digitalReleaseDate': Date[] | undefined - - /** - * Number of pages - */ - 'narrative:pageCount': number[] | undefined - - /** - * Story pages (excluding ads) - */ - 'narrative:storyPageCount': number[] | undefined - - /** - * Issue description/solicitation text - */ - 'narrative:description': string[] | undefined - - /** - * Whether issue contains backup/second story - */ - 'narrative:hasBackupStory': boolean[] | undefined - - /** - * Diamond SKU or order code - */ - 'narrative:sku': string[] | undefined - - /** - * ISBN (for collected editions) - */ - 'narrative:isbn': string[] | undefined - - /** - * UPC barcode - */ - 'narrative:upc': string[] | undefined - - /** - * ComicVine ID - */ - 'narrative:comicVineId': string[] | undefined - - /** - * Grand Comics Database ID - */ - 'narrative:gcdId': string[] | undefined - - /** - * Whether considered a key/significant issue - */ - 'narrative:isKeyIssue': boolean[] | undefined - - /** - * Major story events (death of X, origin story, etc.) - */ - 'narrative:significantEvent': string[] | undefined - - /** - * Name of crossover event (if applicable) - */ - 'narrative:crossover': string[] | undefined -} - -/** - * Valid properties for StoryExpression class - */ -export type StoryExpressionProperty = 'narrative:expressionOf' | 'narrative:hasNarrativeUnit' | 'narrative:firstAppearance' | 'narrative:issueNumber' | 'narrative:issueTitle' | 'narrative:coverImage' | 'narrative:subtitle' | 'narrative:altNumber' | 'narrative:coverDate' | 'narrative:storeDate' | 'narrative:digitalReleaseDate' | 'narrative:pageCount' | 'narrative:storyPageCount' | 'narrative:description' | 'narrative:hasBackupStory' | 'narrative:sku' | 'narrative:isbn' | 'narrative:upc' | 'narrative:comicVineId' | 'narrative:gcdId' | 'narrative:isKeyIssue' | 'narrative:significantEvent' | 'narrative:crossover' - -/** - * Type guard for StoryExpression properties - */ -export function isStoryExpressionProperty(property: string): property is StoryExpressionProperty { - const validProperties: StoryExpressionProperty[] = [ - 'narrative:expressionOf', - 'narrative:hasNarrativeUnit', - 'narrative:firstAppearance', - 'narrative:issueNumber', - 'narrative:issueTitle', - 'narrative:coverImage', - 'narrative:subtitle', - 'narrative:altNumber', - 'narrative:coverDate', - 'narrative:storeDate', - 'narrative:digitalReleaseDate', - 'narrative:pageCount', - 'narrative:storyPageCount', - 'narrative:description', - 'narrative:hasBackupStory', - 'narrative:sku', - 'narrative:isbn', - 'narrative:upc', - 'narrative:comicVineId', - 'narrative:gcdId', - 'narrative:isKeyIssue', - 'narrative:significantEvent', - 'narrative:crossover' - ] - return validProperties.includes(property as StoryExpressionProperty) -} diff --git a/types/narrative/StoryWork.ts b/types/narrative/StoryWork.ts deleted file mode 100644 index 8bd2803..0000000 --- a/types/narrative/StoryWork.ts +++ /dev/null @@ -1,113 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface StoryWork { - '@id': IRI<'narrative:StoryWork'> - '@type': 'narrative:StoryWork' - - 'narrative:hasExpression': IRI<'narrative:StoryExpression'>[] | undefined - - /** - * Publisher of the series - */ - 'narrative:publishedBy': IRI<'narrative:Org'>[] | undefined - - /** - * Imprint line (Vertigo, MAX, Black Label, etc.) - */ - 'narrative:imprint': IRI<'narrative:Org'>[] | undefined - - /** - * Name of the series - */ - 'narrative:seriesName': string[] | undefined - - /** - * Name for alphabetical sorting (without 'The', etc.) - */ - 'narrative:sortName': string[] | undefined - - /** - * Volume number (for series with multiple volumes) - */ - 'narrative:volume': number[] | undefined - - /** - * Year series started - */ - 'narrative:yearBegan': number[] | undefined - - /** - * Year series ended (if concluded) - */ - 'narrative:yearEnded': number[] | undefined - - /** - * Ongoing, Completed, Cancelled, Hiatus - */ - 'narrative:publicationStatus': string[] | undefined - - /** - * Total number of issues published - */ - 'narrative:issueCount': number[] | undefined - - /** - * Ongoing Series, Limited Series, Mini-Series, One-Shot, etc. - */ - 'narrative:seriesType': string[] | undefined - - /** - * Superhero, Horror, Crime, Sci-Fi, Fantasy, etc. (repeatable) - */ - 'narrative:genre': string[] | undefined - - /** - * All Ages, Teen, Mature Readers, etc. - */ - 'narrative:ageRating': string[] | undefined - - /** - * Series description/premise - */ - 'narrative:synopsis': string[] | undefined - - /** - * Continuity designation (Earth-616, New 52, etc.) - */ - 'narrative:continuity': string[] | undefined -} - -/** - * Valid properties for StoryWork class - */ -export type StoryWorkProperty = 'narrative:hasExpression' | 'narrative:publishedBy' | 'narrative:imprint' | 'narrative:seriesName' | 'narrative:sortName' | 'narrative:volume' | 'narrative:yearBegan' | 'narrative:yearEnded' | 'narrative:publicationStatus' | 'narrative:issueCount' | 'narrative:seriesType' | 'narrative:genre' | 'narrative:ageRating' | 'narrative:synopsis' | 'narrative:continuity' - -/** - * Type guard for StoryWork properties - */ -export function isStoryWorkProperty(property: string): property is StoryWorkProperty { - const validProperties: StoryWorkProperty[] = [ - 'narrative:hasExpression', - 'narrative:publishedBy', - 'narrative:imprint', - 'narrative:seriesName', - 'narrative:sortName', - 'narrative:volume', - 'narrative:yearBegan', - 'narrative:yearEnded', - 'narrative:publicationStatus', - 'narrative:issueCount', - 'narrative:seriesType', - 'narrative:genre', - 'narrative:ageRating', - 'narrative:synopsis', - 'narrative:continuity' - ] - return validProperties.includes(property as StoryWorkProperty) -} diff --git a/types/narrative/SupernaturalRelationship.ts b/types/narrative/SupernaturalRelationship.ts deleted file mode 100644 index 5308447..0000000 --- a/types/narrative/SupernaturalRelationship.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface SupernaturalRelationship extends narrative_CharacterRelationship { - '@id': IRI<'narrative:SupernaturalRelationship'> - '@type': 'narrative:SupernaturalRelationship' - - -} - -/** - * Valid properties for SupernaturalRelationship class - */ -export type SupernaturalRelationshipProperty = - -/** - * Type guard for SupernaturalRelationship properties - */ -export function isSupernaturalRelationshipProperty(property: string): property is SupernaturalRelationshipProperty { - const validProperties: SupernaturalRelationshipProperty[] = [ - - ] - return validProperties.includes(property as SupernaturalRelationshipProperty) -} diff --git a/types/narrative/Universe.ts b/types/narrative/Universe.ts deleted file mode 100644 index e3fff20..0000000 --- a/types/narrative/Universe.ts +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Universe { - '@id': IRI<'narrative:Universe'> - '@type': 'narrative:Universe' - - /** - * Issue where universe first appeared - */ - 'narrative:introducedIn': IRI<'narrative:StoryExpression'>[] | undefined - - /** - * Parallel or related universes - */ - 'narrative:relatedUniverse': IRI<'narrative:Universe'>[] | undefined - - /** - * Larger multiverse this is part of - */ - 'narrative:partOfMultiverse': IRI<'narrative:Universe'>[] | undefined - - /** - * Active, Defunct, Acquired, Merged, etc. - */ - 'narrative:status': string[] | undefined - - /** - * Name of fictional universe - */ - 'narrative:universeName': string[] | undefined - - /** - * Official designation (Earth-616, Prime Earth, etc.) - */ - 'narrative:designation': string[] | undefined - - /** - * Main Continuity, Alternate, Elseworlds, What If, etc. - */ - 'narrative:universeType': string[] | undefined - - /** - * Whether considered main canon - */ - 'narrative:canon': boolean[] | undefined - - /** - * Description of universe characteristics - */ - 'narrative:universeDescription': string[] | undefined - - /** - * How this universe differs from main continuity - */ - 'narrative:keyDifferences': string[] | undefined -} - -/** - * Valid properties for Universe class - */ -export type UniverseProperty = 'narrative:introducedIn' | 'narrative:relatedUniverse' | 'narrative:partOfMultiverse' | 'narrative:status' | 'narrative:universeName' | 'narrative:designation' | 'narrative:universeType' | 'narrative:canon' | 'narrative:universeDescription' | 'narrative:keyDifferences' - -/** - * Type guard for Universe properties - */ -export function isUniverseProperty(property: string): property is UniverseProperty { - const validProperties: UniverseProperty[] = [ - 'narrative:introducedIn', - 'narrative:relatedUniverse', - 'narrative:partOfMultiverse', - 'narrative:status', - 'narrative:universeName', - 'narrative:designation', - 'narrative:universeType', - 'narrative:canon', - 'narrative:universeDescription', - 'narrative:keyDifferences' - ] - return validProperties.includes(property as UniverseProperty) -} diff --git a/types/narrative/VoiceActor.ts b/types/narrative/VoiceActor.ts deleted file mode 100644 index aa0c50e..0000000 --- a/types/narrative/VoiceActor.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface VoiceActor extends narrative_Performer { - '@id': IRI<'narrative:VoiceActor'> - '@type': 'narrative:VoiceActor' - - -} - -/** - * Valid properties for VoiceActor class - */ -export type VoiceActorProperty = - -/** - * Type guard for VoiceActor properties - */ -export function isVoiceActorProperty(property: string): property is VoiceActorProperty { - const validProperties: VoiceActorProperty[] = [ - - ] - return validProperties.includes(property as VoiceActorProperty) -} diff --git a/types/narrative/WorkedWithRelationship.ts b/types/narrative/WorkedWithRelationship.ts deleted file mode 100644 index 75d1397..0000000 --- a/types/narrative/WorkedWithRelationship.ts +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface WorkedWithRelationship extends narrative_Relationship { - '@id': IRI<'narrative:WorkedWithRelationship'> - '@type': 'narrative:WorkedWithRelationship' - - 'narrative:involvesPerson': IRI<'narrative:Person'>[] | undefined - - 'narrative:projectCount': number[] | undefined - - 'narrative:collabStart': Date[] | undefined - - 'narrative:collabEnd': Date[] | undefined - - 'narrative:relationshipNotes': string[] | undefined -} - -/** - * Valid properties for WorkedWithRelationship class - */ -export type WorkedWithRelationshipProperty = 'narrative:involvesPerson' | 'narrative:projectCount' | 'narrative:collabStart' | 'narrative:collabEnd' | 'narrative:relationshipNotes' - -/** - * Type guard for WorkedWithRelationship properties - */ -export function isWorkedWithRelationshipProperty(property: string): property is WorkedWithRelationshipProperty { - const validProperties: WorkedWithRelationshipProperty[] = [ - 'narrative:involvesPerson', - 'narrative:projectCount', - 'narrative:collabStart', - 'narrative:collabEnd', - 'narrative:relationshipNotes' - ] - return validProperties.includes(property as WorkedWithRelationshipProperty) -} diff --git a/types/narrative/Writer.ts b/types/narrative/Writer.ts deleted file mode 100644 index aec69cd..0000000 --- a/types/narrative/Writer.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -// Brand type for IRI safety -export type IRI = string & { __iri: T } - -export interface Writer extends narrative_Role { - '@id': IRI<'narrative:Writer'> - '@type': 'narrative:Writer' - - /** - * Writing style or specialty - */ - 'narrative:writingStyle': string[] | undefined - - /** - * Famous stories written - */ - 'narrative:notableStories': string[] | undefined -} - -/** - * Valid properties for Writer class - */ -export type WriterProperty = 'narrative:writingStyle' | 'narrative:notableStories' - -/** - * Type guard for Writer properties - */ -export function isWriterProperty(property: string): property is WriterProperty { - const validProperties: WriterProperty[] = [ - 'narrative:writingStyle', - 'narrative:notableStories' - ] - return validProperties.includes(property as WriterProperty) -} diff --git a/types/narrative/index.ts b/types/narrative/index.ts deleted file mode 100644 index 43c3a9e..0000000 --- a/types/narrative/index.ts +++ /dev/null @@ -1,105 +0,0 @@ -/** - * Generated from TTL ontology - * Do not edit manually - */ - -export * from './Person' -export * from './Org' -export * from './Role' -export * from './StoryWork' -export * from './StoryExpression' -export * from './NarrativeUnit' -export * from './Product' -export * from './Manifestation' -export * from './Item' -export * from './Character' -export * from './Franchise' -export * from './Universe' -export * from './Group' -export * from './Relationship' -export * from './Performer' -export * from './Actor' -export * from './VoiceActor' -export * from './Singer' -export * from './Dancer' -export * from './Writer' -export * from './Screenwriter' -export * from './Artist' -export * from './Penciller' -export * from './Inker' -export * from './Colorist' -export * from './Letterer' -export * from './Director' -export * from './Producer' -export * from './WorkedWithRelationship' -export * from './CreditRelationship' -export * from './PortrayalRelationship' -export * from './CharacterRelationship' -export * from './FamilyRelationship' -export * from './FriendshipRelationship' -export * from './AllianceRelationship' -export * from './RivalryRelationship' -export * from './SupernaturalRelationship' -export * from './ParentChild' -export * from './Rivals' -export * from './AlternateSelf' -export * from './PoliticalAllies' - -/** - * All class URIs - */ -export const Classes = { - Person: 'http://knowledge.graph/ontology/narrative#Person', - Org: 'http://knowledge.graph/ontology/narrative#Org', - Role: 'http://knowledge.graph/ontology/narrative#Role', - StoryWork: 'http://knowledge.graph/ontology/narrative#StoryWork', - StoryExpression: 'http://knowledge.graph/ontology/narrative#StoryExpression', - NarrativeUnit: 'http://knowledge.graph/ontology/narrative#NarrativeUnit', - Product: 'http://knowledge.graph/ontology/narrative#Product', - Manifestation: 'http://knowledge.graph/ontology/narrative#Manifestation', - Item: 'http://knowledge.graph/ontology/narrative#Item', - Character: 'http://knowledge.graph/ontology/narrative#Character', - Franchise: 'http://knowledge.graph/ontology/narrative#Franchise', - Universe: 'http://knowledge.graph/ontology/narrative#Universe', - Group: 'http://knowledge.graph/ontology/narrative#Group', - Relationship: 'http://knowledge.graph/ontology/narrative#Relationship', - Performer: 'http://knowledge.graph/ontology/narrative#Performer', - Actor: 'http://knowledge.graph/ontology/narrative#Actor', - VoiceActor: 'http://knowledge.graph/ontology/narrative#VoiceActor', - Singer: 'http://knowledge.graph/ontology/narrative#Singer', - Dancer: 'http://knowledge.graph/ontology/narrative#Dancer', - Writer: 'http://knowledge.graph/ontology/narrative#Writer', - Screenwriter: 'http://knowledge.graph/ontology/narrative#Screenwriter', - Artist: 'http://knowledge.graph/ontology/narrative#Artist', - Penciller: 'http://knowledge.graph/ontology/narrative#Penciller', - Inker: 'http://knowledge.graph/ontology/narrative#Inker', - Colorist: 'http://knowledge.graph/ontology/narrative#Colorist', - Letterer: 'http://knowledge.graph/ontology/narrative#Letterer', - Director: 'http://knowledge.graph/ontology/narrative#Director', - Producer: 'http://knowledge.graph/ontology/narrative#Producer', - WorkedWithRelationship: 'http://knowledge.graph/ontology/narrative#WorkedWithRelationship', - CreditRelationship: 'http://knowledge.graph/ontology/narrative#CreditRelationship', - PortrayalRelationship: 'http://knowledge.graph/ontology/narrative#PortrayalRelationship', - CharacterRelationship: 'http://knowledge.graph/ontology/narrative#CharacterRelationship', - FamilyRelationship: 'http://knowledge.graph/ontology/narrative#FamilyRelationship', - FriendshipRelationship: 'http://knowledge.graph/ontology/narrative#FriendshipRelationship', - AllianceRelationship: 'http://knowledge.graph/ontology/narrative#AllianceRelationship', - RivalryRelationship: 'http://knowledge.graph/ontology/narrative#RivalryRelationship', - SupernaturalRelationship: 'http://knowledge.graph/ontology/narrative#SupernaturalRelationship', - ParentChild: 'http://knowledge.graph/ontology/narrative#ParentChild', - Rivals: 'http://knowledge.graph/ontology/narrative#Rivals', - AlternateSelf: 'http://knowledge.graph/ontology/narrative#AlternateSelf', - PoliticalAllies: 'http://knowledge.graph/ontology/narrative#PoliticalAllies' -} as const - -/** - * Union of all class types - */ -export type AnyClass = Person | Org | Role | StoryWork | StoryExpression | NarrativeUnit | Product | Manifestation | Item | Character | Franchise | Universe | Group | Relationship | Performer | Actor | VoiceActor | Singer | Dancer | Writer | Screenwriter | Artist | Penciller | Inker | Colorist | Letterer | Director | Producer | WorkedWithRelationship | CreditRelationship | PortrayalRelationship | CharacterRelationship | FamilyRelationship | FriendshipRelationship | AllianceRelationship | RivalryRelationship | SupernaturalRelationship | ParentChild | Rivals | AlternateSelf | PoliticalAllies - -/** - * Type guard for valid class URIs - */ -export function isValidClass(uri: string): uri is typeof Classes[keyof typeof Classes] { - return Object.values(Classes).includes(uri as any) -}