public static PropertyValue getPropertyValue(String property, RDFNode n) {
		PropertyValue p = new PropertyValue();
		p.setProperty(property);
		if (n.isResource() || n.isURIResource()) {
			p.setType(PropertyType.URI);
			p.setValue(n.asResource().getURI());
		} else if (n.isLiteral()) {
			Literal l = n.asLiteral();
			RDFDatatype type = l.getDatatype();
			if (XSDDatatype.XSDinteger == type) {
				p.setValue(Integer.toString(l.getInt()));
				p.setType(PropertyType.INTEGER);
			} else if (XSDDatatype.XSDdouble == type) {
				p.setValue(Double.toString(l.getDouble()));
				p.setType(PropertyType.DOUBLE);
			} else if (XSDDatatype.XSDlong == type) {
				p.setValue(Long.toString(l.getLong()));
				p.setType(PropertyType.LONG);
			} else if (XSDDatatype.XSDstring == type) {
				p.setValue(l.getString());
				p.setType(PropertyType.STRING);
			}
		}
		return p;
	}