1
+ {
2
+ "cells" : [
3
+ {
4
+ "cell_type" : " markdown" ,
5
+ "metadata" : {},
6
+ "source" : [
7
+ " # Install TileDB.CSharp"
8
+ ]
9
+ },
10
+ {
11
+ "cell_type" : " code" ,
12
+ "execution_count" : null ,
13
+ "metadata" : {
14
+ "dotnet_interactive" : {
15
+ "language" : " csharp"
16
+ }
17
+ },
18
+ "outputs" : [],
19
+ "source" : [
20
+ " #r \" nuget:TileDB.CSharp\" "
21
+ ]
22
+ },
23
+ {
24
+ "cell_type" : " markdown" ,
25
+ "metadata" : {},
26
+ "source" : [
27
+ " # Create an array"
28
+ ]
29
+ },
30
+ {
31
+ "cell_type" : " code" ,
32
+ "execution_count" : null ,
33
+ "metadata" : {
34
+ "dotnet_interactive" : {
35
+ "language" : " csharp"
36
+ }
37
+ },
38
+ "outputs" : [],
39
+ "source" : [
40
+ " using TileDB.CSharp;\n " ,
41
+ " var ctx = TileDB.CSharp.Context.GetDefault();\n " ,
42
+ " var dom = new TileDB.CSharp.Domain(ctx);\n " ,
43
+ " var dim1 = TileDB.CSharp.Dimension.Create<int>(ctx,\" rows\" ,1,4,4);\n " ,
44
+ " var dim2 = TileDB.CSharp.Dimension.Create<int>(ctx,\" cols\" ,1,4,4);\n " ,
45
+ " dom.AddDimension(dim1);\n " ,
46
+ " dom.AddDimension(dim2);\n " ,
47
+ " var schema = new TileDB.CSharp.ArraySchema(ctx,TileDB.CSharp.ArrayType.TILEDB_DENSE);\n " ,
48
+ " schema.SetDomain(dom);\n " ,
49
+ " var attr1 = new TileDB.CSharp.Attribute(ctx,\" a\" ,TileDB.CSharp.DataType.TILEDB_INT32);\n " ,
50
+ " schema.AddAttribute(attr1);\n " ,
51
+ " string array_uri = \" test_metadata_array\" ;\n " ,
52
+ " var vfs = new TileDB.CSharp.VFS(ctx);\n " ,
53
+ " if(vfs.IsDir(array_uri))\n " ,
54
+ " {\n " ,
55
+ " vfs.RemoveDir(array_uri);\n " ,
56
+ " }\n " ,
57
+ " TileDB.CSharp.Array.Create(ctx,array_uri,schema);"
58
+ ]
59
+ },
60
+ {
61
+ "cell_type" : " markdown" ,
62
+ "metadata" : {},
63
+ "source" : [
64
+ " # Add metadata"
65
+ ]
66
+ },
67
+ {
68
+ "cell_type" : " code" ,
69
+ "execution_count" : null ,
70
+ "metadata" : {
71
+ "dotnet_interactive" : {
72
+ "language" : " csharp"
73
+ }
74
+ },
75
+ "outputs" : [],
76
+ "source" : [
77
+ " using(var array_write = new TileDB.CSharp.Array(ctx,array_uri)) \n " ,
78
+ " {\n " ,
79
+ " array_write.Open(TileDB.CSharp.QueryType.TILEDB_WRITE);\n " ,
80
+ " var int_metadata = new int[2] {1,100};\n " ,
81
+ " array_write.PutMetadata<int>(\" int_metadata\" ,int_metadata);\n " ,
82
+ " var double_metadata = new double[3] {1.0,100.0,1000.0};\n " ,
83
+ " array_write.PutMetadata<double>(\" double_metadata\" , double_metadata);\n " ,
84
+ " array_write.PutMetadata(\" key1\" ,\" value1\" );\n " ,
85
+ " array_write.PutMetadata(\" key2\" ,\" value2\" );\n " ,
86
+ " array_write.PutMetadata(\" key3\" ,\" value3\" );\n " ,
87
+ " array_write.Close();\n " ,
88
+ " }"
89
+ ]
90
+ },
91
+ {
92
+ "cell_type" : " markdown" ,
93
+ "metadata" : {},
94
+ "source" : [
95
+ " # Get metadata"
96
+ ]
97
+ },
98
+ {
99
+ "cell_type" : " code" ,
100
+ "execution_count" : null ,
101
+ "metadata" : {
102
+ "dotnet_interactive" : {
103
+ "language" : " csharp"
104
+ }
105
+ },
106
+ "outputs" : [],
107
+ "source" : [
108
+ " var array_read = new TileDB.CSharp.Array(ctx,array_uri);\n " ,
109
+ " array_read.Open(TileDB.CSharp.QueryType.TILEDB_READ);"
110
+ ]
111
+ },
112
+ {
113
+ "cell_type" : " markdown" ,
114
+ "metadata" : {},
115
+ "source" : [
116
+ " ## Get metadata from index"
117
+ ]
118
+ },
119
+ {
120
+ "cell_type" : " code" ,
121
+ "execution_count" : null ,
122
+ "metadata" : {
123
+ "dotnet_interactive" : {
124
+ "language" : " csharp"
125
+ }
126
+ },
127
+ "outputs" : [],
128
+ "source" : [
129
+ " var metadata_num = array_read.MetadataNum();\n " ,
130
+ " System.Console.WriteLine(\" number of metadata:{0}\" ,metadata_num);"
131
+ ]
132
+ },
133
+ {
134
+ "cell_type" : " code" ,
135
+ "execution_count" : null ,
136
+ "metadata" : {
137
+ "dotnet_interactive" : {
138
+ "language" : " csharp"
139
+ }
140
+ },
141
+ "outputs" : [],
142
+ "source" : [
143
+ " var metadata_keys = array_read.MetadataKeys();\n " ,
144
+ " System.Console.WriteLine(\" metadata keys:{0}\" , String.Join(\" \" , metadata_keys));"
145
+ ]
146
+ },
147
+ {
148
+ "cell_type" : " code" ,
149
+ "execution_count" : null ,
150
+ "metadata" : {
151
+ "dotnet_interactive" : {
152
+ "language" : " csharp"
153
+ }
154
+ },
155
+ "outputs" : [],
156
+ "source" : [
157
+ " var (key0,data0) = array_read.GetMetadataFromIndex<double>(0);\n " ,
158
+ " System.Console.WriteLine(\" key0:{0},data0:{1}\" , key0, String.Join(\" \" ,data0));"
159
+ ]
160
+ },
161
+ {
162
+ "cell_type" : " markdown" ,
163
+ "metadata" : {},
164
+ "source" : [
165
+ " ## Get metadata from key"
166
+ ]
167
+ },
168
+ {
169
+ "cell_type" : " code" ,
170
+ "execution_count" : null ,
171
+ "metadata" : {
172
+ "dotnet_interactive" : {
173
+ "language" : " csharp"
174
+ }
175
+ },
176
+ "outputs" : [],
177
+ "source" : [
178
+ " var int_metadata = array_read.GetMetadata<int>(\" int_metadata\" );\n " ,
179
+ " System.Console.WriteLine(\" int_metadata:{0}\" , String.Join(\" \" , int_metadata));"
180
+ ]
181
+ },
182
+ {
183
+ "cell_type" : " code" ,
184
+ "execution_count" : null ,
185
+ "metadata" : {
186
+ "dotnet_interactive" : {
187
+ "language" : " csharp"
188
+ }
189
+ },
190
+ "outputs" : [],
191
+ "source" : [
192
+ " var double_metadata = array_read.GetMetadata<double>(\" double_metadata\" );\n " ,
193
+ " System.Console.WriteLine(\" double_metadata:{0}\" , String.Join(\" \" , double_metadata));"
194
+ ]
195
+ },
196
+ {
197
+ "cell_type" : " code" ,
198
+ "execution_count" : null ,
199
+ "metadata" : {
200
+ "dotnet_interactive" : {
201
+ "language" : " csharp"
202
+ }
203
+ },
204
+ "outputs" : [],
205
+ "source" : [
206
+ " var value3 = array_read.GetMetadata(\" key3\" );\n " ,
207
+ " System.Console.WriteLine(\" value3:{0}\" , value3);"
208
+ ]
209
+ },
210
+ {
211
+ "cell_type" : " code" ,
212
+ "execution_count" : null ,
213
+ "metadata" : {
214
+ "dotnet_interactive" : {
215
+ "language" : " csharp"
216
+ }
217
+ },
218
+ "outputs" : [],
219
+ "source" : [
220
+ " array_read.Close();"
221
+ ]
222
+ },
223
+ {
224
+ "cell_type" : " markdown" ,
225
+ "metadata" : {},
226
+ "source" : [
227
+ " # Clean up"
228
+ ]
229
+ },
230
+ {
231
+ "cell_type" : " code" ,
232
+ "execution_count" : null ,
233
+ "metadata" : {
234
+ "dotnet_interactive" : {
235
+ "language" : " csharp"
236
+ }
237
+ },
238
+ "outputs" : [],
239
+ "source" : [
240
+ " if(vfs.IsDir(array_uri))\n " ,
241
+ " {\n " ,
242
+ " vfs.RemoveDir(array_uri);\n " ,
243
+ " }"
244
+ ]
245
+ }
246
+ ],
247
+ "metadata" : {
248
+ "kernelspec" : {
249
+ "display_name" : " .NET (C#)" ,
250
+ "language" : " C#" ,
251
+ "name" : " .net-csharp"
252
+ },
253
+ "language_info" : {
254
+ "file_extension" : " .cs" ,
255
+ "mimetype" : " text/x-csharp" ,
256
+ "name" : " C#" ,
257
+ "pygments_lexer" : " csharp" ,
258
+ "version" : " 9.0"
259
+ },
260
+ "orig_nbformat" : 2
261
+ },
262
+ "nbformat" : 4 ,
263
+ "nbformat_minor" : 2
264
+ }
0 commit comments