@prefix c: <http://denkbares.com/ConfigOptionsDemo/> .
@prefix dco: <http://denkbares.com/ConfigOptions/> .
@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#> .

dco:Edition a dco:ChoiceConfigOption;
  dco:availableChoice dco:FamilyEdition, dco:OffroadEdition, dco:SportsEdition .

dco:NumberOfDoors a dco:NumConfigOption;
  dco:max "5";
  dco:min "3" .

dco:Hitch a dco:ChoiceConfigOption;
  dco:availableChoice dco:WithHitch, dco:WithoutHitch .

dco:FamilyConstradicts3Doors a dco:ContradictingConstraint;
  dco:assignmentA [
      dco:is dco:FamilyEdition;
      dco:option dco:Edition
    ];
  dco:assignmentB [
      dco:is "3";
      dco:option dco:NumberOfDoors
    ] .

dco:ChoiceValue a owl:Class .

dco:option a owl:ObjectProperty .

dco:Car4 a dco:CarConfigSet;
  dco:hasConfiguration [
      dco:is dco:FamilyEdition;
      dco:option dco:Edition
    ], [
      dco:is "5";
      dco:option dco:NumberOfDoors
    ] .

dco:Car1 a dco:CarConfigSet;
  dco:hasConfiguration [
      dco:is dco:MediumEngine;
      dco:option dco:Engine
    ], [
      dco:is dco:WithHitch;
      dco:option dco:Hitch
    ] .

dco:WithHitch a dco:ChoiceValue .

dco:CarX a dco:CarConfigSet;
  dco:hasConfiguration [
      dco:is dco:WithHitch;
      dco:option dco:Engine
    ], [
      dco:is dco:SportsEdition;
      dco:option dco:Hitch
    ], [
      dco:is "99";
      dco:option dco:NumberOfDoors
    ] .

dco:assignmentB a owl:ObjectProperty .

dco:Car3 a dco:CarConfigSet;
  dco:hasConfiguration [
      dco:is dco:FamilyEdition;
      dco:option dco:Edition
    ], [
      dco:is "3";
      dco:option dco:NumberOfDoors
    ] .

dco:OffroadRequiresTurboEngine a dco:ContradictingConstraint;
  dco:assignmentA [
      dco:is dco:OffroadEdition;
      dco:option dco:Edition
    ];
  dco:assignmentB [
      dco:isNot dco:Turbo;
      dco:option dco:Engine
    ] .

dco:HitchConstradictsSmallEngine a dco:ContradictingConstraint;
  dco:assignmentA [
      dco:is dco:WithHitch;
      dco:option dco:Hitch
    ];
  dco:assignmentB [
      dco:is dco:SmallEngine;
      dco:option dco:Engine
    ];
  rdfs:label "Anhängerkupplung nicht mit kleinem Motor" .

dco:Constraint a owl:Class;
  c:color "orange" .

dco:hasConfiguration a owl:ObjectProperty .

dco:Car2 a dco:CarConfigSet;
  dco:hasConfiguration [
      dco:is dco:SmallEngine;
      dco:option dco:Engine
    ], [
      dco:is dco:WithHitch;
      dco:option dco:Hitch
    ], [
      dco:is dco:OffroadEdition;
      dco:option dco:Edition
    ] .

dco:ConfigOption a owl:Class;
  c:color "#80ccff" .

dco:NumConfigOption rdfs:subClassOf dco:ConfigOption .

dco:Turbo a dco:ChoiceValue .

dco:MediumEngine a dco:ChoiceValue .

dco:ContradictingConstraint rdfs:subClassOf dco:Constraint .

dco:Engine a dco:ChoiceConfigOption;
  dco:availableChoice dco:MediumEngine, dco:SmallEngine, dco:Turbo .

dco:assignmentA a owl:ObjectProperty .

dco:is a owl:ObjectProperty .

dco:min a owl:DatatypeProperty .

dco:max a owl:DatatypeProperty .

c:color a owl:DatatypeProperty .

dco:SmallEngine a dco:ChoiceValue .

dco:WithoutHitch a dco:ChoiceValue .

dco:SportsEdition a dco:ChoiceValue .

dco:ChoiceConfigOption rdfs:subClassOf dco:ConfigOption .

dco:FamilyEdition a dco:ChoiceValue .

dco:CarConfigSet a owl:Class .

dco:ConfigOptionAssignment a owl:Class .

dco:isNot a owl:ObjectProperty .

dco:OffroadEdition a dco:ChoiceValue .

dco:availableChoice a owl:ObjectProperty .

dco:hasDisjointSet a owl:ObjectProperty .
