This guide will take you through registering schemas that are compliant with the Asset Register.
fv:Asset
is the root, and the more specific classes like fv:NFT
and fv:SFT
inherit from it. Each of these asset types can be further categorized into on-chain or off-chain, depending on where the asset data is stored.
OnChainNFT
, called Boxer
, using SHACL (Shapes Constraint Language).
sh:property
:
sh:property
construct defines constraints on a particular property of a node. Inside each sh:property
block, you specify details about the property, such as its path, type, cardinality, and more.sh:maxCount
and sh:minCount
:
sh:maxCount 1
: This specifies that the property can have at most one value. It’s used to enforce uniqueness or singularity of a particular property in a node.sh:minCount 0
: This means that the property is optional (it can have zero values). If this were set to 1, the property would be required.sh:class asm:Brain
:
sh:class
property is used to enforce that the value of the property must be of a specific RDF class, in this case, asm:Brain
. This ensures that the value of asm:equippedWith_brain
must be an instance of the asm:Brain
class.sh:class
:
sh:class
property. For example:
fv:Gloves
or fv:Mittens
.
sh:path
Property:
sh:path
statement indicates the exact RDF property within your data model that is subject to the constraints defined in the SHACL shape.
asm:equippedWith_brain
is the RDF property that the shape is describing. This property might represent a relationship where a Boxer
is equipped with a Brain
.
Brain
as a specialized type of OnChainNFT
, inheriting properties and constraints from its parent classes.