internal static IEnumerable <Rdfs.IClass> SuperClasses(this Rdfs.IClass @class) { IList <Rdfs.IClass> result = new List <Rdfs.IClass>(); foreach (var superClass in @class.SubClassOf) { result.AddRange(superClass.SuperClasses()); result.Add(superClass); } return(result); }
internal static bool IsClass(this Rdfs.IClass @class, Uri type) { return(((!(@class.Id is BlankId)) && (AbsoluteUriComparer.Default.Equals(@class.Id.Uri, type))) || (@class.SubClassOf.Any(superClass => superClass.IsClass(type)))); }
internal static bool IsCollection(this Rdfs.IClass @class) { return(@class.IsClass(@class.Context.Mappings.MappingFor <ICollection>().Classes.First().Uri)); }