@@ -26,31 +26,44 @@ type DatasetService struct {
26
26
client * Client
27
27
}
28
28
29
+ // AddFilesFromURLs adds files from URLs to a dataset. This method allows files published on the web
30
+ // to be added to a data.world dataset via their URL. This method can also be used to retrieve data
31
+ // via web APIs, with advanced options for HTTP method, request payload and authentication.
32
+ //
33
+ // The source URL will be stored so you can easily update your file anytime it changes via the
34
+ // `Sync now` button on the dataset page or by calling `Dataset.Sync()`.
29
35
func (s * DatasetService ) AddFilesFromURLs (owner , datasetid string , body * []FileCreateRequest ) (
30
36
response SuccessResponse , err error ) {
31
37
return s .client .File .AddFilesFromURLs (owner , datasetid , body )
32
38
}
33
39
40
+ // AssociateDOI associates a DOI (Digital Object Identifier) with a dataset.
34
41
func (s * DatasetService ) AssociateDOI (owner , datasetid , doi string ) (response SuccessResponse , err error ) {
35
42
return s .client .DOI .Associate (owner , datasetid , doi )
36
43
}
37
44
45
+ // AssociateDOIWithVersion associates a DOI (Digital Object Identifier) with a version of a dataset.
38
46
func (s * DatasetService ) AssociateDOIWithVersion (owner , datasetid , versionid , doi string ) (
39
47
response SuccessResponse , err error ) {
40
48
return s .client .DOI .AssociateWithVersion (owner , datasetid , versionid , doi )
41
49
}
42
50
51
+ // Contributing lists the datasets that the currently authenticated user has access to because
52
+ // they are a contributor.
43
53
func (s * DatasetService ) Contributing () (response []DatasetSummaryResponse , err error ) {
44
54
return s .client .User .DatasetsContributing ()
45
55
}
46
56
57
+ // Create a dataset and associated data.
47
58
func (s * DatasetService ) Create (owner string , body * DatasetCreateRequest ) (response DatasetCreateResponse , err error ) {
48
59
endpoint := fmt .Sprintf ("/datasets/%s" , owner )
49
60
headers := s .client .buildHeaders (POST , endpoint )
50
61
err = s .client .request (headers , body , & response )
51
62
return
52
63
}
53
64
65
+ // CreateOrReplace attempts to create a dataset with the given id, and will reset the dataset if it
66
+ // already exists, redefining all of its attributes.
54
67
func (s * DatasetService ) CreateOrReplace (owner , id string , body * DatasetReplaceRequest ) (
55
68
response SuccessResponse , err error ) {
56
69
endpoint := fmt .Sprintf ("/datasets/%s/%s" , owner , id )
@@ -59,58 +72,93 @@ func (s *DatasetService) CreateOrReplace(owner, id string, body *DatasetReplaceR
59
72
return
60
73
}
61
74
75
+ // Delete a dataset and associated data.
62
76
func (s * DatasetService ) Delete (owner , datasetid string ) (response SuccessResponse , err error ) {
63
77
endpoint := fmt .Sprintf ("/datasets/%s/%s" , owner , datasetid )
64
78
headers := s .client .buildHeaders (DELETE , endpoint )
65
79
err = s .client .request (headers , nil , & response )
66
80
return
67
81
}
68
82
83
+ // DeleteDOI deletes a DOI (Digital Object Identifier) associated with a version of a dataset.
69
84
func (s * DatasetService ) DeleteDOI (owner , datasetid , doi string ) (response SuccessResponse , err error ) {
70
85
return s .client .DOI .Delete (owner , datasetid , doi )
71
86
}
72
87
88
+ // DeleteDOIAssociatedWithVersion deletes a DOI (Digital Object Identifier) associated with a version
89
+ // of a dataset.
73
90
func (s * DatasetService ) DeleteDOIAssociatedWithVersion (owner , datasetid , versionid , doi string ) (
74
91
response SuccessResponse , err error ) {
75
92
return s .client .DOI .DeleteAssociatedWithVersion (owner , datasetid , versionid , doi )
76
93
}
77
94
95
+ // DownloadFile downloads a file within the dataset as originally uploaded.
96
+ //
97
+ // Prefer `Query.ExecuteSQL()` or `Query.ExecuteSPARQL()` for retrieving clean and structured data.
78
98
func (s * DatasetService ) DownloadFile (owner , datasetid , filename string ) (response io.Reader , err error ) {
79
99
return s .client .File .Download (owner , datasetid , filename )
80
100
}
81
101
102
+ // DownloadAndSaveFile downloads a file within the dataset as originally uploaded, and saves the results
103
+ // to a file.
104
+ //
105
+ // Prefer `Query.ExecuteSQL()` or `Query.ExecuteSPARQL()` for retrieving clean and structured data.
82
106
func (s * DatasetService ) DownloadAndSaveFile (owner , datasetid , filename , path string ) (
83
107
response SuccessResponse , err error ) {
84
108
return s .client .File .DownloadAndSave (owner , datasetid , filename , path )
85
109
}
86
110
111
+ // Download downloads a .zip file containing all files within a dataset as originally uploaded.
112
+ //
113
+ // Prefer `Query.ExecuteSQL()` or `Query.ExecuteSPARQL()` for retrieving clean and structured data.
87
114
func (s * DatasetService ) Download (owner , datasetid , filename string ) (response io.Reader , err error ) {
88
115
return s .client .File .DownloadDataset (owner , datasetid )
89
116
}
90
117
118
+ // DownloadAndSave downloads a .zip file containing all files within a dataset as originally
119
+ // uploaded, and saves the results to a file.
120
+ //
121
+ // Prefer `Query.ExecuteSQL()` or `Query.ExecuteSPARQL()` for retrieving clean and structured data.
91
122
func (s * DatasetService ) DownloadAndSave (owner , datasetid , path string ) (response SuccessResponse , err error ) {
92
123
return s .client .File .DownloadAndSaveDataset (owner , datasetid , path )
93
124
}
94
125
126
+ // Liked lists the datasets that the currently authenticated user has liked (bookmarked).
95
127
func (s * DatasetService ) Liked () (response []DatasetSummaryResponse , err error ) {
96
128
return s .client .User .DatasetsLiked ()
97
129
}
98
130
131
+ // ListQueries lists the saved queries associated with a dataset.
132
+ //
133
+ // Query definitions will be returned, not the query results. To retrieve the query results,
134
+ // use `Query.ExecuteSavedQuery`.
99
135
func (s * DatasetService ) ListQueries (owner , datasetid string ) (response []QuerySummaryResponse , err error ) {
100
136
return s .client .Query .ListQueriesAssociatedWithDataset (owner , datasetid )
101
137
}
102
138
139
+ // Owned lists the datasets that the currently authenticated user has access to because they are
140
+ // the owner.
103
141
func (s * DatasetService ) Owned () (response []DatasetSummaryResponse , err error ) {
104
142
return s .client .User .DatasetsOwned ()
105
143
}
106
144
145
+ // Retrieve fetches a dataset.
146
+ //
147
+ // The definition will be returned, not the associated data. Use `Query.ExecuteSQL()`
148
+ // or `Query.ExecuteSPARQL()` to query the data. You can also download the original
149
+ // files with `Dataset.Download` or `Dataset.DownloadFile`.
107
150
func (s * DatasetService ) Retrieve (owner , datasetid string ) (response DatasetSummaryResponse , err error ) {
108
151
endpoint := fmt .Sprintf ("/datasets/%s/%s" , owner , datasetid )
109
152
headers := s .client .buildHeaders (GET , endpoint )
110
153
err = s .client .request (headers , nil , & response )
111
154
return
112
155
}
113
156
157
+ // Retrieve fetches a version of a dataset.
158
+ //
159
+ // The definition will be returned, not the associated data. Use `Query.ExecuteSQL()`
160
+ // or `Query.ExecuteSPARQL()` to query the data. You can also download the original
161
+ // files with `Dataset.Download` or `Dataset.DownloadFile`.
114
162
func (s * DatasetService ) RetrieveVersion (owner , datasetid , versionid string ) (
115
163
response DatasetSummaryResponse , err error ) {
116
164
endpoint := fmt .Sprintf ("/datasets/%s/%s/v/%s" , owner , datasetid , versionid )
@@ -119,17 +167,21 @@ func (s *DatasetService) RetrieveVersion(owner, datasetid, versionid string) (
119
167
return
120
168
}
121
169
170
+ // Sync files within a dataset. This method will process the latest data available for files added
171
+ // from URLs or via streams.
122
172
func (s * DatasetService ) Sync (owner , datasetid string ) (response SuccessResponse , err error ) {
123
173
return s .client .File .Sync (owner , datasetid )
124
174
}
125
175
176
+ // Update a dataset.
126
177
func (s * DatasetService ) Update (owner , id string , body * DatasetUpdateRequest ) (response SuccessResponse , err error ) {
127
178
endpoint := fmt .Sprintf ("/datasets/%s/%s" , owner , id )
128
179
headers := s .client .buildHeaders (PATCH , endpoint )
129
180
err = s .client .request (headers , body , & response )
130
181
return
131
182
}
132
183
184
+ // UploadFile uploads one file at a time to a dataset.
133
185
func (s * DatasetService ) UploadFile (owner , id , filename , path string , expandArchive bool ) (
134
186
response SuccessResponse , err error ) {
135
187
return s .client .File .Upload (owner , id , filename , path , expandArchive )
0 commit comments