use graph_store::http::Dataset; use graph_store::{doc, Resource}; use graph_store::{DataFile, DescribeQuery, Graph, GraphStore, Selection}; use uuid::Uuid; #[tokio::test] async fn create_select_describe_and_delete() { let client = reqwest::Client::new(); let base = url::Url::parse("http://localhost:3030").unwrap(); let name = format!("test-{}", Uuid::new_v4()); let file = DataFile::unsafe_from_turtle( "@base <#a> <#b> \"c\" . <#d> <#e> <#f>", ); let dataset = Dataset::get_or_create(&client, base, &name).await; dataset.import(Graph::Default, file).await; let result = dataset.select(Selection::of_triples()).await; println!("selection: {:?}", result); let result = dataset .describe(DescribeQuery::unsafe_from( "DESCRIBE ?x WHERE { ?x ?y ?z }", )) .await; println!("description: {:?}", result); let result = dataset.describe_everything().await; println!("description of everything: {:?}", result); dataset.delete().await; } #[tokio::test] async fn html_files() { let client = reqwest::Client::new(); let base = url::Url::parse("http://localhost:3030").unwrap(); let name = format!("test-{}", Uuid::new_v4()); let file = DataFile::unsafe_from_turtle( "@base <#a> <#b> \"c\" . <#d> <#e> <#f> . <#d> <#g> <#a> .", ); let dataset = Dataset::get_or_create(&client, base, &name).await; dataset .import(Graph::Named(Resource::from("g1")), file) .await; doc::export_to_html(&dataset).await; dataset.delete().await; } #[tokio::test] async fn architecture_documentation() { let client = reqwest::Client::new(); let base = url::Url::parse("http://localhost:3030").unwrap(); let name = "architecture"; let dataset = Dataset::get_or_create(&client, base, &name).await; doc::export_to_html(&dataset).await; }