@prefix rr: . @prefix ex: . @prefix xsd: . @prefix rdfs: . @prefix foaf: . @prefix vcard: . @prefix gr: . @prefix schema: . # Customer Mapping <#CustomerMapping> rr:logicalTable [ rr:tableName "Demo..Customers" ]; rr:subjectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/customer/{CustomerID}"; rr:class schema:Organization; ]; rr:predicateObjectMap [ rr:predicate schema:name; rr:objectMap [ rr:column "CompanyName" ]; ]; rr:predicateObjectMap [ rr:predicate schema:contactPoint; rr:objectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/contact/{CustomerID}"; rr:termType rr:IRI; ]; ]; rr:predicateObjectMap [ rr:predicate schema:address; rr:objectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/address/{CustomerID}"; rr:termType rr:IRI; ]; ]. # Customer Contact Point Mapping <#CustomerContactMapping> rr:logicalTable [ rr:tableName "CUSTOMERS" ]; rr:subjectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/contact/{CustomerID}"; rr:class schema:ContactPoint; ]; rr:predicateObjectMap [ rr:predicate schema:name; rr:objectMap [ rr:column "ContactName" ]; ]; rr:predicateObjectMap [ rr:predicate schema:contactType; rr:objectMap [ rr:column "ContactTitle" ]; ]; rr:predicateObjectMap [ rr:predicate schema:telephone; rr:objectMap [ rr:column "Phone" ]; ]; rr:predicateObjectMap [ rr:predicate schema:faxNumber; rr:objectMap [ rr:column "Fax" ]; ]. # Order Mapping <#OrderMapping> rr:logicalTable [ rr:tableName "Demo..Orders" ]; rr:subjectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/order/{OrderID}"; rr:class schema:Order; ]; rr:predicateObjectMap [ rr:predicate schema:orderDate; rr:objectMap [ rr:column "OrderDate"; rr:datatype xsd:date; ]; ]; rr:predicateObjectMap [ rr:predicate schema:customer; rr:objectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/customer/{CustomerID}"; rr:termType rr:IRI; ]; ]; rr:predicateObjectMap [ rr:predicate ex:requiredDate; rr:objectMap [ rr:column "RequiredDate"; rr:datatype xsd:date; ]; ]; rr:predicateObjectMap [ rr:predicate schema:orderStatus; rr:objectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/status/{ShippedDate}"; rr:termType rr:IRI; ]; ]. # Product Mapping <#ProductMapping> rr:logicalTable [ rr:tableName "Demo..Products" ]; rr:subjectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/product/{ProductID}"; rr:class gr:ProductOrService; ]; rr:predicateObjectMap [ rr:predicate schema:name; rr:objectMap [ rr:column "ProductName" ]; ]; rr:predicateObjectMap [ rr:predicate gr:hasManufacturer; rr:objectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/supplier/{SupplierID}"; rr:termType rr:IRI; ]; ]; rr:predicateObjectMap [ rr:predicate schema:category; rr:objectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/category/{CategoryID}"; rr:termType rr:IRI; ]; ]; rr:predicateObjectMap [ rr:predicate gr:quantityOfProduct; rr:objectMap [ rr:column "UnitsInStock" ]; ]. # Order Details Mapping <#OrderDetailsMapping> rr:logicalTable [ rr:tableName "Demo..Order_Details" ]; rr:subjectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/orderitem/{OrderID}/{ProductID}"; rr:class schema:OrderItem; ]; rr:predicateObjectMap [ rr:predicate schema:orderItemNumber; rr:objectMap [ rr:column "ProductID" ]; ]; rr:predicateObjectMap [ rr:predicate schema:orderedItem; rr:objectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/product/{ProductID}"; rr:termType rr:IRI; ]; ]; rr:predicateObjectMap [ rr:predicate schema:price; rr:objectMap [ rr:column "UnitPrice"; rr:datatype xsd:decimal; ]; ]; rr:predicateObjectMap [ rr:predicate schema:orderQuantity; rr:objectMap [ rr:column "Quantity" ]; ]. # Employee Mapping <#EmployeeMapping> rr:logicalTable [ rr:tableName "Demo..Employees" ]; rr:subjectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/employee/{EmployeeID}"; rr:class foaf:Person; ]; rr:predicateObjectMap [ rr:predicate foaf:firstName; rr:objectMap [ rr:column "FirstName" ]; ]; rr:predicateObjectMap [ rr:predicate foaf:lastName; rr:objectMap [ rr:column "LastName" ]; ]; rr:predicateObjectMap [ rr:predicate schema:jobTitle; rr:objectMap [ rr:column "Title" ]; ]; rr:predicateObjectMap [ rr:predicate schema:reportsTo; rr:objectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/employee/{ReportsTo}"; rr:termType rr:IRI; ]; ]. # Category Mapping <#CategoryMapping> rr:logicalTable [ rr:tableName "Demo..Categories" ]; rr:subjectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/category/{CategoryID}"; rr:class schema:Category; ]; rr:predicateObjectMap [ rr:predicate schema:name; rr:objectMap [ rr:column "CategoryName" ]; ]; rr:predicateObjectMap [ rr:predicate schema:description; rr:objectMap [ rr:column "Description" ]; ]. # Supplier Mapping <#SupplierMapping> rr:logicalTable [ rr:tableName "Demo..Suppliers" ]; rr:subjectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/supplier/{SupplierID}"; rr:class gr:BusinessEntity; ]; rr:predicateObjectMap [ rr:predicate schema:name; rr:objectMap [ rr:column "CompanyName" ]; ]; rr:predicateObjectMap [ rr:predicate schema:contactPoint; rr:objectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/supplier/contact/{SupplierID}"; rr:termType rr:IRI; ]; ]; rr:predicateObjectMap [ rr:predicate foaf:homepage; rr:objectMap [ rr:column "HomePage" ]; ]. # Shipper Mapping <#ShipperMapping> rr:logicalTable [ rr:tableName "Demo..Shippers" ]; rr:subjectMap [ rr:template "http://demo.openlinksw.com/schemas/claude_northwind/shipper/{ShipperID}"; rr:class schema:ParcelDelivery; ]; rr:predicateObjectMap [ rr:predicate schema:name; rr:objectMap [ rr:column "CompanyName" ]; ]; rr:predicateObjectMap [ rr:predicate schema:telephone; rr:objectMap [ rr:column "Phone" ]; ].