Urara-Blog/node_modules/.pnpm-store/v3/files/9d/f9ec9143ba88b53e22dbf080f9b7c69589673f91cde9e7d0b031c27db84e778b9a5661832cbdf90ca8e172b3b7f83a7b9aad5091c512016f22e2a2083ec093
2022-08-14 01:14:53 +08:00

25 lines
510 B
Text

# This is a tasl schema!
namespace s http://schema.org/
# classes are like tables, except they
# can be arbitrary algebraic data types,
# not just columns of primitives.
class s:Person :: {
s:name -> string
s:email -> ? uri
s:spouse -> ? * s:Person
s:gender -> [
s:Male
s:Female
s:value <- string
]
}
# references are a primitive type that
# point to other classes in the schema,
# just like foreign keys.
class s:Book :: {
s:name -> string
s:isbn -> uri
s:author -> * s:Person
}