PREFIX foaf:
PREFIX dct:
PREFIX schema:
PREFIX xsd:
CONSTRUCT
{
GRAPH ?graph
{
?graph dct:title ?productName ;
foaf:primaryTopic ?product .
?product a schema:Product ;
schema:identifier ?productID ;
dct:title ?productName ;
schema:name ?productName ;
schema:provider ?supplier ;
schema:category ?category ;
schema:description ?quantityPerUnit ;
schema:price ?unitPrice .
# ?unitsInStock ;
# ?unitsOnOrder ;
# ?reorderLevel ;
# ?discontinued - schema:Discontinued
}
}
WHERE
{
?product_row <#productID> ?productID ;
<#productName> ?productName ;
<#supplierID> ?supplierID ;
<#categoryID> ?categoryID ;
<#quantityPerUnit> ?quantityPerUnit ;
<#unitPrice> ?unitPriceString ;
<#unitsInStock> ?unitsInStockString ;
<#unitsOnOrder> ?unitsOnOrderString ;
<#reorderLevel> ?reorderLevelString ;
<#discontinued> ?discontinuedString .
BIND (uri(concat(str($base), "products/")) AS ?container)
BIND(uri(concat(str(?container), encode_for_uri(?productID), "/")) AS ?graph)
BIND(uri(concat(str(?graph), "#this")) AS ?product)
BIND(uri(concat(str($base), "suppliers/", encode_for_uri(?supplierID), "/#this")) AS ?supplier)
BIND(uri(concat(str($base), "categories/", encode_for_uri(?categoryID), "/#this")) AS ?category)
BIND (STRDT(?unitPriceString, xsd:float) AS ?unitPrice)
BIND (STRDT(?unitsInStockString, xsd:integer) AS ?unitsInStock)
BIND (STRDT(?unitsOnOrderString, xsd:integer) AS ?unitsOnOrder)
BIND (STRDT(?reorderLevelString, xsd:integer) AS ?reorderLevel)
BIND (STRDT(?discontinuedString, xsd:integer) AS ?discontinued)
}