-- LOG_ENABLE (2,1) ;
-- Cleanup Introspection Graph
SPARQL CLEAR GRAPH <urn:northwind:intro> ;
SPARQL SELECT COUNT(*) FROM <urn:northwind:intro> WHERE {?s ?p ?o} ;

-- Cleanup Mapping Schema
SPARQL CLEAR GRAPH <http://demo.openlinksw.com/schemas/northwind/>  ;
SPARQL SELECT COUNT(*) FROM <http://demo.openlinksw.com/schemas/northwind/> WHERE {?s ?p ?o} ;

SPARQL
PREFIX owl: <http://www.w3.org/2002/07/owl#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
PREFIX aowl: <http://bblfish.net/work/atom-owl/2006-06-06/> 
PREFIX virtrdf: <http://www.openlinksw.com/schemas/virtrdf#>
PREFIX gql: <http://www.openlinksw.com/schemas/graphql#> 
PREFIX northwind: <http://demo.openlinksw.com/schemas/northwind/>

INSERT DATA INTO <http://demo.openlinksw.com/schemas/northwind/>
{

northwind: a owl:Ontology .

# Demo.demo.Categories

gql:Categories gql:type gql:Array;
  gql:rdfClass northwind:Categories .

gql:CategoriesObject gql:type gql:Object;
  gql:rdfClass northwind:Categories .

northwind:Categories a rdfs:Class ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:Categories ;
  rdfs:label "Demo.demo.Categories" .

northwind:categoryid a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Categories ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:categoryid ;
  rdfs:label "CategoryID" .

northwind:categoryname a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Categories ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:categoryname ;
  rdfs:label "CategoryName" .

northwind:description a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Categories ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:description ;
  rdfs:label "Description" .

northwind:categories_of a owl:ObjectProperty ;
  rdfs:domain northwind:Categories ;
  rdfs:range northwind:Products ;
  rdfs:label "Relation to Demo.demo.Products" ;
  gql:field gql:categories_of ;
  gql:type gql:Array ;
  rdfs:isDefinedBy northwind: .


# Demo.demo.Customers

gql:Customers gql:type gql:Array;
  gql:rdfClass northwind:Customers .

gql:CustomersObject gql:type gql:Object;
  gql:rdfClass northwind:Customers .

northwind:Customers a rdfs:Class ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:Customers ;
  rdfs:label "Demo.demo.Customers" .

northwind:customerid a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:customerid ;
  rdfs:label "CustomerID" .

northwind:companyname a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:companyname ;
  rdfs:label "CompanyName" .

northwind:contactname a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:contactname ;
  rdfs:label "ContactName" .

northwind:contacttitle a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:contacttitle ;
  rdfs:label "ContactTitle" .

northwind:address a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:address ;
  rdfs:label "Address" .

northwind:city a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:city ;
  rdfs:label "City" .

northwind:region a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:region ;
  rdfs:label "Region" .

northwind:postalcode a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:postalcode ;
  rdfs:label "PostalCode" .

northwind:country a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:country ;
  rdfs:label "Country" .

northwind:countrycode a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:countrycode ;
  rdfs:label "CountryCode" .

northwind:phone a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:phone ;
  rdfs:label "Phone" .

northwind:fax a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Customers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:fax ;
  rdfs:label "Fax" .

northwind:customers_of a owl:ObjectProperty ;
  rdfs:domain northwind:Customers ;
  rdfs:range northwind:Orders ;
  rdfs:label "Relation to Demo.demo.Orders" ;
  gql:field gql:customers_of ;
  gql:type gql:Array ;
  rdfs:isDefinedBy northwind: .


# Demo.demo.Employees

gql:Employees gql:type gql:Array;
  gql:rdfClass northwind:Employees .

gql:EmployeesObject gql:type gql:Object;
  gql:rdfClass northwind:Employees .

northwind:Employees a rdfs:Class ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:Employees ;
  rdfs:label "Demo.demo.Employees" .

northwind:employeeid a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:employeeid ;
  rdfs:label "EmployeeID" .

northwind:lastname a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:lastname ;
  rdfs:label "LastName" .

northwind:firstname a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:firstname ;
  rdfs:label "FirstName" .

northwind:title a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:title ;
  rdfs:label "Title" .

northwind:titleofcourtesy a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:titleofcourtesy ;
  rdfs:label "TitleOfCourtesy" .

northwind:birthdate a owl:DatatypeProperty ;
  rdfs:range xsd:date ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:birthdate ;
  rdfs:label "BirthDate" .

northwind:hiredate a owl:DatatypeProperty ;
  rdfs:range xsd:date ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:hiredate ;
  rdfs:label "HireDate" .

northwind:address a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:address ;
  rdfs:label "Address" .

northwind:city a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:city ;
  rdfs:label "City" .

northwind:region a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:region ;
  rdfs:label "Region" .

northwind:postalcode a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:postalcode ;
  rdfs:label "PostalCode" .

northwind:country a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:country ;
  rdfs:label "Country" .

northwind:countrycode a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:countrycode ;
  rdfs:label "CountryCode" .

northwind:homephone a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:homephone ;
  rdfs:label "HomePhone" .

northwind:extension a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:extension ;
  rdfs:label "Extension" .

northwind:photo a owl:ObjectProperty ;
  rdfs:range aowl:Content ;
  gql:type gql:Object ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:photo ;
  rdfs:label "Photo" .

northwind:notes a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:notes ;
  rdfs:label "Notes" .

northwind:reportsto a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Employees ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:reportsto ;
  rdfs:label "ReportsTo" .

northwind:employees_of a owl:ObjectProperty ;
  rdfs:domain northwind:Employees ;
  rdfs:range northwind:Orders ;
  rdfs:label "Relation to Demo.demo.Orders" ;
  gql:field gql:employees_of ;
  gql:type gql:Array ;
  rdfs:isDefinedBy northwind: .


# Demo.demo.Order_Details

gql:Order_Details gql:type gql:Array;
  gql:rdfClass northwind:Order_Details .

gql:Order_DetailsObject gql:type gql:Object;
  gql:rdfClass northwind:Order_Details .

northwind:Order_Details a rdfs:Class ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:Order_Details ;
  rdfs:label "Demo.demo.Order_Details" .

northwind:orderid a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Order_Details ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:orderid ;
  rdfs:label "OrderID" .

northwind:productid a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Order_Details ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:productid ;
  rdfs:label "ProductID" .

northwind:unitprice a owl:DatatypeProperty ;
  rdfs:range xsd:numeric ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Order_Details ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:unitprice ;
  rdfs:label "UnitPrice" .

northwind:quantity a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Order_Details ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:quantity ;
  rdfs:label "Quantity" .

northwind:discount a owl:DatatypeProperty ;
  rdfs:range xsd:float ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Order_Details ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:discount ;
  rdfs:label "Discount" .

northwind:has_orders a owl:ObjectProperty ;
  rdfs:domain northwind:Order_Details ;
  rdfs:range northwind:Orders ;
  rdfs:label "Relation to Demo.demo.Orders" ;
  gql:field gql:has_orders ;
  gql:type gql:Object ;
  rdfs:isDefinedBy northwind: .

northwind:has_products a owl:ObjectProperty ;
  rdfs:domain northwind:Order_Details ;
  rdfs:range northwind:Products ;
  rdfs:label "Relation to Demo.demo.Products" ;
  gql:field gql:has_products ;
  gql:type gql:Object ;
  rdfs:isDefinedBy northwind: .


# Demo.demo.Orders

gql:Orders gql:type gql:Array;
  gql:rdfClass northwind:Orders .

gql:OrdersObject gql:type gql:Object;
  gql:rdfClass northwind:Orders .

northwind:Orders a rdfs:Class ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:Orders ;
  rdfs:label "Demo.demo.Orders" .

northwind:orderid a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:orderid ;
  rdfs:label "OrderID" .

northwind:customerid a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:customerid ;
  rdfs:label "CustomerID" .

northwind:employeeid a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:employeeid ;
  rdfs:label "EmployeeID" .

northwind:orderdate a owl:DatatypeProperty ;
  rdfs:range xsd:dateTime ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:orderdate ;
  rdfs:label "OrderDate" .

northwind:requireddate a owl:DatatypeProperty ;
  rdfs:range xsd:date ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:requireddate ;
  rdfs:label "RequiredDate" .

northwind:shippeddate a owl:DatatypeProperty ;
  rdfs:range xsd:dateTime ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:shippeddate ;
  rdfs:label "ShippedDate" .

northwind:shipvia a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:shipvia ;
  rdfs:label "ShipVia" .

northwind:freight a owl:DatatypeProperty ;
  rdfs:range xsd:numeric ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:freight ;
  rdfs:label "Freight" .

northwind:shipname a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:shipname ;
  rdfs:label "ShipName" .

northwind:shipaddress a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:shipaddress ;
  rdfs:label "ShipAddress" .

northwind:shipcity a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:shipcity ;
  rdfs:label "ShipCity" .

northwind:shipregion a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:shipregion ;
  rdfs:label "ShipRegion" .

northwind:shippostalcode a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:shippostalcode ;
  rdfs:label "ShipPostalCode" .

northwind:shipcountry a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:shipcountry ;
  rdfs:label "ShipCountry" .

northwind:shipcountrycode a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:shipcountrycode ;
  rdfs:label "ShipCountryCode" .

northwind:rowguid a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Orders ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:rowguid ;
  rdfs:label "ROWGUID" .

northwind:has_customers a owl:ObjectProperty ;
  rdfs:domain northwind:Orders ;
  rdfs:range northwind:Customers ;
  rdfs:label "Relation to Demo.demo.Customers" ;
  gql:field gql:has_customers ;
  gql:type gql:Object ;
  rdfs:isDefinedBy northwind: .

northwind:has_employees a owl:ObjectProperty ;
  rdfs:domain northwind:Orders ;
  rdfs:range northwind:Employees ;
  rdfs:label "Relation to Demo.demo.Employees" ;
  gql:field gql:has_employees ;
  gql:type gql:Object ;
  rdfs:isDefinedBy northwind: .

northwind:has_shippers a owl:ObjectProperty ;
  rdfs:domain northwind:Orders ;
  rdfs:range northwind:Shippers ;
  rdfs:label "Relation to Demo.demo.Shippers" ;
  gql:field gql:has_shippers ;
  gql:type gql:Object ;
  rdfs:isDefinedBy northwind: .

northwind:orders_of a owl:ObjectProperty ;
  rdfs:domain northwind:Orders ;
  rdfs:range northwind:Order_Details ;
  rdfs:label "Relation to Demo.demo.Order_Details" ;
  gql:field gql:orders_of ;
  gql:type gql:Array ;
  rdfs:isDefinedBy northwind: .


# Demo.demo.Products

gql:Products gql:type gql:Array;
  gql:rdfClass northwind:Products .

gql:ProductsObject gql:type gql:Object;
  gql:rdfClass northwind:Products .

northwind:Products a rdfs:Class ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:Products ;
  rdfs:label "Demo.demo.Products" .

northwind:productid a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Products ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:productid ;
  rdfs:label "ProductID" .

northwind:productname a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Products ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:productname ;
  rdfs:label "ProductName" .

northwind:supplierid a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Products ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:supplierid ;
  rdfs:label "SupplierID" .

northwind:categoryid a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Products ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:categoryid ;
  rdfs:label "CategoryID" .

northwind:quantityperunit a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Products ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:quantityperunit ;
  rdfs:label "QuantityPerUnit" .

northwind:unitprice a owl:DatatypeProperty ;
  rdfs:range xsd:numeric ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Products ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:unitprice ;
  rdfs:label "UnitPrice" .

northwind:unitsinstock a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Products ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:unitsinstock ;
  rdfs:label "UnitsInStock" .

northwind:unitsonorder a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Products ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:unitsonorder ;
  rdfs:label "UnitsOnOrder" .

northwind:reorderlevel a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Products ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:reorderlevel ;
  rdfs:label "ReorderLevel" .

northwind:discontinued a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Products ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:discontinued ;
  rdfs:label "Discontinued" .

northwind:has_categories a owl:ObjectProperty ;
  rdfs:domain northwind:Products ;
  rdfs:range northwind:Categories ;
  rdfs:label "Relation to Demo.demo.Categories" ;
  gql:field gql:has_categories ;
  gql:type gql:Object ;
  rdfs:isDefinedBy northwind: .

northwind:has_suppliers a owl:ObjectProperty ;
  rdfs:domain northwind:Products ;
  rdfs:range northwind:Suppliers ;
  rdfs:label "Relation to Demo.demo.Suppliers" ;
  gql:field gql:has_suppliers ;
  gql:type gql:Object ;
  rdfs:isDefinedBy northwind: .

northwind:products_of a owl:ObjectProperty ;
  rdfs:domain northwind:Products ;
  rdfs:range northwind:Order_Details ;
  rdfs:label "Relation to Demo.demo.Order_Details" ;
  gql:field gql:products_of ;
  gql:type gql:Array ;
  rdfs:isDefinedBy northwind: .


# Demo.demo.Shippers

gql:Shippers gql:type gql:Array;
  gql:rdfClass northwind:Shippers .

gql:ShippersObject gql:type gql:Object;
  gql:rdfClass northwind:Shippers .

northwind:Shippers a rdfs:Class ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:Shippers ;
  rdfs:label "Demo.demo.Shippers" .

northwind:shipperid a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Shippers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:shipperid ;
  rdfs:label "ShipperID" .

northwind:companyname a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Shippers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:companyname ;
  rdfs:label "CompanyName" .

northwind:phone a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Shippers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:phone ;
  rdfs:label "Phone" .

northwind:shippers_of a owl:ObjectProperty ;
  rdfs:domain northwind:Shippers ;
  rdfs:range northwind:Orders ;
  rdfs:label "Relation to Demo.demo.Orders" ;
  gql:field gql:shippers_of ;
  gql:type gql:Array ;
  rdfs:isDefinedBy northwind: .


# Demo.demo.Suppliers

gql:Suppliers gql:type gql:Array;
  gql:rdfClass northwind:Suppliers .

gql:SuppliersObject gql:type gql:Object;
  gql:rdfClass northwind:Suppliers .

northwind:Suppliers a rdfs:Class ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:Suppliers ;
  rdfs:label "Demo.demo.Suppliers" .

northwind:supplierid a owl:DatatypeProperty ;
  rdfs:range xsd:int ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:supplierid ;
  rdfs:label "SupplierID" .

northwind:companyname a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:companyname ;
  rdfs:label "CompanyName" .

northwind:contactname a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:contactname ;
  rdfs:label "ContactName" .

northwind:contacttitle a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:contacttitle ;
  rdfs:label "ContactTitle" .

northwind:address a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:address ;
  rdfs:label "Address" .

northwind:city a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:city ;
  rdfs:label "City" .

northwind:region a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:region ;
  rdfs:label "Region" .

northwind:postalcode a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:postalcode ;
  rdfs:label "PostalCode" .

northwind:country a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:country ;
  rdfs:label "Country" .

northwind:countrycode a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:countrycode ;
  rdfs:label "CountryCode" .

northwind:phone a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:phone ;
  rdfs:label "Phone" .

northwind:fax a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:fax ;
  rdfs:label "Fax" .

northwind:homepage a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  gql:type gql:Scalar ;
  rdfs:domain northwind:Suppliers ;
  rdfs:isDefinedBy northwind: ;
  gql:field gql:homepage ;
  rdfs:label "HomePage" .

northwind:suppliers_of a owl:ObjectProperty ;
  rdfs:domain northwind:Suppliers ;
  rdfs:range northwind:Products ;
  rdfs:label "Relation to Demo.demo.Products" ;
  gql:field gql:suppliers_of ;
  gql:type gql:Array ;
  rdfs:isDefinedBy northwind: .


gql:Map gql:dataGraph <http://demo.openlinksw.com/northwind#> ;
  gql:schemaGraph northwind: ;
  gql:schemaObjects gql:Categories, gql:Customers, gql:Employees, gql:Order_Details, gql:Orders, gql:Products, gql:Shippers, gql:Suppliers.


} ;

GQL_INIT_TYPE_SCHEMA(); -- Initialize GQL Type Schema for modification 
GQL_INTRO_DEL ('urn:northwind:intro'); -- Add modified Instrospection Data to GQL Bridge Type System Schema
TTLP (GQL_CREATE_TYPE_SCHEMA ('http://demo.openlinksw.com/schemas/northwind/'), '', 'urn:northwind:intro');
GQL_INTRO_ADD ('urn:northwind:intro'); -- Add modified Instrospection Data to GQL Bridge Type System Schema

