public string createListClass(string defined)
{
StringBuilder sb = new StringBuilder();
if (!listPropertiesOutput.Contains(defined) && defined.StartsWith("ifc"))
{
listPropertiesOutput.Add(defined);
sb.AppendLine(defined + "_EmptyList");
sb.AppendLine("\trdf:type owl:Class ;");
sb.AppendLine("\trdfs:subClassOf list:EmptyList, " + defined + "_List" + " .");
sb.AppendLine();
sb.AppendLine(defined + "_List");
sb.AppendLine("\trdf:type owl:Class ;");
sb.AppendLine("\trdfs:subClassOf list:OWLList ;");
sb.AppendLine("\trdfs:subClassOf");
sb.AppendLine("\t\t[");
sb.AppendLine("\t\t\trdf:type owl:Restriction ;");
sb.AppendLine("\t\t\towl:onProperty list:hasContents ;");
sb.AppendLine("\t\t\towl:allValuesFrom " + defined);
sb.AppendLine("\t\t] ;");
sb.AppendLine("\trdfs:subClassOf");
sb.AppendLine("\t\t[");
sb.AppendLine("\t\t\trdf:type owl:Restriction ;");
sb.AppendLine("\t\t\towl:onProperty list:isFollowedBy ;");
sb.AppendLine("\t\t\towl:allValuesFrom " + defined + "_List");
sb.AppendLine("\t\t] ;");
sb.AppendLine("\trdfs:subClassOf");
sb.AppendLine("\t\t[");
sb.AppendLine("\t\t\trdf:type owl:Restriction ;");
sb.AppendLine("\t\t\towl:onProperty list:hasNext ;");
sb.AppendLine("\t\t\towl:allValuesFrom " + defined + "_List");
sb.AppendLine("\t\t] .");
sb.AppendLine();
}
return sb.ToString();
}