public static Set<Property> getRelevantPropertiesOfClass(Resource cls, SPINModuleRegistry registry) {
		Set<Property> results = new HashSet<Property>();
		
		StmtIterator it = cls.getModel().listStatements(null, RDFS.domain, cls);
		while (it.hasNext()) {
			Resource subject = it.next().getSubject();
			if (subject.isURIResource()) {
				results.add(cls.getModel().getProperty(subject.getURI()));
				JenaUtil.addDomainlessSubProperties(subject, results, new HashSet<Resource>());
			}
		}
		
		for(Resource superClass : JenaUtil.getSuperClasses(cls)) {
			Statement s = superClass.getProperty(OWL.onProperty);
			if(s != null && s.getObject().isURIResource()) {
				results.add(cls.getModel().getProperty(s.getResource().getURI()));
			}
		}
		
		Set<Property> others = RelevantProperties.getRelevantSPINPropertiesOfClass(cls, registry);
		if(others != null) {
			for(Property other : others) {
				results.add(other);
			}
		}
		
		return results;
	}