当前位置: 首页>>代码示例>>Java>>正文


Java NodeIterator.next方法代码示例

本文整理汇总了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;
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:18,代码来源:RdfModelHelper.java

示例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);
            }
        }
    }
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:22,代码来源:RdfModelHelper.java

示例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;
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:15,代码来源:ImageManagerImpl.java

示例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;
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:11,代码来源:ImageManagerImpl.java

示例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;
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:10,代码来源:ImageManagerImpl.java

示例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;
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:15,代码来源:FileBasedImageManager.java

示例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;
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:11,代码来源:FileBasedImageManager.java

示例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;
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:38,代码来源:PlatformController.java

示例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);
        }
    }
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:27,代码来源:RdfModelHelper.java

示例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;
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:32,代码来源:RdfModelHelper.java

示例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;
}
 
开发者ID:semiotproject,项目名称:semiot-platform,代码行数:15,代码来源:ModelUtils.java

示例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);
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:44,代码来源:ParameterForwardingTest.java

示例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);
    }
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:58,代码来源:RdfModelHelper.java

示例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);
        }
    }
}
 
开发者ID:hobbit-project,项目名称:platform,代码行数:49,代码来源:RdfModelHelper.java

示例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;
}
 
开发者ID:AtomGraph,项目名称:Processor,代码行数:77,代码来源:Constructor.java


注:本文中的org.apache.jena.rdf.model.NodeIterator.next方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。