{
  "name": "Trackloaded Music Knowledge Graph",
  "description": "Public, read-only SPARQL access to the Trackloaded Music Knowledge Graph, containing structured metadata about Nigerian and African music artists and record labels.",
  "type": "sparql-endpoint",
  "version": "1.0",

  "endpoint": {
    "url": "https://trackloaded.com/sparql-endpoint.php",
    "interface": "sparql",
    "browser": "https://trackloaded.com/sparql-browser"
  },

  "access": {
    "visibility": "public",
    "authentication": "none",
    "readOnly": true,
    "allowedQueryForms": ["SELECT"],
    "disallowedOperations": [
      "UPDATE",
      "INSERT",
      "DELETE",
      "LOAD",
      "CLEAR",
      "CREATE",
      "DROP",
      "MOVE",
      "COPY",
      "ADD"
    ]
  },

  "queryConstraints": {
    "defaultGraphOnly": true,
    "namedGraphs": false,
    "federatedQueries": false,
    "remoteGraphLoading": false,
    "serviceClause": false
  },

  "entities": {
    "artists": {
      "rdfType": ["foaf:Person", "schema:Person"]
    },
    "labels": {
      "rdfType": ["mo:MusicGroup", "schema:MusicGroup"]
    }
  },

  "vocabularies": {
    "foaf": {
      "namespace": "http://xmlns.com/foaf/0.1/",
      "terms": ["name", "homepage", "bio"]
    },
    "schema": {
      "namespace": "https://schema.org/",
      "terms": [
        "birthDate",
        "alternateName",
        "founder",
        "location",
        "foundingDate",
        "Person",
        "MusicGroup"
      ]
    },
    "mo": {
      "namespace": "http://purl.org/ontology/mo/",
      "terms": ["MusicGroup", "member"]
    },
    "owl": {
      "namespace": "http://www.w3.org/2002/07/owl#",
      "terms": ["sameAs"]
    }
  },

  "outputFormats": [
    "application/sparql-results+json",
    "application/ld+json",
    "text/turtle"
  ],

  "linkedDataAccess": {
    "perEntityRdf": true,
    "supportedFormats": ["turtle", "rdfxml", "jsonld"],
    "examples": [
      "https://trackloaded.com/tag/olamide/?rdf=ttl",
      "https://trackloaded.com/tag/ybnl/?rdf=ttl",
      "https://trackloaded.com/tag/rema/?rdf=jsonld",
      "https://trackloaded.com/tag/ybnl/?rdf=jsonld"
    ]
  },

  "rateLimits": {
    "requestsPerHourPerIp": 40,
    "enforcement": "best-effort",
    "notes": "Limits may change to preserve service stability."
  },

  "dataPolicy": {
    "scope": "curated-public-subset",
    "completeness": "not-guaranteed",
    "externalLinks": "owl:sameAs may be present but is not guaranteed"
  },

  "intendedConsumers": [
    "AI agents",
    "LLM tools",
    "semantic crawlers",
    "research tooling"
  ],

  "stability": {
    "contractual": false,
    "backwardCompatibility": "preferred"
  },

  "documentation": {
    "skill": "https://trackloaded.com/.well-known/skill.md",
    "void": "https://trackloaded.com/?void=1"
  }
}