{
  "ontology": "Library Card Catalog",
  "version": "0.3.0",
  "scope": "United States, District of Columbia, and US territories; institutional libraries and separately classified community book exchanges",
  "principles": [
    "An organization, library unit, service point, building, and collection are different entities.",
    "Library categories are multi-valued facets, not a single exclusive hierarchy.",
    "A source record is an assertion about an entity, not the entity itself.",
    "Unknown, not applicable, explicitly absent, and not yet researched are distinct states.",
    "Every published factual assertion retains its source and effective date internally.",
    "Survey totals describe a reporting period; they do not establish current operating status.",
    "A school or university directory record alone does not prove a library exists.",
    "A consortium membership is not ownership; shared catalogs are not shared identity.",
    "Private personal collections are outside the public directory unless their owner intentionally lists public-facing services."
  ],
  "entities": {
    "Organization": [
      "id",
      "preferred_name",
      "aliases",
      "organization_kind",
      "jurisdiction",
      "legal_form",
      "parent_organization_id",
      "identifiers",
      "valid_from",
      "valid_to"
    ],
    "LibrarySystem": [
      "id",
      "preferred_name",
      "operator_ids",
      "service_area_ids",
      "governance",
      "identifiers"
    ],
    "LibraryUnit": [
      "id",
      "preferred_name",
      "system_ids",
      "host_organization_ids",
      "library_types",
      "subject_ids",
      "audience_ids",
      "identifiers",
      "lifecycle_status"
    ],
    "ServicePoint": [
      "id",
      "library_unit_ids",
      "preferred_name",
      "service_point_type",
      "location_ids",
      "contact_ids",
      "operating_status",
      "status_effective_date",
      "research_status"
    ],
    "Building": [
      "id",
      "preferred_name",
      "location_id",
      "floor_area",
      "floor_area_unit",
      "opened_date",
      "accessibility_feature_ids"
    ],
    "Location": [
      "id",
      "address_kind",
      "street",
      "unit",
      "city",
      "county",
      "state",
      "postal_code",
      "country",
      "latitude",
      "longitude",
      "coordinate_accuracy",
      "timezone"
    ],
    "ServiceArea": [
      "id",
      "name",
      "jurisdiction_ids",
      "geometry",
      "eligibility_rule_ids"
    ],
    "MobileRoute": [
      "id",
      "service_point_id",
      "stop_ids",
      "schedule_ids",
      "effective_from",
      "effective_to"
    ],
    "MobileStop": [
      "id",
      "route_id",
      "location_id",
      "schedule_ids"
    ],
    "Consortium": [
      "id",
      "preferred_name",
      "organization_ids",
      "agreement_ids",
      "catalog_endpoint_ids"
    ],
    "Membership": [
      "id",
      "member_id",
      "consortium_id",
      "membership_role",
      "valid_from",
      "valid_to"
    ],
    "Collection": [
      "id",
      "preferred_name",
      "custodian_ids",
      "service_point_ids",
      "subject_ids",
      "language_ids",
      "material_types",
      "access_policy_ids",
      "finding_aid_endpoint_ids"
    ],
    "ServiceOffering": [
      "id",
      "provider_id",
      "service_type",
      "audience_ids",
      "access_policy_ids",
      "schedule_ids",
      "booking_endpoint_id",
      "fee_policy_id"
    ],
    "FacilityFeature": [
      "id",
      "service_point_id",
      "feature_type",
      "quantity",
      "access_policy_ids"
    ],
    "AccessPolicy": [
      "id",
      "applies_to_id",
      "access_mode",
      "eligible_audiences",
      "residency_rules",
      "identification_rules",
      "age_rules",
      "appointment_required",
      "accessibility_details",
      "valid_from",
      "valid_to"
    ],
    "CardProgram": [
      "id",
      "issuer_id",
      "eligible_service_area_ids",
      "eligibility_rule_ids",
      "application_endpoint_id",
      "digital_only",
      "reciprocity_agreement_ids",
      "fee_policy_id"
    ],
    "Agreement": [
      "id",
      "party_ids",
      "agreement_type",
      "terms",
      "valid_from",
      "valid_to"
    ],
    "FeePolicy": [
      "id",
      "applies_to_id",
      "amount",
      "currency",
      "charge_basis",
      "waiver_rules",
      "valid_from",
      "valid_to"
    ],
    "Schedule": [
      "id",
      "applies_to_id",
      "timezone",
      "weekly_intervals",
      "date_exceptions",
      "season",
      "valid_from",
      "valid_to"
    ],
    "Endpoint": [
      "id",
      "owner_id",
      "url",
      "endpoint_type",
      "software",
      "protocol",
      "authentication",
      "last_checked_at",
      "http_status"
    ],
    "Contact": [
      "id",
      "organization_or_service_point_id",
      "role",
      "public_phone",
      "public_email",
      "contact_url"
    ],
    "Event": [
      "id",
      "name",
      "organizer_ids",
      "service_point_ids",
      "start_at",
      "end_at",
      "timezone",
      "audience_ids",
      "registration_endpoint_id",
      "access_policy_ids"
    ],
    "MetricObservation": [
      "id",
      "subject_id",
      "metric",
      "value",
      "unit",
      "period_start",
      "period_end",
      "reporting_scope",
      "imputation_status",
      "source_record_id"
    ],
    "Identifier": [
      "id",
      "entity_id",
      "scheme",
      "value",
      "issuer",
      "valid_from",
      "valid_to"
    ],
    "Source": [
      "id",
      "publisher",
      "title",
      "url",
      "license_or_terms_url",
      "coverage_scope",
      "reporting_period",
      "retrieved_at",
      "sha256"
    ],
    "SourceRecord": [
      "id",
      "source_id",
      "native_identifier",
      "raw_record_reference",
      "record_sha256"
    ],
    "Assertion": [
      "id",
      "subject_id",
      "predicate",
      "object_id_or_value",
      "source_record_id",
      "source_locator",
      "valid_from",
      "valid_to",
      "observed_at",
      "evidence_status",
      "review_status",
      "supersedes_assertion_id",
      "value_type",
      "language",
      "confidence_basis",
      "conflict_set_id"
    ],
    "IdentityDecision": [
      "id",
      "candidate_ids",
      "decision",
      "matching_evidence",
      "reviewer",
      "decided_at",
      "reversible_redirect_ids"
    ],
    "CoverageAssessment": [
      "id",
      "geography",
      "library_category",
      "entity_level",
      "source_id",
      "expected_population",
      "population_basis",
      "imported_records",
      "resolved_entities",
      "unresolved_candidates",
      "last_checked_at",
      "status"
    ],
    "SubjectConcept": [
      "id",
      "preferred_label",
      "alternate_labels",
      "broader_ids",
      "external_vocabulary_ids"
    ],
    "AudienceConcept": [
      "id",
      "preferred_label",
      "broader_ids"
    ],
    "LanguageConcept": [
      "id",
      "preferred_label",
      "bcp47_tag",
      "iso639_code"
    ],
    "Jurisdiction": [
      "id",
      "name",
      "jurisdiction_type",
      "parent_ids",
      "geometry",
      "external_identifiers"
    ],
    "Designation": [
      "id",
      "designation_type",
      "assigning_organization_id",
      "valid_from",
      "valid_to"
    ],
    "DesignationAssignment": [
      "id",
      "entity_id",
      "designation_id",
      "source_record_id"
    ],
    "LifecycleEvent": [
      "id",
      "entity_id",
      "event_type",
      "effective_date",
      "predecessor_ids",
      "successor_ids",
      "source_record_id"
    ],
    "WebResource": [
      "id",
      "url",
      "resource_kind",
      "publisher_id",
      "language",
      "rights_status"
    ],
    "CrawlObservation": [
      "id",
      "resource_id",
      "requested_url",
      "final_url",
      "retrieved_at",
      "http_status",
      "content_sha256",
      "content_type",
      "robots_decision",
      "extractor_version",
      "snapshot_reference"
    ],
    "DigitalAsset": [
      "id",
      "asset_kind",
      "resource_id",
      "depicts_id",
      "media_type",
      "width",
      "height",
      "sha256",
      "rights_status",
      "attribution",
      "verification_status"
    ],
    "HistoricalEvent": [
      "id",
      "subject_id",
      "event_type",
      "date_earliest",
      "date_latest",
      "date_precision",
      "place_id",
      "predecessor_ids",
      "successor_ids",
      "assertion_ids"
    ],
    "Narrative": [
      "id",
      "subject_id",
      "narrative_kind",
      "text",
      "language",
      "claim_ids",
      "generation_run_id",
      "review_status",
      "published_at"
    ],
    "GenerationRun": [
      "id",
      "model_id",
      "model_revision",
      "prompt_sha256",
      "input_assertion_ids",
      "generated_at",
      "output_sha256",
      "review_status"
    ],
    "ResearchAssessment": [
      "id",
      "subject_id",
      "topic",
      "status",
      "source_record_ids",
      "checked_at",
      "reason"
    ],
    "ConflictSet": [
      "id",
      "subject_id",
      "predicate",
      "assertion_ids",
      "resolution_status",
      "selected_assertion_id",
      "reviewer",
      "resolved_at"
    ],
    "ReviewDecision": [
      "id",
      "target_id",
      "decision",
      "reviewer",
      "decided_at",
      "reason"
    ],
    "CatalogHolding": [
      "id",
      "library_unit_id",
      "bibliographic_id",
      "catalog_endpoint_id",
      "source_record_id"
    ],
    "AvailabilityObservation": [
      "id",
      "holding_id",
      "status",
      "observed_at",
      "expires_at",
      "source_record_id"
    ]
  },
  "facets": {
    "library_types": [
      "public",
      "academic",
      "school",
      "national",
      "state-government",
      "local-government",
      "federal-agency",
      "legislative",
      "judicial-law",
      "military",
      "tribal",
      "medical-health",
      "corporate",
      "research-institute",
      "museum",
      "historical-genealogical",
      "religious",
      "seminary",
      "monastic",
      "correctional",
      "association",
      "independent-research",
      "membership-subscription",
      "community",
      "digital",
      "accessible-format"
    ],
    "service_point_type": [
      "central",
      "branch",
      "departmental",
      "reading-room",
      "mobile-unit-or-fleet",
      "mobile-stop",
      "books-by-mail",
      "digital-portal",
      "pickup-locker",
      "outreach-point",
      "book-exchange"
    ],
    "host_organization_kind": [
      "municipality",
      "county",
      "library-district",
      "tribal-government",
      "state-agency",
      "federal-agency",
      "university",
      "community-college",
      "technical-college",
      "school-district",
      "public-school",
      "charter-school",
      "private-school",
      "hospital",
      "corporation",
      "nonprofit",
      "museum",
      "religious-body",
      "military-installation",
      "correctional-facility"
    ],
    "access_mode": [
      "public",
      "onsite-only",
      "cardholder",
      "institution-affiliate",
      "membership",
      "appointment",
      "research-approval",
      "restricted",
      "digital-only",
      "unknown"
    ],
    "operating_status": [
      "operating",
      "temporarily-closed",
      "permanently-closed",
      "planned",
      "relocated",
      "merged",
      "unknown"
    ],
    "service_type": [
      "borrowing",
      "reference",
      "interlibrary-loan",
      "digital-lending",
      "remote-databases",
      "research-consultation",
      "internet-computers",
      "wifi",
      "printing",
      "scanning",
      "fax",
      "notary",
      "passport",
      "literacy",
      "language-learning",
      "homework-help",
      "job-assistance",
      "business-support",
      "genealogy",
      "homebound-delivery",
      "accessible-reading",
      "makerspace",
      "tool-lending",
      "seed-lending",
      "device-lending",
      "study-room",
      "meeting-room",
      "children-programs",
      "teen-programs",
      "adult-programs"
    ],
    "facility_feature": [
      "step-free-entry",
      "accessible-restroom",
      "elevator",
      "accessible-parking",
      "hearing-loop",
      "assistive-technology",
      "quiet-room",
      "sensory-room",
      "lactation-room",
      "bike-parking",
      "public-transit-access",
      "power-outlets",
      "restroom",
      "water-fountain"
    ],
    "material_type": [
      "books",
      "serials",
      "manuscripts",
      "archives",
      "maps",
      "photographs",
      "scores",
      "audio",
      "video",
      "microforms",
      "braille",
      "large-print",
      "ebooks",
      "datasets",
      "software",
      "tools",
      "seeds",
      "objects"
    ],
    "endpoint_type": [
      "official-website",
      "branch-page",
      "catalog",
      "discovery",
      "digital-repository",
      "finding-aid",
      "card-application",
      "room-booking",
      "event-calendar",
      "api",
      "contact-form"
    ],
    "identifier_scheme": [
      "lcc-internal",
      "imls-fscs-system",
      "imls-fscs-outlet",
      "nces-unitid",
      "nces-school-id",
      "nces-district-id",
      "marc-organization",
      "isil",
      "oclc-symbol",
      "worldcat-registry",
      "fdlp-number",
      "wikidata",
      "ror",
      "state-library-id"
    ],
    "evidence_status": [
      "reported",
      "verified",
      "inferred",
      "conflicting",
      "unknown",
      "explicitly-absent",
      "not-applicable",
      "not-researched"
    ],
    "coverage_status": [
      "not-started",
      "source-identified",
      "source-downloaded",
      "imported",
      "reconciled-against-source",
      "gaps-known",
      "population-unknown"
    ],
    "audience": [
      "general-public",
      "children",
      "teens",
      "adults",
      "older-adults",
      "students",
      "faculty",
      "researchers",
      "institution-staff",
      "tribal-community",
      "military-community",
      "incarcerated-people",
      "homebound-readers",
      "print-disabled-readers",
      "language-learners"
    ],
    "designation": [
      "federal-depository",
      "state-depository",
      "patent-trademark-resource-center",
      "national-library-service-network",
      "carnegie-funded-building"
    ],
    "lifecycle_event": [
      "established",
      "opened",
      "renamed",
      "relocated",
      "temporarily-closed",
      "reopened",
      "permanently-closed",
      "merged",
      "split",
      "operator-changed"
    ],
    "research_status": [
      "not-researched",
      "queued",
      "source-found",
      "extracted",
      "needs-review",
      "verified",
      "conflicting",
      "explicitly-absent",
      "not-applicable"
    ],
    "review_status": [
      "draft",
      "pending",
      "approved",
      "rejected",
      "superseded"
    ],
    "historical_event_type": [
      "founded",
      "opened",
      "renamed",
      "relocated",
      "expanded",
      "merged",
      "split",
      "temporarily-closed",
      "reopened",
      "permanently-closed",
      "collection-acquired",
      "building-designated"
    ],
    "asset_kind": [
      "favicon",
      "logo",
      "building-photo",
      "historical-photo",
      "floor-plan"
    ],
    "narrative_kind": [
      "overview",
      "history",
      "collections",
      "visitor-guide"
    ],
    "date_precision": [
      "day",
      "month",
      "year",
      "decade",
      "range",
      "unknown"
    ]
  },
  "relationships": {
    "operates": [
      "Organization",
      "LibrarySystem"
    ],
    "administers": [
      "LibrarySystem",
      "LibraryUnit"
    ],
    "hosts": [
      "Organization",
      "LibraryUnit"
    ],
    "providesServiceAt": [
      "LibraryUnit",
      "ServicePoint"
    ],
    "occupies": [
      "ServicePoint",
      "Building"
    ],
    "locatedAt": [
      "ServicePoint",
      "Location"
    ],
    "serves": [
      "LibrarySystem",
      "ServiceArea"
    ],
    "holds": [
      "LibraryUnit",
      "Collection"
    ],
    "offers": [
      "ServicePoint",
      "ServiceOffering"
    ],
    "hasEndpoint": [
      "LibraryUnit",
      "Endpoint"
    ],
    "issues": [
      "LibrarySystem",
      "CardProgram"
    ],
    "supportedBy": [
      "Assertion",
      "SourceRecord"
    ],
    "derivedFrom": [
      "SourceRecord",
      "Source"
    ],
    "reportedPartOf": [
      "ServicePoint",
      "LibrarySystem"
    ],
    "hasSourceRecord": [
      "ServicePoint",
      "SourceRecord"
    ],
    "hasWebResource": [
      "Endpoint",
      "WebResource"
    ],
    "observedResource": [
      "CrawlObservation",
      "WebResource"
    ],
    "hasAsset": [
      "WebResource",
      "DigitalAsset"
    ],
    "hasHistoricalEvent": [
      "ServicePoint",
      "HistoricalEvent"
    ],
    "hasNarrative": [
      "ServicePoint",
      "Narrative"
    ],
    "generatedBy": [
      "Narrative",
      "GenerationRun"
    ],
    "hasPolicy": [
      "ServiceOffering",
      "AccessPolicy"
    ],
    "hasSchedule": [
      "ServiceOffering",
      "Schedule"
    ],
    "hasFeePolicy": [
      "ServiceOffering",
      "FeePolicy"
    ],
    "hasFeature": [
      "ServicePoint",
      "FacilityFeature"
    ],
    "hasContact": [
      "ServicePoint",
      "Contact"
    ],
    "hasMembership": [
      "Organization",
      "Membership"
    ],
    "memberOfConsortium": [
      "Membership",
      "Consortium"
    ],
    "hasFindingAid": [
      "Collection",
      "Endpoint"
    ],
    "hasHolding": [
      "LibraryUnit",
      "CatalogHolding"
    ],
    "hasAvailability": [
      "CatalogHolding",
      "AvailabilityObservation"
    ],
    "hasResearchAssessment": [
      "ServicePoint",
      "ResearchAssessment"
    ],
    "hasConflict": [
      "Assertion",
      "ConflictSet"
    ],
    "reviewedByDecision": [
      "Narrative",
      "ReviewDecision"
    ],
    "evidencedBy": [
      "HistoricalEvent",
      "Assertion"
    ],
    "hasHistoricalPredecessor": [
      "ServicePoint",
      "ServicePoint"
    ],
    "hasHistoricalSuccessor": [
      "ServicePoint",
      "ServicePoint"
    ]
  },
  "bibliographic_extension": {
    "status": "future; no holdings or availability inferred from directory data",
    "standard": "BIBFRAME 2.0",
    "entities": {
      "Work": "conceptual resource",
      "Instance": "published or material embodiment",
      "Item": "particular physical or electronic copy",
      "Agent": "creator, contributor, publisher, or custodian",
      "Subject": "controlled topic"
    },
    "links": [
      "Work hasInstance Instance",
      "Instance hasItem Item",
      "Item heldBy LibraryUnit",
      "Item locatedAt ServicePoint",
      "Item memberOf Collection"
    ],
    "availability": "Separate timestamped observations from authorized catalog integrations; holdings do not imply checkout availability."
  },
  "identity_rules": [
    "Use stable internal IDs; retain all source identifiers with namespaces.",
    "Join PLS outlets to administrative entities by FSCSKEY; identify outlet by FSCSKEY plus FSCS_SEQ.",
    "Do not merge solely by name, address, URL, or proximity.",
    "Do not create multiple library units from multiple survey years.",
    "Preserve predecessor/successor and relocation history.",
    "Require review for cross-source merges without a strong shared identifier.",
    "An institutional NCES UNITID identifies the institution; it is not a unique identifier for all its library branches.",
    "A mobile fleet source record is not a count of individual vehicles or stops.",
    "Survey nonresponse is not library closure.",
    "Do not publish restricted-access private locations merely because they appear in a candidate source."
  ],
  "standards_alignment": {
    "public_library_structure": "IMLS Public Libraries Survey administrative entities and outlets",
    "bibliography": "Library of Congress BIBFRAME 2.0",
    "public_web": "schema.org Library for physical library places; Organization for operators; no fabricated openingHours",
    "provenance": "W3C PROV-compatible source/activity/agent concepts",
    "controlled_terms": "SKOS-compatible concepts with stable IDs and broader/narrower relationships"
  },
  "boundaries": {
    "archives": "Include an archive as a related collection or institution; classify it as a library only with supporting evidence.",
    "book-exchanges": "Include deliberately public exchanges as a separate service-point class; do not include them in staffed-library totals.",
    "institution-hosts": "Schools, colleges, hospitals, museums, and corporations are candidate hosts, not proof of libraries.",
    "digital-resources": "A digital platform, licensed subscription, catalog endpoint, and digital library are distinct concepts.",
    "historical": "Retain former and closed libraries with dated status; exclude them from current operating-location totals."
  },
  "publication_rules": [
    "An extracted website URL is a candidate until its ownership and entity scope are verified.",
    "Favicons belong to verified web resources; a shared domain favicon does not establish branch identity.",
    "Crawl observations record redirects, content digest and retrieval time; a successful fetch does not verify the content.",
    "Model output is a draft, never a source. Every factual narrative claim must cite an existing assertion.",
    "Only approved narratives with supported claims may be published. Model name alone does not imply a run occurred.",
    "Founding, building opening, branch opening, renaming and relocation are distinct dated events.",
    "Missing facts remain not-researched; absence requires explicit evidence.",
    "Conflicting assertions remain available with resolution history; never silently overwrite.",
    "Do not project system-wide services, metrics or collections onto individual branches.",
    "Availability expires independently of catalog holdings."
  ]
}
