Examples of StmtIterator


Examples of com.hp.hpl.jena.rdf.model.StmtIterator

          " required on resource " + pretty(resource));
    }
  }
 
  private void assertHasOneValue(Property p) {
    StmtIterator it = resource.listProperties(p);
    if (!it.hasNext()) {
      throw new ConfigurationException("Missing property " + pretty(p) +
          " on resource " + pretty(resource));
    }
    it.next();
    if (it.hasNext()) {
      throw new ConfigurationException("Too many values for property " +
          pretty(p) + " on resource " + pretty(resource));
    }
  }
View Full Code Here

Examples of com.hp.hpl.jena.rdf.model.StmtIterator

    Model result = ModelFactory.createDefaultModel();
    for (String prefix: original.getNsPrefixMap().keySet()) {
      String uri = original.getNsPrefixURI(prefix);
      result.setNsPrefix(prefix, rewrite(uri));
    }
    StmtIterator it = original.listStatements();
    while (it.hasNext()) {
      Statement stmt = it.nextStatement();
      Resource s = stmt.getSubject();
      if (s.isURIResource()) {
        s = result.createResource(rewrite(s.getURI()));
      }
      Property p = result.createProperty(
View Full Code Here

Examples of com.hp.hpl.jena.rdf.model.StmtIterator

    public Collection<Property> get() {
      if (dataSource == null) return Collections.emptyList();
      if (cache != null) return cache;
      cache = new ArrayList<Property>();
      Model result = dataSource.listPropertyValues(type.getURI(), RDF.type, true);
      StmtIterator it = result.listStatements(null, RDF.type, type);
      while (it.hasNext()) {
        Resource r = it.next().getSubject();
        if (!r.isURIResource()) continue;
        cache.add(r.as(Property.class));
      }
      return cache;
    }
View Full Code Here

Examples of com.hp.hpl.jena.rdf.model.StmtIterator

      Set<RDFNode> nodes = inverse ? getInverseValues(r) : getValues(r);
      return pickBestValue(nodes);
    }
    private Set<RDFNode> getValues(Resource r) {
      Set<RDFNode> nodes = new HashSet<RDFNode>();
      StmtIterator it = r.listProperties(property);
      while (it.hasNext()) {
        nodes.add(it.next().getObject());
      }
      return nodes;
    }
View Full Code Here

Examples of com.hp.hpl.jena.rdf.model.StmtIterator

      }
      return nodes;
    }
    private Set<RDFNode> getInverseValues(Resource r) {
      Set<RDFNode> nodes = new HashSet<RDFNode>();
      StmtIterator it = r.listProperties(OWL.inverseOf);
      while (it.hasNext()) {
        RDFNode object = it.next().getObject();
        if (!object.isResource()) continue;
        StmtIterator it2 = object.asResource().listProperties(property);
        while (it2.hasNext()) {
          nodes.add(it2.next().getObject());
        }
      }
      return nodes;
    }
View Full Code Here

Examples of com.hp.hpl.jena.rdf.model.StmtIterator

    this.sparqlDataSource = sparqlDataSource;
  }
 
  public void addCustomMetadata(Model document, Resource documentResource) {
    if (customTemplate == null) return;
    StmtIterator it = customTemplate.listProperties();
    while (it.hasNext()) {
      Statement stmt = it.nextStatement();
      document.add(documentResource, stmt.getPredicate(), stmt.getObject());
    }
    it = customTemplate.getModel().listStatements(null, null, customTemplate);
    while (it.hasNext()) {
      Statement stmt = it.nextStatement();
      if (stmt.getPredicate().equals(CONF.rdfDocumentMetadata)) {
        continue;
      }
      document.add(stmt.getSubject(), stmt.getPredicate(), documentResource);
    }
View Full Code Here

Examples of com.hp.hpl.jena.rdf.model.StmtIterator

    Model tplModel = FileManager.get().loadModel(metadataTemplate);

    // iterate over template statements to replace placeholders
    Model metadata = ModelFactory.createDefaultModel();
    currentDocRepr = metadata.createResource();
    StmtIterator it = tplModel.listStatements();
    while (it.hasNext()) {
      Statement stmt = it.nextStatement();
      Resource subj = stmt.getSubject();
      Property pred = stmt.getPredicate();
      RDFNode  obj  = stmt.getObject();
     
      try {
        if (subj.toString().contains(metadataPlaceholderURIPrefix)){
          subj = (Resource) parsePlaceholder(subj, controller, currentTime, currentDocRepr);
          if (subj == null) {
            // create a unique blank node with a fixed id.
            subj = getModel().createResource(new AnonId(String.valueOf(stmt.getSubject().hashCode())));
          }
        }
       
        if (obj.toString().contains(metadataPlaceholderURIPrefix)){
          obj = parsePlaceholder(obj, controller, currentTime, currentDocRepr);
        }
       
        // only add statements with some objects
        if (obj != null) {
          stmt = metadata.createStatement(subj,pred,obj);
          metadata.add(stmt);
        }
      } catch (Exception e) {
        // something went wrong, oops - lets better remove the offending statement
        metadata.remove(stmt);
        e.printStackTrace();
      }
    }
   
    // remove blank nodes that don't have any properties
    boolean changes = true;
    while ( changes ) {
      changes = false;
      StmtIterator stmtIt = metadata.listStatements();
      List<Statement> remList = new ArrayList<Statement>();
      while (stmtIt.hasNext()) {
        Statement s = stmtIt.nextStatement();
        if (    s.getObject().isAnon()
             && ! ((Resource) s.getObject().as(Resource.class)).listProperties().hasNext() ) {
          remList.add(s);
          changes = true;
        }
View Full Code Here

Examples of com.hp.hpl.jena.rdf.model.StmtIterator

      Property p  = getModel().createProperty(CONF.NS + phName);
      if (dataset.hasProperty(p))
        return dataset.getProperty(p).getObject();
     
      // find pointer to the global configuration set...
      StmtIterator it = dataset.getModel().listStatements(null, CONF.dataset, dataset);
      Statement ptrStmt = it.nextStatement();
      if (ptrStmt == null) return null;
     
      // look in global config if nothing found so far
      Resource globalConfig = ptrStmt.getSubject();
      if (globalConfig.hasProperty(p))
        return globalConfig.getProperty(p).getObject();
    }
   
    // <about:metadata:metadata:*> - The metadata provided by users
    if (phPackage.equals("metadata")) {
      // look for requested property in the dataset config
      Property p  = getModel().createProperty(META.NS + phName);
      if (dataset.hasProperty(p))
        return dataset.getProperty(p).getObject();
     
      // find pointer to the global configuration set...
      StmtIterator it = dataset.getModel().listStatements(null, CONF.dataset, dataset);
      Statement ptrStmt = it.nextStatement();
      if (ptrStmt == null) return null;
     
      // look in global config if nothing found so far
      Resource globalConfig = ptrStmt.getSubject();
      if (globalConfig.hasProperty(p))
View Full Code Here

Examples of com.hp.hpl.jena.rdf.model.StmtIterator

  }
 
  private List<ResourceProperty> buildProperties() {
    Map<String,PropertyBuilder> propertyBuilders =
        new HashMap<String,PropertyBuilder>();
    StmtIterator it = resource.listProperties();
    while (it.hasNext()) {
      Statement stmt = it.nextStatement();
      if (isEmptyLiteral(stmt.getObject())) continue;
      Property predicate = stmt.getPredicate();
      String key = "=>" + predicate;
      if (!propertyBuilders.containsKey(key)) {
        propertyBuilders.put(key, new PropertyBuilder(
            predicate, false, config.getVocabularyStore()));
      }
      // TODO: Should distinguish clearly here between adding a
      //       simple value, adding a complex (inlined) value, and
      //       omitting a value. But how to decide whether blank nodes
      //       are omitted or included as complex value? The decision has
      //       already been made earlier when the model was built.
      propertyBuilders.get(key).addValue(stmt.getObject());
    }
    it = model.listStatements(null, null, resource);
    while (it.hasNext()) {
      Statement stmt = it.nextStatement();
      Property predicate = stmt.getPredicate();
      String key = "<=" + predicate;
      if (!propertyBuilders.containsKey(key)) {
        propertyBuilders.put(key, new PropertyBuilder(
            predicate, true, config.getVocabularyStore()));
View Full Code Here

Examples of com.hp.hpl.jena.rdf.model.StmtIterator

      Collection<Property> properties) {
    Collection<RDFNode> results = new ArrayList<RDFNode>();
    Iterator<Property> it = properties.iterator();
    while (it.hasNext()) {
      com.hp.hpl.jena.rdf.model.Property property = (com.hp.hpl.jena.rdf.model.Property) it.next();
      StmtIterator labelIt = resource.listProperties(property);
      while (labelIt.hasNext()) {
        RDFNode label = labelIt.nextStatement().getObject();
        results.add(label);
      }
    }
    return results;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.