本文整理汇总了Java中org.apache.jena.rdf.model.NodeIterator.next方法的典型用法代码示例。如果您正苦于以下问题:Java NodeIterator.next方法的具体用法?Java NodeIterator.next怎么用?Java NodeIterator.next使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.jena.rdf.model.NodeIterator
的用法示例。
在下文中一共展示了NodeIterator.next方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: listSystemBeans
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
public static List<SystemBean> listSystemBeans(Model model, Resource involvingResource) {
List<SystemBean> systems = new ArrayList<>();
if (model == null) {
return systems;
}
// iterate over all systems
NodeIterator systemIterator = model.listObjectsOfProperty(involvingResource, HOBBIT.involvesSystemInstance);
RDFNode node;
while (systemIterator.hasNext()) {
node = systemIterator.next();
if (node.isResource()) {
systems.add(getSystemBean(model, node.asResource()));
}
}
return systems;
}
示例2: createParamValueBeans
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
private static void createParamValueBeans(Model model, Resource taskResource, NodeIterator parameterIterator,
Map<String, ConfigurationParamValueBean> parameters) {
RDFNode node;
Resource parameter;
Property paraProp;
String parameterUri;
while (parameterIterator.hasNext()) {
node = parameterIterator.next();
if (node.isResource()) {
parameter = node.asResource();
parameterUri = parameter.getURI();
paraProp = model.getProperty(parameterUri);
if (model.contains(taskResource, paraProp) && !parameters.containsKey(parameterUri)) {
ConfigurationParamValueBean paramBean = new ConfigurationParamValueBean();
paramBean.setId(parameterUri);
paramBean.setValue(RdfHelper.getStringValue(model, taskResource, paraProp));
parameters.put(parameterUri, paramBean);
}
}
}
}
示例3: getImageName
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
protected String getImageName(Model model, String subjUri) {
if (model == null) {
return null;
}
Resource subj = model.getResource(subjUri);
NodeIterator iterator = model.listObjectsOfProperty(subj, HOBBIT.imageName);
if (iterator.hasNext()) {
RDFNode node = iterator.next();
if (node.isLiteral()) {
return node.asLiteral().getString();
}
}
return null;
}
示例4: getAPIs
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
protected Set<String> getAPIs(Model model, Resource resource, boolean isBenchmark) {
Set<String> apis = new HashSet<>();
NodeIterator apisList = model.listObjectsOfProperty(resource,
isBenchmark ? HOBBIT.hasAPI : HOBBIT.implementsAPI);
while (apisList.hasNext()) {
RDFNode n = apisList.next();
apis.add(n.toString());
}
return apis;
}
示例5: getUsedImages
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
protected Set<String> getUsedImages(Model model, Resource resource) {
Set<String> images = new HashSet<>();
NodeIterator imagesList = model.listObjectsOfProperty(resource, HOBBIT.usesImage);
while (imagesList.hasNext()) {
RDFNode n = imagesList.next();
images.add(n.toString());
}
return images;
}
示例6: getImageName
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
protected static String getImageName(Model model, String subjUri) {
if (model == null) {
return null;
}
Resource subj = model.getResource(subjUri);
NodeIterator iterator = model.listObjectsOfProperty(subj, HOBBIT.imageName);
if (iterator.hasNext()) {
RDFNode node = iterator.next();
if (node.isLiteral()) {
return node.asLiteral().getString();
}
}
return null;
}
示例7: getAPIs
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
protected static Set<String> getAPIs(Model model, Resource resource, boolean isBenchmark) {
Set<String> apis = new HashSet<>();
NodeIterator apisList = model.listObjectsOfProperty(resource,
isBenchmark ? HOBBIT.hasAPI : HOBBIT.implementsAPI);
while (apisList.hasNext()) {
RDFNode n = apisList.next();
apis.add(n.toString());
}
return apis;
}
示例8: getChallengeTasksFromUri
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
private List<ExperimentConfiguration> getChallengeTasksFromUri(String challengeUri) {
Model model = getChallengeFromUri(challengeUri);
if (model == null) {
LOGGER.error("Couldn't get model for challenge {} . Aborting.", challengeUri);
return null;
}
Resource challengeResource = model.getResource(challengeUri);
Calendar executionDate = RdfHelper.getDateValue(model, challengeResource, HOBBIT.executionDate);
ResIterator taskIterator = model.listSubjectsWithProperty(HOBBIT.isTaskOf, challengeResource);
List<ExperimentConfiguration> experiments = new ArrayList<>();
while (taskIterator.hasNext()) {
Resource challengeTask = taskIterator.next();
String challengeTaskUri = challengeTask.getURI();
// get benchmark information
String benchmarkUri = RdfHelper.getStringValue(model, challengeTask, HOBBIT.involvesBenchmark);
String experimentId, systemUri, serializedBenchParams;
// iterate participating system instances
NodeIterator systemInstanceIterator = model.listObjectsOfProperty(challengeTask,
HOBBIT.involvesSystemInstance);
RDFNode sysInstance;
while (systemInstanceIterator.hasNext()) {
sysInstance = systemInstanceIterator.next();
if (sysInstance.isURIResource()) {
systemUri = sysInstance.asResource().getURI();
experimentId = generateExperimentId();
serializedBenchParams = RabbitMQUtils
.writeModel2String(createExpModelForChallengeTask(model, challengeTaskUri, systemUri));
experiments.add(new ExperimentConfiguration(experimentId, benchmarkUri, serializedBenchParams,
systemUri, challengeUri, challengeTaskUri, executionDate));
} else {
LOGGER.error("Couldn't get the benchmark for challenge task \"{}\". This task will be ignored.",
challengeTaskUri);
}
}
}
return experiments;
}
示例9: parseBenchmarkParameters
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
/**
* Retrieves benchmark parameters of the given benchmark from the given RDF
* model and adds them to the given {@link BenchmarkBean}.
*
* @param model
* the RDF model containing the benchmark parameters
* @param benchmark
* the {@link Resource} representing the benchmark
* @param benchmarkBean
* the {@link BenchmarkBean} to which the parameters should be
* added
*/
public static void parseBenchmarkParameters(Model model, Resource benchmark, BenchmarkBean benchmarkBean) {
NodeIterator nodeIterator = model.listObjectsOfProperty(benchmark, HOBBIT.hasParameter);
RDFNode node;
if (nodeIterator.hasNext()) {
benchmarkBean.setConfigurationParams(new ArrayList<>());
benchmarkBean.setConfigurationParamNames(new ArrayList<>());
}
while (nodeIterator.hasNext()) {
node = nodeIterator.next();
if (node.isResource()) {
parseBenchmarkParameter(model, node.asResource(), benchmarkBean);
}
}
}
示例10: getChallengeTask
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
public static ChallengeTaskBean getChallengeTask(Model model, Resource taskResource) {
if (model == null) {
return null;
}
ChallengeTaskBean task = new ChallengeTaskBean();
task.setName(RdfHelper.getLabel(model, taskResource));
task.setDescription(RdfHelper.getDescription(model, taskResource));
Resource benchmarkResource = RdfHelper.getObjectResource(model, taskResource, HOBBIT.involvesBenchmark);
if (benchmarkResource != null) {
task.setBenchmark(createBenchmarkBean(model, benchmarkResource));
task.getBenchmark().setSystems(listSystemBeans(model, taskResource));
}
task.setConfigurationParams(createParamValueBeans(model, taskResource, benchmarkResource));
task.setId(taskResource.getURI());
List<String> rankingKPIs = new ArrayList<>();
Resource rankingKPIsSequence = RdfHelper.getObjectResource(model, taskResource, HOBBIT.rankingKPIs);
if (rankingKPIsSequence != null) {
SeqImpl sequence = new SeqImpl(rankingKPIsSequence, (ModelCom) model);
NodeIterator sequenceIterator = sequence.iterator();
while (sequenceIterator.hasNext()) {
RDFNode node = sequenceIterator.next();
if (node.isResource()) {
rankingKPIs.add(node.asResource().toString());
}
}
}
task.setRankingKPIs(rankingKPIs);
return task;
}
示例11: objectsOfProperty
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
public static List<RDFNode> objectsOfProperty(Model model, Property property, Resource subject,
RDFNode objectToIgnore) {
List<RDFNode> objects = new ArrayList<>();
NodeIterator iterator = model.listObjectsOfProperty(subject, property);
while (iterator.hasNext()) {
RDFNode node = iterator.next();
if (!node.equals(objectToIgnore)) {
objects.add(node);
}
}
return objects;
}
示例12: prepare
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
@Before
public void prepare() {
InputStream input = ParameterForwardingTest.class.getClassLoader()
.getResourceAsStream("org/hobbit/controller/benchmark.ttl");
Assert.assertNotNull(input);
benchmarkModel = ModelFactory.createDefaultModel();
benchmarkModel.read(input, "", "TTL");
IOUtils.closeQuietly(input);
Property forwardedParameter = benchmarkModel
.getProperty("http://w3id.org/gerbil/hobbit/vocab#hasExperimentType");
// FIXME The param class should be replaced by a constant resource in the HOBBIT
// vocab
benchmarkModel.add(forwardedParameter, RDF.type,
benchmarkModel.getResource(HOBBIT.getURI() + "ForwardedParameter"));
input = ParameterForwardingTest.class.getClassLoader()
.getResourceAsStream("org/hobbit/controller/exampleExperiment.ttl");
Assert.assertNotNull(input);
benchmarkParamModel = ModelFactory.createDefaultModel();
benchmarkParamModel.read(input, "", "TTL");
IOUtils.closeQuietly(input);
System.out.println(benchmarkParamModel.toString());
NodeIterator iterator = benchmarkParamModel.listObjectsOfProperty(
benchmarkParamModel.getResource(Constants.NEW_EXPERIMENT_URI), forwardedParameter);
Assert.assertTrue(iterator.hasNext());
RDFNode forwardedNode = iterator.next();
input = ParameterForwardingTest.class.getClassLoader()
.getResourceAsStream("org/hobbit/controller/dummySystem.ttl");
Assert.assertNotNull(input);
expectedResult = ModelFactory.createDefaultModel();
expectedResult.read(input, "", "TTL");
IOUtils.closeQuietly(input);
expectedResult.add(expectedResult.getResource(systemUri), forwardedParameter, forwardedNode);
input = ParameterForwardingTest.class.getClassLoader()
.getResourceAsStream("org/hobbit/controller/dummySystem.ttl");
Assert.assertNotNull(input);
systemModel = ModelFactory.createDefaultModel();
systemModel.read(input, "", "TTL");
IOUtils.closeQuietly(input);
}
示例13: parseBenchmarkParameter
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
/**
* Parses the given parameter from the given RDFmodel and adds it to the
* given {@link BenchmarkBean}.
*
* @param model
* the RDF model containing the parameter
* @param parameter
* the {@link Resource} representing the parameter
* @param benchmarkBean
* the {@link BenchmarkBean} to which the parameter should be
* added
*/
public static void parseBenchmarkParameter(Model model, Resource parameter, BenchmarkBean benchmarkBean) {
// If this parameter can be configured
if (model.contains(parameter, RDF.type, HOBBIT.ConfigurableParameter)) {
ConfigurationParamBean configParam = new ConfigurationParamBean();
configParam.setId(parameter.getURI());
configParam.setName(RdfHelper.getLabel(model, parameter));
if (configParam.getName() == null) {
configParam.setName(parameter.getURI());
LOGGER.warn("The benchmark parameter {} does not have a label.", parameter.getURI());
}
configParam.setDescription(RdfHelper.getDescription(model, parameter));
if (configParam.getDescription() == null) {
LOGGER.warn("The benchmark parameter {} does not have a description.", parameter.getURI());
}
configParam.setDefaultValue(RdfHelper.getStringValue(model, parameter, HOBBIT.defaultValue));
configParam.setFeature(model.contains(parameter, RDF.type, HOBBIT.FeatureParameter));
NodeIterator nodeIterator = model.listObjectsOfProperty(parameter, RDFS.range);
RDFNode node;
if (nodeIterator.hasNext()) {
node = nodeIterator.next();
if (node.isResource()) {
Resource typeResource = node.asResource();
configParam.setRange(typeResource.getURI());
// If this is an XSD resource
if (XSD.getURI().equals(typeResource.getNameSpace())) {
configParam.setDatatype(parseXsdType(typeResource));
} else if (model.contains(typeResource, RDF.type, RDFS.Class)
|| model.contains(typeResource, RDF.type, OWL.Class)) {
// Maybe this parameter has a set of predefined enum
// values
configParam.setOptions(listOptions(model, typeResource));
}
}
}
// If the datatype couldn't be found and there is no list of options
if ((configParam.getDatatype() == null) && (configParam.getOptions() == null)) {
configParam.setDatatype(Datatype.STRING);
LOGGER.warn("Couldn't find datatype of parameter {}. Using String as default.", parameter.getURI());
}
benchmarkBean.getConfigurationParamNames().add(configParam.getName());
benchmarkBean.getConfigurationParams().add(configParam);
}
}
示例14: createKPIBeans
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
private static void createKPIBeans(Model model, Resource resource, ResIterator parameterIterator,
Map<String, KeyPerformanceIndicatorBean> kpis) {
Resource kpi;
Property kpiProp;
String parameterUri;
while (parameterIterator.hasNext()) {
kpi = parameterIterator.next();
parameterUri = kpi.getURI();
kpiProp = model.getProperty(parameterUri);
// If the KPI has not been seen before AND (it is either used as
// property with the given resource OR the given resource is
// connected via hobbit:measuresKPI with the KPI)
if ((model.contains(resource, kpiProp) || model.contains(resource, HOBBIT.measuresKPI, kpi))
&& !kpis.containsKey(parameterUri)) {
KeyPerformanceIndicatorBean kpiBean = new KeyPerformanceIndicatorBean();
kpiBean.setId(parameterUri);
kpiBean.setValue(RdfHelper.getStringValue(model, resource, kpiProp));
kpiBean.setName(RdfHelper.getLabel(model, kpiProp));
if (kpiBean.getName() == null) {
kpiBean.setName(kpi.getURI());
LOGGER.info("The benchmark parameter {} does not have a label.", kpi.getURI());
}
kpiBean.setDescription(RdfHelper.getDescription(model, kpiProp));
if (kpiBean.getDescription() == null) {
LOGGER.info("The benchmark parameter {} does not have a description.", kpi.getURI());
}
NodeIterator nodeIterator = model.listObjectsOfProperty(kpi, RDFS.range);
RDFNode node;
if (nodeIterator.hasNext()) {
node = nodeIterator.next();
if (node.isResource()) {
Resource typeResource = node.asResource();
kpiBean.setRange(typeResource.getURI());
// If this is an XSD resource
if (XSD.getURI().equals(typeResource.getNameSpace())) {
kpiBean.setDatatype(parseXsdType(typeResource));
}
}
}
Resource ranking = RdfHelper.getObjectResource(model, kpi, HOBBIT.ranking);
if (ranking != null) {
kpiBean.setRanking(ranking.toString());
}
kpis.put(parameterUri, kpiBean);
}
}
}
示例15: constructInstance
import org.apache.jena.rdf.model.NodeIterator; //导入方法依赖的package包/类
/**
* Constructs new anonymous individual of an ontology class.
* It walks up the superclass chains and executes SPIN constructors.
*
* @param forClass class for which to construct new instance
* @param property property that attaches <code>CONSTRUCT</code> query resource to class resource, usually <code>spin:constructor</code>
* @param instance the instance resource
* @param baseURI base URI of the query
* @param reachedClasses classes that were already constructed
* @see org.spinrdf.inference.SPINConstructors
* @return the instance resource with constructed properties
*/
public Resource constructInstance(OntClass forClass, Property property, Resource instance, String baseURI, Set<OntClass> reachedClasses)
{
if (forClass == null) throw new IllegalArgumentException("OntClass cannot be null");
if (instance == null) throw new IllegalArgumentException("Instance Resource cannot be null");
if (baseURI == null) throw new IllegalArgumentException("Base URI cannot be null");
if (reachedClasses == null) throw new IllegalArgumentException("Set<OntClass> cannot be null");
// do not construct instance for the same class more than once
if (reachedClasses.contains(forClass)) return instance;
NodeIterator constructorIt = forClass.listPropertyValues(property);
try
{
while (constructorIt.hasNext()) // traverse all constructors
{
RDFNode constructor = constructorIt.next();
if (!constructor.isResource())
{
if (log.isErrorEnabled()) log.error("Constructor is invoked but {} is not defined for class '{}'", property, forClass.getURI());
throw new OntologyException("Constructor is invoked but '" + property.getURI() + "' not defined for class '" + forClass.getURI() +"'");
}
Statement queryText = constructor.asResource().getProperty(SP.text);
if (queryText == null || !queryText.getObject().isLiteral())
{
if (log.isErrorEnabled()) log.error("Constructor resource '{}' does not have sp:text property", constructor);
throw new OntologyException("Constructor resource '" + constructor + "' does not have sp:text property");
}
Query basedQuery = new ParameterizedSparqlString(queryText.getString(), baseURI).asQuery();
QuerySolutionMap bindings = new QuerySolutionMap();
bindings.add(SPIN.THIS_VAR_NAME, instance);
// skip SPIN template bindings for now - might support later
// execute the constructor on the target model
try (QueryExecution qex = QueryExecutionFactory.create(basedQuery, instance.getModel()))
{
qex.setInitialBinding(bindings);
instance.getModel().add(qex.execConstruct());
reachedClasses.add(forClass);
}
}
}
finally
{
constructorIt.close();
}
ExtendedIterator<OntClass> superClassIt = forClass.listSuperClasses();
try
{
while (superClassIt.hasNext())
{
OntClass superClass = superClassIt.next();
constructInstance(superClass, property, instance, baseURI, reachedClasses);
}
}
finally
{
superClassIt.close();
}
return instance;
}