Skip to content
Deeprankdeeprank

Reference

Technical resources for implementing Deeprank Profiles. Download schema files, review the controlled vocabulary, and use templates as starting points.

Publication

The Selection Layer: Structured Eligibility Declarations for AI-Mediated Business Discovery

Zhgenti, Bakar (2026). Zenodo.

Schema Structure

deeprank-profile.schema.json (excerpt)
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://deeprank.org/schema/deeprank-profile.schema.json",
  "title": "Deeprank Selection Profile",
  "description": "A structured format for expressing business selection eligibility",
  "type": "object",
  "required": [
    "identity",
    "problem_declaration",
    "capability",
    "fit_conditions",
    "non_fit",
    "stability"
  ],
  "properties": {
    "identity": {
      "type": "object",
      "required": ["name", "entity_type"],
      "properties": {
        "name": { "type": "string" },
        "entity_type": { "type": "string" },
        "domain": { "type": "string", "format": "hostname" }
      }
    },
    "problem_declaration": {
      "type": "object",
      "required": ["problem_class", "description"],
      "properties": {
        "problem_class": { "type": "string" },
        "description": { "type": "string", "maxLength": 500 }
      }
    },
    "capability": {
      "type": "object",
      "required": ["labels"],
      "properties": {
        "labels": { "type": "array", "items": { "type": "string" } },
        "methods": { "type": "array", "items": { "type": "string" } }
      }
    },
    "fit_conditions": {
      "type": "object",
      "properties": {
        "geographic": { "type": "array", "items": { "type": "string" } },
        "customer_type": { "type": "array", "items": { "type": "string" } },
        "constraints": { "type": "array", "items": { "type": "string" } }
      }
    },
    "non_fit": {
      "type": "object",
      "required": ["exclusions"],
      "properties": {
        "exclusions": { "type": "array", "items": { "type": "string" } }
      }
    },
    "stability": {
      "type": "object",
      "required": ["confidence"],
      "properties": {
        "confidence": { "type": "string", "enum": ["high", "medium", "low"] },
        "last_verified": { "type": "string", "format": "date" }
      }
    }
  }
}

Controlled Vocabulary

The controlled vocabulary provides standardized terms for key fields. Using these terms improves consistency and is intended for better cross-system interoperability.

Entity Types

law-firmaccounting-practicemarketing-agencyconsulting-firmsoftware-companysaas-productplumbing-contractorelectrical-contractorreal-estate-brokeragemedical-practicedental-practicefinancial-advisorinsurance-agencystaffing-agencydesign-studioarchitecture-firm

Problem Classes

legal-immigration-employmentlegal-immigration-familylegal-corporatelegal-litigationaccounting-tax-businessaccounting-tax-individualaccounting-auditmarketing-b2b-saasmarketing-ecommercemarketing-localplumbing-emergencyplumbing-residentialplumbing-commercialdevelopment-webdevelopment-mobiledevelopment-ecommerce

Customer Types

b2b-saasb2b-enterpriseb2c-consumersmbstartupsolopreneurtechnology-companyemployer-sponsorhomeownerrentercommercial-tenantseries-a-to-cpre-seedbootstrapped

Common Constraints

same-day-availableemergency-service24-7-supportweekend-availableremote-onlyon-site-requiredlicensed-gas-worklicensed-electricalaccepts-insurancepayment-plansfree-consultationfixed-pricing

Vocabulary Governance

The controlled vocabulary is deliberately scoped to common business types and problem domains encountered in initial implementations. It is expected to expand based on implementation feedback.

Additive only: Changes to the vocabulary are additive. Existing terms will not be removed or renamed. New terms and categories may be added in future versions.

Custom terms: Implementations may use terms not in the controlled vocabulary. However, standardized terms have better cross-system compatibility. If your business requires terms not yet included, you may use custom terms while the vocabulary evolves.

Namespacing: Namespacing and formal extension mechanisms are planned for future versions to allow domain-specific vocabulary sets without conflicting with the core vocabulary.

Feedback: The vocabulary is shaped by implementation experience. Patterns observed across multiple implementations may be promoted to the controlled vocabulary in future releases.

Implementation Notes

JSON-LD Context: When embedding a Deeprank Profile as JSON-LD, use the context URL https://deeprank.org/schema and the type DeeprankSelectionProfile.

Validation: Validate your profile against the JSON Schema before deployment. Well-formed profiles improve consistency and readability.

Updates: When updating your profile, always update the stability.last_verified field to signal active maintenance.

For known implementations of this specification, see the Ecosystem page.