/// <summary> /// Static-ctor to initialize structures needed by SemanticsUtilities /// </summary> static RDFSemanticsUtilities() { RDFSemanticsUtilities.DefaultClasses = new Dictionary<Int64, RDFOntologyClass>(); //owl:Thing var owlThing = new RDFOntologyClass(RDFVocabulary.OWL.THING); RDFSemanticsUtilities.DefaultClasses.Add(owlThing.PatternMemberID, owlThing); //rdfs:Literal var rdfsLiteral = new RDFOntologyClass(RDFVocabulary.RDFS.LITERAL); RDFSemanticsUtilities.DefaultClasses.Add(rdfsLiteral.PatternMemberID, rdfsLiteral); //rdfs:Literal subclassOf owl:Thing owlThing.DirectSubClasses.Add(rdfsLiteral.PatternMemberID, rdfsLiteral); rdfsLiteral.DirectSuperClasses.Add(owlThing.PatternMemberID, owlThing); //rdfs:Datatype RDFDatatypeRegister.Instance.Register.ForEach(dt => { if (!dt.ToString().Equals(rdfsLiteral.ToString(), StringComparison.Ordinal)) { var dtCls = new RDFOntologyClass(new RDFResource(dt.ToString())); RDFSemanticsUtilities.DefaultClasses.Add(dtCls.PatternMemberID, dtCls); //rdfs:Datatype subclassOf rdfs:Literal rdfsLiteral.DirectSubClasses.Add(dtCls.PatternMemberID, dtCls); dtCls.DirectSuperClasses.Add(rdfsLiteral.PatternMemberID, rdfsLiteral); } }); }