Skip to content

Commit da13add

Browse files
bdeng-xtihnorton
authored andcommitted
add example notebooks (#38)
* add example notebooks for dense array and metadata * add README * rename metadata example to array_metadata * add group example
1 parent 639497a commit da13add

File tree

4 files changed

+798
-0
lines changed

4 files changed

+798
-0
lines changed

notebooks/README.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# This directory contains .net interactive notebook demos
2+
## Suggested extensions for VS Code
3+
1. C# by Microsoft
4+
2. .NET Interactive Notebooks by Microsoft
5+
3. C# Extensions by JosKreativ
6+
4. NuGet Package Manager by jmrog
7+
8+
## Add TileDB.CSharp in notebook
9+
```
10+
#r "nuget:TileDB.CSharp"
11+
```

notebooks/array_metadata.ipynb

+264
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
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

Comments
 (0)