Semantic Data
WORK IN PROGRESS
Schema
Datatypes
enum Datatype (
Bool
Integer
Decimal
String
DateTime
Date
Time
Duration
QuantityValue(Unit)
Range(Datatype)
Geography
Species
Chemical
)Namespaces
tx CreateNamespace(name string) HashURIProperties
Data Properties
tx CreateDataProperty(
namespace HashURI,
name string,
datatype Datatype,
arity Arity
)Object Properties
tx CreateObjectProperty(
namespace HashURI,
name string,
cls HashIRI,
arity Arity,
superProperties HashURI*
)Arity
enum Arity (
One,
Ordered,
Unordered
)Classes
tx CreateClass(
namespace HashURI,
name string,
requiredProperties HashURI*,
superClasses HashURI*
)Transactions
Storing Graph Data
tx StoreGraph(data bytes) HashURIStoring Part of a Graph
tx StorePartialData(iri HashIRI, proofs ics23.ExistenceProof*)Deleting Data
// this would allow the person who committed data to remove it from state
// but not from transaction history - maybe no point in even considering this
@experimental tx DeleteData(iri HashIRI)State
table Namespace {
iri: HashIRI
owner: Address
name: string
@primary_key(iri)
@unique(owner, name)
@index(owner)
}
enum ObjType {
DataProperty,
ObjectProperty,
Class
}
table Object {
iri: HashIRI
namespace: HashIRI
name: string
type: ObjType
datatype: Datatype?
cls: HashIRI?
arity: Arity?
super_properties: HashIRI*
super_classes: HashIRI*
required_properties: HashIRI*
@primary_key(iri)
@unique(namespace, name)
@index(namespace)
}
table Data {
iri: HashIRI
data: bytes?
partial: ics23.ExistenceProof*
@primary_key(iri)
}Last updated
Was this helpful?