Skip to content

Terminology

The Asset Register documentation introduces new terminology to describe its usage. A brief review of this document before exploring guides will help you understand them better.

On-Chain Asset

Assets that are created by a third party with the existence attested on a blockchain network supported by the Asset Register. The Asset Register can only interact with these assets through the interface provided by the smart contract or runtime module on the blockchain where the asset is located. Therefore, it is imperative that asset collections deployed on the respective networks adhere to the NFT specifications.


Off-Chain Asset

Assets that are created by a third party and attested by the third party’s system. Therefore, the third party is the creator and has superuser access over all their off-chain assets. Each asset must be registered on the Asset Register and registered against a schema to be a valid off-chain asset.


A link between two assets (parent and child) based on a relationship path e.g. equippedWith_gloves. The Asset Register uses these relationships to build the asset trees that describe an asset.


Asset Schema

Describes the properties of an asset and its compatibility with other assets through asset links. Schemas should be stored in a globally accessible and permanent location and be registered against an asset. The Asset Register will provide internal Futureverse teams with the ability to store schemas on a Futureverse namespace.

HairStyle Example

mermaid
graph TD
  tnl:HairStyle --> fv:HairStyle
  fluf:HairStyle --> fv:HairStyle
  fv:HairStyle --> fvp:OffChainSFTAsset
  fvp:OffChainSFTAsset --> fvp:OffChainAsset
  fv:HairStyle --> fvp:OnChainERC1155Asset
  fvp:OnChainERC1155Asset --> fvp:OnChainAsset

Turtle Syntax

Turtle syntax is used to create the schemas.

TNL Hair Style

json
@prefix tnl: <http://www.schema.futureverse.com/tnl#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix fv: <[http://schema.futureverse.com/fv#nf](https://www.notion.so/RFC-NFT-Indexer-df40caae2efc4f45b35c5acd2f1aeb59?pvs=21)> .
@prefix rdf: <http://www.w3.org/2000/01/rdf-schema#> .

tnl:HairStyle a rdf:Class, sh:NodeShape ;
    sh:node fv:HairStyle .

FV Hair Style

json
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix fv: <http://schema.futureverse.com/fv#> .
@prefix fvp: <http://schema.futureverse.com/fvp#> .
@prefix rdf: <http://www.w3.org/2000/01/rdf-schema#> .

fv:HairStyle a rdf:Class, sh:NodeShape ;
	sh:or (
    [ sh:node fvp:OnChainERC1155Asset ]
    [ sh:node fvp:OffChainSFTAsset ]
  ) .

Asset Tree

Describes all the nested asset links for a given asset.

Root Parent Asset

mermaid
graph LR
  tnl:Boxer --> |equippedWith_brain| fv:ASMBrain --> |equippedWith_memory| fv:ASMMemory
  tnl:Boxer --> |equippedWith_gloves| tnl:Gloves
  tnl:Boxer --> |equippedWith_hairStyle| tnl:HairStyle
  tnl:Boxer --> |equippedWith_hairDye| tnl:HairDye
json
{
  "@context": {
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "schema": "http://schema.org/",
    "tnl": "http://schema.futureverse.com/tnl#",
    "fvp": "http://schema.futureverse.com/fvp#",
    "fv": "http://schema.futureverse.com/fv#"
  },
  "@graph": [
    {
      "@id": "did:fv-asset:1:evm:0x6bca6de2dbdc4e0d41f7273011785ea16ba47182:1868",
      "rdf:type": "tnl:Boxer",
      "fvp:equippedWith_asmBrain": {
        "@id": "did:fv-asset:1:evm:0xd0318da435dbce0b347cc6faa330b5a9889e3585:1211"
      },
      "fvp:equippedWith_hairStyle": {
        "@id": "did:fv-asset:off-chain:0x854A3E045Ac44a7f4A1726AdAC576029135DFdA7:533"
      },
      "fvp:equippedWith_hairDye": {
        "@id": "did:fv-asset:off-chain:0x854A3E045Ac44a7f4A1726AdAC576029135DFdA7:853"
      },
      "fvp:equippedWith_gloves": {
        "@id": "did:fv-asset:1:evm:0x1ea66a857de297471bc12dd12d93853ff6617284:203"
			}
    },
    {
      "@id": "did:fv-asset:1:evm:0xd0318da435dbce0b347cc6faa330b5a9889e3585:1211",
      "rdf:type": "fv:ASMBrain",
      "equippedWith_memory": {
        "@id": "did:fv-asset:off-chain:0x0d2aedB4D26A63143240AE655D6B22627ad9298f:345"
      }
    },
    {
      "@id": "did:fv-asset:off-chain:0x0d2aedB4D26A63143240AE655D6B22627ad9298f:345",
      "rdf:type": "fv:ASMMemory"
    },
    {
      "@id": "did:fv-asset:off-chain:0x854A3E045Ac44a7f4A1726AdAC576029135DFdA7:533",
      "rdf:type": "tnl:HairStyle"
    },
    {
      "@id": "did:fv-asset:off-chain:0x854A3E045Ac44a7f4A1726AdAC576029135DFdA7:853",
      "rdf:type": "tnl:HairDye"
    },
    {
      "@id": "did:fv-asset:1:evm:0x1ea66a857de297471bc12dd12d93853ff6617284:203",
      "rdf:type": "tnl:Gloves"
    }
  ]
}

Nested Parent Asset

mermaid
graph TD
  fv:ASMBrain --> |equippedWith_memory| fv:ASMMemory
json
{
  "@context": {
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "schema": "http://schema.org/",
    "fvp": "http://schema.futureverse.com/fvp#",
    "fv": "http://schema.futureverse.com/fv#"
  },
  "@graph": [
    {
      "@id": "did:fv-asset:1:evm:0xd0318da435dbce0b347cc6faa330b5a9889e3585:1211",
      "rdf:type": "fv:ASMBrain",
      "equippedWith_memory": {
        "@id": "did:fv-asset:off-chain:0x0d2aedB4D26A63143240AE655D6B22627ad9298f:345"
      }
    },
    {
      "@id": "did:fv-asset:off-chain:0x0d2aedB4D26A63143240AE655D6B22627ad9298f:345",
      "rdf:type": "fv:ASMMemory"
    }
  ]
}

Curated independently by Codeology. Source-attributed reference for The Root Network. Not affiliated with Futureverse / TRN Labs.