Category revenue

Text
PREFIX schema: <https://schema.org/>

SELECT ?categoryName (SUM(?sale) AS ?revenue)
WHERE {
    GRAPH ?orderGraph {
        ?order schema:orderedItem ?orderItem .
        ?orderItem schema:orderedItem ?product ;
                   schema:orderQuantity ?quantity ;
                   schema:price ?price .
        BIND(?quantity * ?price AS ?sale)
    }
    GRAPH ?productGraph {
        ?product schema:category ?category .
    }
    GRAPH ?categoryGraph {
        ?category schema:name ?categoryName .
    }
}
GROUP BY ?category ?categoryName
ORDER BY DESC(?revenue)
Title
Category revenue
Distinct subjects
77
Number of triples
770
WasGeneratedBy
Products

Products

Text
PREFIX foaf:       <http://xmlns.com/foaf/0.1/>
PREFIX dct:        <http://purl.org/dc/terms/>
PREFIX schema:     <https://schema.org/>
PREFIX xsd:        <http://www.w3.org/2001/XMLSchema#>

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)
}
Title
Products

Products

Delimiter
,
EndedAtTime
30 March 2026 22:46
File
products.csv
Query
Products
StartedAtTime
30 March 2026 22:44
Title
Products

Products by sales

Text
PREFIX  schema: <https://schema.org/>

SELECT DISTINCT  ?productName (SUM(?sale) AS ?totalSales)
WHERE
  { GRAPH ?orderGraph
      { ?order    schema:orderedItem    ?orderItem .
        ?orderItem  schema:orderedItem  ?product ;
                  schema:orderQuantity  ?quantity ;
                  schema:price          ?price
      BIND (?quantity * ?price AS ?sale)
      }
    GRAPH ?productGraph
      { ?product  schema:name  ?productName }
  }
GROUP BY ?product ?productName
ORDER BY DESC(?totalSales)
LIMIT   5
Title
Products by sales
Category variable name
supplierName
Chart type
BarChart
Query
Supplier product count
Series variable name
productCount
Title
Products by supplier

products.csv

FileName
products.csv
Format
csv
Sha1sum (hex)
5a574f1396a686da3ce094ccf3aa0d9d754a7d5e
Title
products.csv

products.rq

FileName
products.rq
Format
plain
Sha1sum (hex)
1237e42e27e6c3cfb1b1b34a67831b0a6e26921b
Title
products.rq
Category variable name
categoryName
Chart type
BarChart
Query
Category revenue
Series variable name
revenue
Title
Revenue by category

Select products

Text
PREFIX  schema: <https://schema.org/>

  SELECT DISTINCT  ?product
  WHERE
    { GRAPH ?doc
        { ?product  a                schema:Product ;
                    schema:name      ?productName ;
                    schema:provider  ?supplier ;
                    schema:category  ?category
        }
    }
  ORDER BY ?productName
Title
Select products

select-products-view

Layout mode
Table
Query
Select products
Text
PREFIX schema: <https://schema.org/>

SELECT ?supplierName (COUNT(DISTINCT ?product) AS ?productCount)
WHERE {
    GRAPH ?productGraph {
        ?product a schema:Product ;
                 schema:provider ?supplier .
    }
    GRAPH ?supplierGraph {
        ?supplier schema:name ?supplierName .
    }
}
GROUP BY ?supplier ?supplierName
ORDER BY DESC(?productCount)
LIMIT 10
Title
Supplier product count
Category variable name
productName
Chart type
BarChart
Query
Products by sales
Series variable name
totalSales
Title
Top selling products