🥐 croissant-go docs
A lightweight Go library for working with the Croissant data format, designed to provide formatting, validation, querying, and resource management capabilities.
Croissant Class Diagram
classDiagram
Dataset -- "many" FileObject : distribution
Dataset -- "many" FileSet : distribution
Dataset -- "many" RecordSet : recordSet
RecordSet -- "many" Field : field
FileObject -- "many" FileSet : containedIn
FileSet -- "many" FileObject : containedIn
Field -- "one" DataSource : source
DataSource -- "one" FileObject : fileObject
DataSource -- "one" FileSet : fileSet
DataSource -- "one" RecordSet : recordSet
class Dataset {
+@type
+@context
+name
+description
+license [ ]
+url
+creator [ ]
+datePublished
+keywords [ ]
+publisher [ ]
+version
+dateCreated
+dateModified
+sameAs [ ]
+sdLicense[ ]
+inLanguage [ ]
+distribution [ ]
+dct:conformsTo
+isLiveDataset
+citeAs
}
class DataSource {
+@id
+fileObject
+fileSet
+recordSet
+extract
+transform [ ]
+format
}
class FileObject {
+@id
+sc:name
+sc:contentUrl
+sc:contentSize
+sc:encodingFormat [ ]
+sc:sameAs [ ]
+sc:sha256
+containedIn [ ]
}
class FileSet {
+@id
+containedIn [ ]
+includes [ ]
+excludes [ ]
+sc:encodingFormat [ ]
}
class RecordSet {
+@id
+name
+field [ ]
+key [ ]
+data [ ]
+examples [ ]
+annotation [ ]
}
class Field {
+@id
+name
+source
+dataType [ ]
+isArray
+arrayShape
+references [ ]
+subField [ ]
+parentField [ ]
+annotation [ ]
}
class Extract {
+@id
+fileProperty
+column
+jsonPath
}