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

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


       
        // Find a particular description in the file where there are several:
        Model spec = FileManager.get().loadModel(assemblerFile) ;

        // Find the right starting point for the description in some way.
        Resource root = null ;

        if ( false )
            // If you know the Resource URI:
            root = spec.createResource("http://example/myChoiceOfURI" );
        else
View Full Code Here


    }

    private static boolean testResourceCovered( List< ? extends Resource> l, Property rel, boolean inverse, Resource r ) {
        boolean rCovered = false;
        for (Iterator< ? extends Resource> i = l.iterator();  !rCovered && i.hasNext(); ) {
            Resource next = i.next();
            rCovered = inverse ? r.hasProperty( rel, next ) : next.hasProperty( rel, r );
        }
        return rCovered;
    }
View Full Code Here

        }
        Node resAsNode = old.asNode() ;
        Model model = old.getModel() ;
        Graph graph = model.getGraph() ;
        Graph rawGraph = graph instanceof InfGraph ? ((InfGraph) graph).getRawGraph() : graph ;
        Resource newRes = model.createResource(uri) ;
        Node newResAsNode = newRes.asNode() ;
        
       
        boolean changeOccured = false ;
        List<Triple> triples = new ArrayList<Triple>(WINDOW_SIZE) ;
       
View Full Code Here

        // queue of resources we have not yet visited
        List<RDFNode> queue = new LinkedList<RDFNode>();
        queue.add( root );

        while (!queue.isEmpty()) {
            Resource r = (Resource) queue.remove( 0 );

            // check for multiple paths arriving at this queue node
            if (!seen.contains( r )) {
                seen.add( r );

                // add the statements to the output model, and queue any new resources
                for (StmtIterator i = r.listProperties(); i.hasNext(); ) {
                    Statement s = i.nextStatement();

                    // don't do the occurs check now in case of reflexive statements
                    m.add( s );
View Full Code Here

     * @param model
     * @return Dataset
     */
    public static Dataset assemble(Model model)
    {
        Resource r = GraphUtils.findRootByType(model, DatasetAssembler.getType()) ;
        if ( r == null )
            throw new ARQException("No root found for type <"+DatasetAssembler.getType()+">") ;
       
        return assemble(r) ;
    }
View Full Code Here

    public void createCatalog()
    {
        Model model = ParserUtil.getModelProperties();

        Resource eurostatURI = model.createResource(ParserUtil.baseURI + "Eurostat");
        String datatypeDate = ParserUtil.xsd + "date";

        Element element = xmlDocument.getDocumentElement();
        NodeList leafs = element.getElementsByTagName("nt:leaf");
        if(leafs != null && leafs.getLength() > 0)
        {
            for(int i=0; i < leafs.getLength(); i++)
            {
                Element leaf = (Element)leafs.item(i);
                if(leaf.getAttribute("type").equals("dataset") || leaf.getAttribute("type").equals("table"))
                {
                    NodeList leafCodes = leaf.getElementsByTagName("nt:code");
                    String code = leafCodes.item(0).getTextContent().trim();

                    Resource dss = model.createResource(ParserUtil.dssURI + code);
                    Resource dsd = model.createProperty(ParserUtil.dsdURI + code);

                    //datasetURI a qb:DataSet
                    model.add(dss, ParserUtil.type, ParserUtil.qbDataset);

                    //datasetURI qb:structure dsdURI
View Full Code Here

        StringBuilder nowYYYYMMDD = new StringBuilder( dateformatYYYYMMDD.format( dateNow ) );
        String datatypeDate = ParserUtil.xsd + "date";

        Model model = ParserUtil.getModelProperties();

        Resource eurostatURI = model.createResource(ParserUtil.baseURI);
        Resource eurostatVoIDURI = model.createResource(ParserUtil.baseURI + "void.ttl");
        Resource eurostatDatasetURI = model.createResource(ParserUtil.baseURI + "void.ttl#eurostat");

        model.add(eurostatVoIDURI, ParserUtil.type, model.createResource(ParserUtil.voidURI + "DatasetDescription"));
        model.add(eurostatVoIDURI, model.createProperty(ParserUtil.dcterms + "title"), model.createLiteral("A VoID Description of the eurostat.linked-statistics.org Dataset", "en"));
        model.add(eurostatVoIDURI, model.createProperty(ParserUtil.dcterms + "creator"), model.createResource("http://csarven.ca/#i"));
        model.add(eurostatVoIDURI, model.createProperty(ParserUtil.foaf + "primaryTopic"), eurostatDatasetURI);

        model.add(eurostatDatasetURI, ParserUtil.type, ParserUtil.voidDataset);
        model.add(eurostatDatasetURI, model.createProperty(ParserUtil.foaf + "homepage"), eurostatURI);
        model.add(eurostatDatasetURI, model.createProperty(ParserUtil.dcterms + "title"), model.createLiteral("Eurostat Linked Data", "en"));

        model.add(eurostatDatasetURI, model.createProperty(ParserUtil.dcterms + "modified"), model.createTypedLiteral(nowYYYYMMDD, datatypeDate));
/*
TODO: Add
dcterms:source [ foaf:homepage <http://eurostat.linked-statistics.org/> ] ;
dcterms:publisher [ foaf:homepage <http://deri.ie/> ] ;

Add
        model.add(dss, model.createProperty(ParserUtil.dcterms + "created"), model.createTypedLiteral("????-??-??", datatypeDate));

*/


        Element element = xmlDocument.getDocumentElement();
        NodeList leafs = element.getElementsByTagName("nt:leaf");
        if(leafs != null && leafs.getLength() > 0)
        {
            for(int i=0; i < leafs.getLength(); i++)
            {
                Element leaf = (Element)leafs.item(i);
                if(leaf.getAttribute("type").equals("dataset") || leaf.getAttribute("type").equals("table"))
                {
                    NodeList leafCodes = leaf.getElementsByTagName("nt:code");
                    String code = leafCodes.item(0).getTextContent().trim();

                    Resource dss = model.createResource(ParserUtil.dssURI + code);

                    model.add(eurostatDatasetURI, ParserUtil.voidSubset, dss);
                    model.add(dss, ParserUtil.type, ParserUtil.voidDataset);
                    model.add(dss, model.createProperty(ParserUtil.voidURI + "dataDump"), model.createResource("http://eurostat.linked-statistics.org/data/" + code + ".rdf"));
                    model.add(dss, model.createProperty(ParserUtil.voidURI + "dataDump"), model.createResource("http://eurostat.linked-statistics.org/dsd/" + code + ".rdf"));
View Full Code Here

    Iterator it = obj.toc.entrySet().iterator();
    String lang = "";
    String title = "";
      while (it.hasNext()) {
      Map.Entry pairs = (Map.Entry)it.next();
      Resource dsd = model.createResource(ParserUtil.titleURI + pairs.getKey());
          hsh = (HashMap<String,String>)pairs.getValue();
          Iterator iter = hsh.entrySet().iterator();
          while(iter.hasNext())
          {
            Map.Entry titles = (Map.Entry)iter.next();
View Full Code Here

  }
 
  public void produceRDF()
  {
    Model model = ParserUtil.getModelProperties();
    Resource root = model.createResource( baseURI + "dsd/" + fileName.substring(0,fileName.indexOf("_DSD")) );
   
    model.add(root,ParserUtil.type,ParserUtil.dsd).add(root,ParserUtil.notation,fileName);
   
    for(Dimension dim:lstDimensions)
    {
      Resource component_1 = model.createResource();
      model.add(root,ParserUtil.component,component_1);
      Property prop = model.createProperty(ParserUtil.property + (dim.getConceptRef().toLowerCase().equals("time_period") ? "time" : dim.getConceptRef().toLowerCase()));
      model.add(component_1,ParserUtil.dimension,prop);
      model.add(prop,ParserUtil.type,ParserUtil.dimensionProperty);
      model.add(prop,ParserUtil.type,ParserUtil.codedProperty);
      model.add(prop,ParserUtil.rdfsDomain,ParserUtil.observation);
     
      if(!dim.getCodeList().equals(""))
      {
        for(CodeList obj:lstCodeLists)
        {
          if(obj.getId().toString().equals(dim.getCodeList().toString()))
          {
            if(obj.getAgencyID().equals("SDMX"))
            {
              // re-use the URI from sdmx-code.ttl file
              String codeList = getCodeList(obj.getId());
              Property cList = model.createProperty(ParserUtil.sdmx_code + codeList);
              model.add(prop,ParserUtil.codeList,cList);
              model.add(prop,ParserUtil.rdfsRange,ParserUtil.skosConcept);
              Property cncpt = model.createProperty(ParserUtil.sdmx_concept + codeList);
              model.add(prop,ParserUtil.concept,cncpt);
            }
            else
            {
              Property cList = model.createProperty(ParserUtil.dicURI + obj.getId().substring(obj.getId().indexOf("_")+1).toLowerCase());
              model.add(prop,ParserUtil.codeList,cList);
              model.add(prop,ParserUtil.rdfsRange,ParserUtil.skosConcept);
              Property cncpt = model.createProperty(ParserUtil.concepts + (dim.getConceptRef().toLowerCase().equals("time_period") ? "time" : dim.getConceptRef().toLowerCase()));
              model.add(prop,ParserUtil.concept,cncpt);
            }
          }
        }
      }
      else
      {
        Property type = model.createProperty(ParserUtil.xsd + dim.getDataType().toLowerCase());
        model.add(prop,ParserUtil.rdfsRange,type);
      }
    }
   
    if(!obsValue.equals(""))
    {
      Resource component_1 = model.createResource();
      model.add(root,ParserUtil.component,component_1);
      Property prop = model.createProperty(ParserUtil.sdmx_measure + obsValue);
      model.add(component_1,ParserUtil.dimension,prop);
    }
   
    if(!freq.equals(""))
    {
      Resource component_1 = model.createResource();
      model.add(root,ParserUtil.component,component_1);
      Property prop = model.createProperty(ParserUtil.sdmx_dimension + freq);
      model.add(component_1,ParserUtil.dimension,prop);
    }
   
    if(!timePeriod.equals(""))
    {
      Resource component_1 = model.createResource();
      model.add(root,ParserUtil.component,component_1);
      Property prop = model.createProperty(ParserUtil.dcterms + "date");
      model.add(component_1,ParserUtil.dimension,prop);
    }
    //
    for(Dimension dim:lstTimeDimensions)
    {
      Resource component_1 = model.createResource();
      model.add(root,ParserUtil.component,component_1);
      Property prop = model.createProperty(ParserUtil.property + (dim.getConceptRef().toLowerCase().equals("time_period") ? "time" : dim.getConceptRef().toLowerCase()));
      model.add(component_1,ParserUtil.dimension,prop);
      model.add(prop,ParserUtil.type,ParserUtil.dimensionProperty);
      model.add(prop,ParserUtil.rdfsDomain,ParserUtil.observation);
     
      if(!dim.getCodeList().equals(""))
      {
        for(CodeList obj:lstCodeLists)
        {
          if(obj.getId().toString().equals(dim.getCodeList().toString()))
          {
            if(obj.getAgencyID().equals("SDMX"))
            {
              String codeList = getCodeList(obj.getId());
              Property cList = model.createProperty(ParserUtil.sdmx_code + codeList);
              model.add(prop,ParserUtil.codeList,cList);
              model.add(prop,ParserUtil.rdfsRange,ParserUtil.skosConcept);
              Property cncpt = model.createProperty(ParserUtil.sdmx_concept + codeList);
              model.add(prop,ParserUtil.concept,cncpt);
            }
            else
            {
              Property cList = model.createProperty(ParserUtil.dicURI + obj.getId().substring(obj.getId().indexOf("_")+1).toLowerCase());
              model.add(prop,ParserUtil.codeList,cList);
              model.add(prop,ParserUtil.rdfsRange,ParserUtil.skosConcept);
              Property cncpt = model.createProperty(ParserUtil.concepts + (dim.getConceptRef().toLowerCase().equals("time_period") ? "time" : dim.getConceptRef().toLowerCase()));
              model.add(prop,ParserUtil.concept,cncpt);
            }
          }
        }
      }
      else
      {
        Property type = model.createProperty(ParserUtil.xsd + dim.getDataType().toLowerCase());
        model.add(prop,ParserUtil.rdfsRange,type);
      }
    }
   
    //
    for(Measure measure:lstMeasures)
    {
      Resource component_1 = model.createResource();
      model.add(root,ParserUtil.component,component_1);
      Property prop = model.createProperty(ParserUtil.property + (measure.getConceptRef().toLowerCase().equals("time_period") ? "time" : measure.getConceptRef().toLowerCase()));
      model.add(component_1,ParserUtil.measure,prop);
      model.add(prop,ParserUtil.type,ParserUtil.measureProperty);
      model.add(prop,ParserUtil.type,ParserUtil.codedProperty);
      model.add(prop,ParserUtil.rdfsDomain,ParserUtil.observation);
     
      if(!measure.getCodeList().equals(""))
      {
        for(CodeList obj:lstCodeLists)
        {
          if(obj.getId().toString().equals(measure.getCodeList().toString()))
          {
            if(obj.getAgencyID().equals("SDMX"))
            {
              String codeList = getCodeList(obj.getId());
              Property cList = model.createProperty(ParserUtil.sdmx_code + codeList);
              model.add(prop,ParserUtil.codeList,cList);
              model.add(prop,ParserUtil.rdfsRange,ParserUtil.skosConcept);
              Property cncpt = model.createProperty(ParserUtil.sdmx_concept + codeList);
              model.add(prop,ParserUtil.concept,cncpt);
            }
            else
            {
              Property cList = model.createProperty(ParserUtil.dicURI + obj.getId().substring(obj.getId().indexOf("_")+1).toLowerCase());
              model.add(prop,ParserUtil.codeList,cList);
              model.add(prop,ParserUtil.rdfsRange,ParserUtil.skosConcept);
              Property cncpt = model.createProperty(ParserUtil.concepts + (measure.getConceptRef().toLowerCase().equals("time_period") ? "time" : measure.getConceptRef().toLowerCase()));
              model.add(prop,ParserUtil.concept,cncpt);
            }
          }
        }
      }
      else
      {
        Property type = model.createProperty(ParserUtil.xsd + measure.getDataType().toLowerCase());
        model.add(prop,ParserUtil.rdfsRange,type);
      }
    }
   
    //
    for(Attribute att:lstAttributes)
    {
      Resource component_1 = model.createResource();
      model.add(root,ParserUtil.component,component_1);
      Property prop = model.createProperty(ParserUtil.property + (att.getConceptRef().toLowerCase().equals("time_period") ? "time" : att.getConceptRef().toLowerCase()));
      model.add(component_1,ParserUtil.attribute,prop);
      model.add(prop,ParserUtil.type,ParserUtil.attributeProperty);
      model.add(prop,ParserUtil.type,ParserUtil.codedProperty);
      model.add(prop,ParserUtil.rdfsDomain,ParserUtil.observation);
     
      for(CodeList obj:lstCodeLists)
      {
        if(obj.getId().toString().equals(att.getCodeList().toString()))
        {
          if(obj.getAgencyID().equals("SDMX"))
          {
            // re-use the URI from sdmx-code.ttl file
            String codeList = getCodeList(obj.getId());
            Property cList = model.createProperty(ParserUtil.sdmx_code + codeList);
            model.add(prop,ParserUtil.codeList,cList);
            model.add(prop,ParserUtil.rdfsRange,ParserUtil.skosConcept);
            Property cncpt = model.createProperty(ParserUtil.sdmx_concept + codeList);
            model.add(prop,ParserUtil.concept,cncpt);
          }
          else
          {
            Property cList = model.createProperty(ParserUtil.dicURI + obj.getId().substring(obj.getId().indexOf("_")+1).toLowerCase());
            model.add(prop,ParserUtil.codeList,cList);
            model.add(prop,ParserUtil.rdfsRange,ParserUtil.skosConcept);
            Property cncpt = model.createProperty(ParserUtil.concepts + (att.getConceptRef().toLowerCase().equals("time_period") ? "time" : att.getConceptRef().toLowerCase()));
            model.add(prop,ParserUtil.concept,cncpt);
          }
        }
      }
    }

    // translates code lists
    String codeListID = "";
    String name;
    HashMap<String, String> hshName = new HashMap<String, String>();
   
    for(CodeList obj:lstCodeLists)
    {
      if(!obj.getAgencyID().equals("SDMX"))
      {
        codeListID = obj.getId().substring(obj.getId().indexOf("_")+1);
        Resource codeLists = model.createResource(baseURI + "dic/" + codeListID.toLowerCase());
       
        model.add(codeLists,ParserUtil.type,ParserUtil.conceptScheme);
       
        model.add(codeLists,ParserUtil.notation,obj.getId().toLowerCase());
       
        // print multilingual labels
        hshName = obj.gethshName();
        Iterator entrySetIterator = hshName.entrySet().iterator();
        while (entrySetIterator.hasNext())
        {
          Map.Entry entry = (Map.Entry) entrySetIterator.next();
                String key = (String) entry.getKey();
                name = hshName.get(key);
                model.add(codeLists,ParserUtil.rdfsLabel,model.createLiteral(name,key));
        }
       
        ArrayList<Code> arrCode = obj.getCode();
        for(Code code:arrCode)
        {
          String str = baseURI + "dic/" + codeListID.toLowerCase() + "#" + code.getValue();
          Resource res = model.createResource(str);
         
          model.add(codeLists,ParserUtil.topConcept,res);
         
          model.add(res,ParserUtil.type,ParserUtil.skosConcept);
         
          // print multilingual labels
          hshName = code.gethshDescription();
          Iterator entryIterator = hshName.entrySet().iterator();
          while (entryIterator.hasNext())
          {
            Map.Entry entry = (Map.Entry) entryIterator.next();
                  String key = (String) entry.getKey();
                  name = hshName.get(key);
                 
                  model.add(res,ParserUtil.skosLabel, model.createLiteral(name,key));
          }
         
          str = str.substring(0,str.indexOf("#"));
          Resource resource = model.createResource(str);
         
          model.add(res,ParserUtil.skosScheme,resource);
         
          model.add(res,ParserUtil.notation,code.getValue());
        }
      }
    }

    for(Concept concept:lstConcepts)
    {
      Resource con = model.createResource(ParserUtil.concepts + (concept.getId().toLowerCase().equals("time_period") ? "time" : concept.getId().toLowerCase()));
      model.add(con,ParserUtil.type,ParserUtil.sdmx);
      model.add(con,ParserUtil.notation,concept.getId().toLowerCase().equals("time_period") ? "time" : concept.getId().toLowerCase());
     
      //print multilingual labels
      hshName = concept.gethshName();
      Iterator entrySetIterator = hshName.entrySet().iterator();
      while (entrySetIterator.hasNext())
      {
        Map.Entry entry = (Map.Entry) entrySetIterator.next();
              String key = (String) entry.getKey();
              name = hshName.get(key);
              //writeLinetoFile("    skos:prefLabel \"" + name + "\"@" + key + ";");
              model.add(con,ParserUtil.skosLabel,model.createLiteral(name,key));
      }
     
      Resource res = model.createResource(ParserUtil.concepts);
      model.add(con,ParserUtil.skosScheme,res);
     
    }
   
    writeRDFToFile(fileName,model);
View Full Code Here

 
  public void createCatalog()
  {
    model = ParserUtil.getModelProperties();
   
    Resource main = model.createResource(ParserUtil.baseURI);
    model.add(main,ParserUtil.type,ParserUtil.voidDataset);
 
  }
View Full Code Here

TOP

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

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.