@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ggen: <http://ggen.io/ontology#> .
@prefix ex: <http://example.org/maturity-matrix/level2#> .

# Level 2: Small Project Ontology (100-1,000 triples)
# Demonstrates structured RDF with multiple classes and relationships

ex:User a rdfs:Class ;
    rdfs:label "User" ;
    rdfs:comment "User account in the system" .

ex:Product a rdfs:Class ;
    rdfs:label "Product" ;
    rdfs:comment "Product in the catalog" .

ex:Order a rdfs:Class ;
    rdfs:label "Order" ;
    rdfs:comment "Customer order" .

# User properties
ex:userName a rdf:Property ;
    rdfs:domain ex:User ;
    rdfs:range rdfs:Literal ;
    rdfs:label "User Name" .

ex:userEmail a rdf:Property ;
    rdfs:domain ex:User ;
    rdfs:range rdfs:Literal ;
    rdfs:label "User Email" .

ex:userRole a rdf:Property ;
    rdfs:domain ex:User ;
    rdfs:range ex:Role ;
    rdfs:label "User Role" .

# Product properties
ex:productName a rdf:Property ;
    rdfs:domain ex:Product ;
    rdfs:range rdfs:Literal ;
    rdfs:label "Product Name" .

ex:productPrice a rdf:Property ;
    rdfs:domain ex:Product ;
    rdfs:range xsd:decimal ;
    rdfs:label "Product Price" .

ex:productCategory a rdf:Property ;
    rdfs:domain ex:Product ;
    rdfs:range ex:Category ;
    rdfs:label "Product Category" .

# Order properties
ex:orderUser a rdf:Property ;
    rdfs:domain ex:Order ;
    rdfs:range ex:User ;
    rdfs:label "Order User" .

ex:orderItems a rdf:Property ;
    rdfs:domain ex:Order ;
    rdfs:range ex:OrderItem ;
    rdfs:label "Order Items" .

ex:orderTotal a rdf:Property ;
    rdfs:domain ex:Order ;
    rdfs:range xsd:decimal ;
    rdfs:label "Order Total" .

# Relationships
ex:Role a rdfs:Class ;
    rdfs:label "Role" .

ex:Category a rdfs:Class ;
    rdfs:label "Category" .

ex:OrderItem a rdfs:Class ;
    rdfs:label "Order Item" .

