def test_chain_and(self): woql_query = WOQLQuery() woql_query.woql_and( WOQLQuery().triple("v:A", "v:B", "v:C"), WOQLQuery().triple("v:D", "v:E", "v:F"), ) assert woql_query.to_dict() == WoqlExtra["chainAndJson"]
def test_multi_using(self): woql_object = WOQLQuery() woql_object.woql_and( WOQLQuery().using( "admin/dbName/local/commit/commitID_1", WOQLQuery().triple("v:A", "v:B", "v:C"), ), WOQLQuery().using( "admin/dbName/local/commit/commitID_2", WOQLQuery().woql_not(WOQLQuery().triple("v:A", "v:B", "v:C")), ), ) assert woql_object.to_dict() == WoqlExtra["multiUsingJson"]
query = WQ().woql_and( WQ().get( WQ().woql_as('sku', sku).woql_as('date_added', date, "xsd:dateTime").woql_as( 'category', category), WQ().remote(widgets_url)), WQ().idgen("doc:Widget", [sku], widget_ID), WQ().insert(widget_ID, "scm:Widget"), WQ().add_triple(widget_ID, "scm:sku", sku), WQ().add_triple(widget_ID, "scm:date_added", date), WQ().add_triple(widget_ID, "scm:category", category)) query.execute(client, "Insert from CSV") # Move widgets data from main to production production_query = WQ.woql_and( WQ().triple(widget_ID, "scm:sku", sku), WQ().triple(widget_ID, "scm:date_added", date), WQ().triple(widget_ID, "scm:category", category), WQ().eq(date, { '@type': 'xsd:dateTime', '@value': '1970-01-01T00:00:00' }), WQ().eq(category, 'widgets'), WQ().using( f'{account}/{dbid}/{repository}/branch/{production}', WQ().woql_and(WQ().insert(widget_ID, "scm:Widget"), WQ().add_triple(widget_ID, "scm:sku", sku), WQ().add_triple(widget_ID, "scm:date_added", date), WQ().add_triple(widget_ID, "scm:category", category)))) production_query.execute(client, "Add to production branch")