Package com.hp.hpl.jena.rdf.model

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


    TriplesMap trMap = kr2rmlMapping.getTriplesMapIndex().get(trMapRes.getURI());
    if (trMap == null) {
      logger.error("No Triples Map found for resource: " + trMapRes.getURI());
      return;
    }
    NodeIterator predObjItr = model.listObjectsOfProperty(trMapRes, predObjMapProp);
    while (predObjItr.hasNext()) {
      Resource pomBlankNode = predObjItr.next().asResource();
      // Create the PredicateObjectMap object for current POM
      PredicateObjectMap pom = new PredicateObjectMap(pomBlankNode.getURI(), trMap);
     
      // Get the predicate for the POM
      Predicate pred = null;
      NodeIterator pomPredItr = model.listObjectsOfProperty(pomBlankNode, predProp);
      while (pomPredItr.hasNext()) {
        RDFNode pomPredNode = pomPredItr.next();
        pred = new Predicate(pomPredNode.toString() + "-" + predicateIdCounter++);
       
        // Check if the predicate value is a URI or a literal (such as column name)
        if (pomPredNode instanceof Resource) {
          pred.getTemplate().addTemplateTermToSet(
              new StringTemplateTerm(((Resource) pomPredNode).getURI(), true));
        } else {
          pred.setTemplate(TemplateTermSetBuilder.
              constructTemplateTermSetFromR2rmlTemplateString(
                  pomPredNode.toString(), formatter));
        }
      }
      pom.setPredicate(pred);
     
      // Get the object for the POM
      ObjectMap objMap = null;
      NodeIterator pomObjItr = model.listObjectsOfProperty(pomBlankNode, objectMapProp);
     
      while (pomObjItr.hasNext()) {
        Resource objNode = pomObjItr.next().asResource();
       
        /** Check if objBlankNode is a RefObjectMap or a normal object map with column **/
        if (model.contains(objNode, rdfTypeProp, rfObjClassUri)) {
          NodeIterator parentTripleMapItr = model.listObjectsOfProperty(objNode,
              parentTriplesMapProp);
          while (parentTripleMapItr.hasNext()) {
            Resource parentTripleRes = parentTripleMapItr.next().asResource();
            TriplesMap parentTM = kr2rmlMapping.getTriplesMapIndex().get(parentTripleRes.getURI());
           
            // Create a RefObjectMap
            RefObjectMap rfMap = new RefObjectMap(objNode.getURI(), parentTM);
            objMap = new ObjectMap(getNewObjectMapId(objectMapCounter++), rfMap);
           
            // Add the link between triple maps in the auxInfo
            TriplesMapLink link = new TriplesMapLink(trMap, parentTM, pom)
            kr2rmlMapping.getAuxInfo().getTriplesMapGraph().addLink(link);
          }
        } else {
          NodeIterator objMapColStmts = model.listObjectsOfProperty(objNode, columnProp);
          // RDF Literal Type
          Statement objMapRdfLiteralTypeStmt = model.getProperty(objNode, rdfLiteralTypeProp);
          TemplateTermSet rdfLiteralTypeTermSet = null;
          if (objMapRdfLiteralTypeStmt != null && objMapRdfLiteralTypeStmt.getObject().isLiteral()) {
            StringTemplateTerm rdfLiteralTypeTerm =
                new StringTemplateTerm(objMapRdfLiteralTypeStmt.getObject().toString(), true);
            rdfLiteralTypeTermSet = new TemplateTermSet();
            rdfLiteralTypeTermSet.addTemplateTermToSet(rdfLiteralTypeTerm);
          }
          while (objMapColStmts.hasNext()) {
            RDFNode colNode = objMapColStmts.next();
            objMap = new ObjectMap(getNewObjectMapId(objectMapCounter++),
                TemplateTermSetBuilder.constructTemplateTermSetFromR2rmlColumnString(
                    colNode.toString(), formatter), rdfLiteralTypeTermSet);
          }
          if(objMap == null)
          {
            NodeIterator templateItr = model.listObjectsOfProperty(objNode, templateProp);
            //try a literal/constant node
            if(templateItr == null ||  !templateItr.hasNext()){
              templateItr = model.listObjectsOfProperty(objNode, constantProp);
            }
            TemplateTermSet objTemplTermSet = null;
            while (templateItr.hasNext()) {
              RDFNode templNode = templateItr.next();
              String template = templNode.toString();
              boolean isUri = !templNode.isLiteral();
              objTemplTermSet = TemplateTermSetBuilder.constructTemplateTermSetFromR2rmlTemplateString(
                template, isUri, kr2rmlMapping.getColumnNameFormatter());
           
View Full Code Here


    Property templateProp = model.getProperty(Uris.RR_TEMPLATE_URI);
    Property rdfTypeProp = model.getProperty(Uris.RDF_TYPE_URI);
    Property rrClassProp = model.getProperty(Uris.RR_CLASS_URI);
    Resource steinerTreeRootNodeRes = model.getResource(Uris.KM_STEINER_TREE_ROOT_NODE);
   
    NodeIterator subjMapsItr = model.listObjectsOfProperty(trMapRes, subjMapProp);
    while (subjMapsItr.hasNext()){
      Resource subjMapBlankRes = subjMapsItr.next().asResource();
      subjectMapResources.add(subjMapBlankRes);
     
      String subjMapId = subjMapBlankRes.getId().getLabelString();
      subjMap = new SubjectMap(subjMapId);
      kr2rmlMapping.getSubjectMapIndex().put(subjMapId, subjMap);
     
      // Get the subject template
      NodeIterator templateItr = model.listObjectsOfProperty(subjMapBlankRes, templateProp);
      TemplateTermSet subjTemplTermSet = null;
      while (templateItr.hasNext()) {
        RDFNode templNode = templateItr.next();
        String template = templNode.toString();
        subjTemplTermSet = TemplateTermSetBuilder.constructTemplateTermSetFromR2rmlTemplateString(
            template, kr2rmlMapping.getColumnNameFormatter());
        List<String> columnsCovered = new LinkedList<String>();
        for(TemplateTerm term : subjTemplTermSet.getAllColumnNameTermElements())
        {
          columnsCovered.add(term.getTemplateTermValue());
        }
        kr2rmlMapping.getAuxInfo().getSubjectMapIdToTemplateAnchor().put(subjMap.getId(), KR2RMLMappingAuxillaryInformation.findSubjectMapTemplateAnchor(columnsCovered));
       
      }
      subjMap.setTemplate(subjTemplTermSet);
     
      // Get the subject type
      NodeIterator rdfTypesItr = model.listObjectsOfProperty(subjMapBlankRes, rrClassProp);
      while (rdfTypesItr.hasNext()) {
        RDFNode typeNode = rdfTypesItr.next();
       
        if (typeNode.isAnon()) {
          NodeIterator typeTemplItr = model.listObjectsOfProperty(typeNode.asResource(),
              templateProp);
         
          while (typeTemplItr.hasNext()) {
            RDFNode templNode = typeTemplItr.next();
            String template = templNode.toString();
            TemplateTermSet typeTermSet = TemplateTermSetBuilder.
                constructTemplateTermSetFromR2rmlTemplateString(
                template);
            subjMap.addRdfsType(typeTermSet);
View Full Code Here

        List<String> columnsCovered = new ArrayList<String>();
        Resource blankNodeSubjRes = blankNodeSubjMapItr.next();
       
        SubjectMap subjMap = kr2rmlMapping.getSubjectMapIndex().get(blankNodeSubjRes.getId().getLabelString());
        subjMap.setAsBlankNode(true);
        NodeIterator bnodePrefixItr = model.listObjectsOfProperty(blankNodeSubjRes, kmBnodePrefixProp);
        while (bnodePrefixItr.hasNext()) {
          kr2rmlMapping.getAuxInfo().getBlankNodesUriPrefixMap().put(subjMap.getId(),
              bnodePrefixItr.next().toString());
        }
       
        TriplesMap mytm = null;
        for(TriplesMap tm : kr2rmlMapping.getTriplesMapList())
        {
View Full Code Here

  private List<String> getVariables(Model model, Resource service_resource) {
   
    Property has_variable_property = model.getProperty(Namespaces.KARMA + "hasVariable");
 
    List<String> variables = new ArrayList<String>();
    NodeIterator nodeIterator = null;
    RDFNode node = null;

    // hasAttribute
    nodeIterator = model.listObjectsOfProperty(service_resource, has_variable_property);
    while ( nodeIterator.hasNext()) {
      node = nodeIterator.next();
     
      if (!node.isResource()) {
        logger.info("object of the hasAttribute property is not a resource.");
        continue;
      }
View Full Code Here

    Property has_mandatory_attribute_property = model.getProperty(Namespaces.KARMA + "hasMandatoryAttribute");
    Property has_optional_attribute_property = model.getProperty(Namespaces.KARMA + "hasOptionalAttribute");

    List<Attribute> attList = new ArrayList<Attribute>();
   
    NodeIterator nodeIterator = null;
    RDFNode node = null;

    // hasAttribute
    nodeIterator = model.listObjectsOfProperty(io_resource, has_attribute_property);
    while ( nodeIterator.hasNext()) {
      node = nodeIterator.next();
     
      if (!node.isResource()) {
        logger.info("object of the hasAttribute property is not a resource.");
        continue;
      }
     
      attList.add(getAttribute(model, node.asResource(), ioType, AttributeRequirement.NONE));
    }

    // hasMandatoryAttribute
    nodeIterator = model.listObjectsOfProperty(io_resource, has_mandatory_attribute_property);
    while ( nodeIterator.hasNext()) {
      node = nodeIterator.next();
     
      if (!node.isResource()) {
        logger.info("object of the hasMandatoryAttribute property is not a resource.");
        continue;
      }
     
      attList.add(getAttribute(model, node.asResource(), ioType, AttributeRequirement.MANDATORY));
    }
   
    // hasOptionalAttribute
    nodeIterator = model.listObjectsOfProperty(io_resource, has_optional_attribute_property);
    while ( nodeIterator.hasNext()) {
      node = nodeIterator.next();
     
      if (!node.isResource()) {
        logger.info("object of the hasOptionalAttribute property is not a resource.");
        continue;
      }
View Full Code Here

   
    // attribute id
    att_id = att_resource.getLocalName();
    logger.debug("attribute id: " + att_id);

    NodeIterator nodeIterator = null;
    RDFNode node = null;
   

    // attribute name
    nodeIterator = model.listObjectsOfProperty(att_resource, has_name_property);
    if (nodeIterator.hasNext() && (node = nodeIterator.next()).isLiteral()) {
      att_name = node.asLiteral().getString();
      logger.debug("attribute name: " + att_name);
    } else
      logger.debug("attribute does not have a name.");
   
    // attribute grounded In
    nodeIterator = model.listObjectsOfProperty(att_resource, is_gounded_in_property);
    if (nodeIterator.hasNext() && (node = nodeIterator.next()).isLiteral()) {
      att_groundedIn = node.asLiteral().getString();
      logger.debug("attribute grounded in: " + att_groundedIn);
    } else
      logger.debug("attribute does not have agroundedIn value.");
View Full Code Here

  private edu.isi.karma.rep.model.Model getSemanticModel(Model model, Resource io_resource) {
   
    Property has_model_property = model.getProperty(Namespaces.KARMA + "hasModel");
    Property has_atom_property = model.getProperty(Namespaces.KARMA + "hasAtom");
   
    NodeIterator nodeIterator = null;
    RDFNode modelNode = null;
    RDFNode atomNode = null;

    // hasModel
    nodeIterator = model.listObjectsOfProperty(io_resource, has_model_property);
    if (!nodeIterator.hasNext() || !(modelNode = nodeIterator.next()).isResource()) {
      logger.info("There is no model resource.");
      return null;
    }

    edu.isi.karma.rep.model.Model semanticModel =
      new edu.isi.karma.rep.model.Model(modelNode.asResource().getLocalName());
    List<Atom> atoms = new ArrayList<Atom>();
   

    // hasAtom
    nodeIterator = model.listObjectsOfProperty(modelNode.asResource(), has_atom_property);
    while ( nodeIterator.hasNext()) {
      atomNode = nodeIterator.next();
     
      if (!atomNode.isResource()) {
        logger.info("object of the hasAtom property is not a resource.");
        continue;
      }
View Full Code Here

 
  private Atom getAtom(Model model, Resource atom_resource) {
   
    Property rdf_type = model.getProperty(Namespaces.RDF + "type");

    NodeIterator nodeIterator = null;
    RDFNode node = null;

    String classAtomUri = Namespaces.SWRL + "ClassAtom";
    String propertyAtomUri = Namespaces.SWRL + "IndividualPropertyAtom";
   
    // atom type
    nodeIterator = model.listObjectsOfProperty(atom_resource, rdf_type);
    if (!nodeIterator.hasNext() || !(node = nodeIterator.next()).isResource()) {
      logger.info("The atom type is not specified.");
      return null;
    }
   
    if (node.asResource().getURI().equalsIgnoreCase(classAtomUri)) {
View Full Code Here

    Property class_predicate_property = model.getProperty(Namespaces.SWRL + "classPredicate");
    Property argument1_property = model.getProperty(Namespaces.SWRL + "argument1");


    NodeIterator nodeIterator = null;
    RDFNode node = null;

    // atom class predicate
    nodeIterator = model.listObjectsOfProperty(atom_resource, class_predicate_property);
    if (!nodeIterator.hasNext() || !(node = nodeIterator.next()).isResource()) {
      logger.info("The class predicate resource is not specified.");
      return null;
    }
   
    predicateUri = node.asResource().getURI();
    logger.debug("The atom predicate is: " + predicateUri);
    predicateNs = node.asResource().getNameSpace();
    predicatePrefix = model.getNsURIPrefix(predicateNs);
   
    // atom argument1
    nodeIterator = model.listObjectsOfProperty(atom_resource, argument1_property);
    if (nodeIterator.hasNext() && (node = nodeIterator.next()).isResource()) {
      argument1Id = node.asResource().getLocalName();
      logger.debug("The atom argument1 is: " + argument1Id);
     
      if (isInstanceOfTheClass(node.asResource(), attribute))
        argument1Type = ArgumentType.ATTRIBUTE;
View Full Code Here

    Property property_predicate_property = model.getProperty(Namespaces.SWRL + "propertyPredicate");
    Property argument1_property = model.getProperty(Namespaces.SWRL + "argument1");
    Property argument2_property = model.getProperty(Namespaces.SWRL + "argument2");

    NodeIterator nodeIterator = null;
    RDFNode node = null;

    // atom class predicate
    nodeIterator = model.listObjectsOfProperty(atom_resource, property_predicate_property);
    if (!nodeIterator.hasNext() || !(node = nodeIterator.next()).isResource()) {
      logger.info("The property predicate resource is not specified.");
      return null;
    }
   
    predicateUri = node.asResource().getURI();
    logger.debug("The atom predicate is: " + predicateUri);
    predicateNs = node.asResource().getNameSpace();
    predicatePrefix = model.getNsURIPrefix(predicateNs);
   
    // atom argument1
    nodeIterator = model.listObjectsOfProperty(atom_resource, argument1_property);
    if (nodeIterator.hasNext() && (node = nodeIterator.next()).isResource()) {
      argument1Id = node.asResource().getLocalName();
      logger.debug("The atom argument1 is: " + argument1Id);
     
      if (isInstanceOfTheClass(node.asResource(), attribute))
        argument1Type = ArgumentType.ATTRIBUTE;
      else if (isInstanceOfTheClass(node.asResource(), variable))
        argument1Type = ArgumentType.VARIABLE;
     
    } else {
      logger.info("atom does not have an argument1.");
      return null;
    }

    // atom argument2
    nodeIterator = model.listObjectsOfProperty(atom_resource, argument2_property);
    if (nodeIterator.hasNext() && (node = nodeIterator.next()).isResource()) {
      argument2Id = node.asResource().getLocalName();
      logger.debug("The atom argument2 is: " + argument2Id);
     
      if (isInstanceOfTheClass(node.asResource(), attribute))
        argument2Type = ArgumentType.ATTRIBUTE;
View Full Code Here

TOP

Related Classes of com.hp.hpl.jena.rdf.model.NodeIterator

Copyright © 2018 www.massapicom. 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.