All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.aksw.dcat.ap.utils.DcatUtils Maven / Gradle / Ivy

package org.aksw.dcat.ap.utils;

import org.aksw.jena_sparql_api.rdf.collections.ResourceUtils;
import org.apache.jena.rdf.model.RDFNode;
import org.apache.jena.rdf.model.Resource;
import org.apache.jena.vocabulary.DCAT;

public class DcatUtils {
	public static String getFirstDownloadUrlFromDistribution(Resource dcatDistribution) {
		String result = ResourceUtils.listPropertyValues(dcatDistribution, DCAT.downloadURL).toList().stream()
		        .filter(RDFNode::isURIResource)
		        .map(RDFNode::asResource)
		        .map(Resource::getURI)
		        .sorted()
		        .findFirst()
		        .orElse(null);

		return result;
	}
	
	public static String getFirstDownloadUrl(Resource dcatDataset) {
		String result = ResourceUtils.listPropertyValues(dcatDataset, DCAT.distribution, Resource.class).toList().stream()
	        .flatMap(d -> ResourceUtils.listPropertyValues(d, DCAT.downloadURL).toList().stream())
	        .filter(RDFNode::isURIResource)
	        .map(RDFNode::asResource)
	        .map(Resource::getURI)
	        .sorted()
	        .findFirst()
	        .orElse(null);

		return result;
	 }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy