Changeset 7779


Ignore:
Timestamp:
15/12/10 14:08:26 (9 years ago)
Author:
mnagni
Message:

Some fixes about parsing.

Location:
mauRepo/xml2owl/trunk
Files:
118 added
11 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/xml2owl/trunk

    • Property svn:ignore
      •  

        old new  
        88 
        99.project 
         10 
         11sample_cmip5qn_100930_mark.dump 
         12 
         132.1E.FutureTimeSlice_EnsambleORIGINAL.dump 
         14 
         15owl1.dump 
         16 
         17ontParserOut.owl 
         18 
         19sample_cmip5qn_100930_mark.owl 
  • mauRepo/xml2owl/trunk/pom.xml

    r7757 r7779  
    4040 
    4141                <dependency> 
     42                        <groupId>org.slf4j</groupId> 
     43                        <artifactId>slf4j-log4j12</artifactId> 
     44                        <version>1.5.3</version> 
     45                </dependency> 
     46 
     47                <!--  
     48                        Temporary dependencies due to the ndg.ontology.parser.support package, 
     49                        which hopefully will be separated in another artifact                    
     50                 --> 
     51                <dependency> 
    4252                        <groupId>edu.stanford.smi</groupId> 
    4353                        <artifactId>protege-owl</artifactId> 
     
    5565                        <artifactId>orphan-nodes-alg</artifactId> 
    5666                        <version>4.0</version> 
    57                 </dependency> 
    58  
    59                 <dependency> 
    60                         <groupId>org.slf4j</groupId> 
    61                         <artifactId>slf4j-log4j12</artifactId> 
    62                         <version>1.5.3</version> 
    6367                </dependency> 
    6468 
     
    122126                                <artifactId>maven-checkstyle-plugin</artifactId> 
    123127                                <version>2.6</version> 
    124                         <configuration> 
    125                           <configLocation>${project.basedir}/config/checkstyle.xml</configLocation> 
    126                         </configuration>                                 
     128                                <configuration> 
     129                                        <configLocation>${project.basedir}/config/checkstyle.xml</configLocation> 
     130                                </configuration> 
    127131                        </plugin> 
    128132                </plugins> 
  • mauRepo/xml2owl/trunk/protege.properties

    r7762 r7779  
    11#Protege Properties 
    2 #Thu Dec 02 13:45:26 GMT 2010 
     2#Wed Dec 15 13:42:51 GMT 2010 
    33history.projects.reopen=file\:/home/users/mnagni/workspace/ESGGateway/metafor/examples/newspaper/newspaper.pprj,file\:/home/users/mnagni/workspace/ESGGateway/metafor/examples/pizza/pizza.owl.pprj 
    44SwitchableClassDefinitionType=edu.stanford.smi.protegex.owl.ui.cls.LogicClassDefinitionWidgetType 
  • mauRepo/xml2owl/trunk/src/main/java/ndg/ontology/NdgOntParser.java

    r7757 r7779  
    4848import org.xml.sax.SAXException; 
    4949 
    50 import edu.stanford.smi.protege.exception.OntologyLoadException; 
    51  
    5250/** 
    5351 * Represents an general ingester for an ontology storage  
     
    7169        } 
    7270 
    73         public final void ingest(final InputStream xmlDoc) throws XPathExpressionException, XQException, ParserConfigurationException, SAXException, IOException, ResourceNotAvailable, JAXBException, OntologyLoadException, StatementSupportException { 
     71        public final void ingest(final InputStream xmlDoc) throws XPathExpressionException, XQException, ParserConfigurationException, SAXException, IOException, ResourceNotAvailable, JAXBException, StatementSupportException { 
    7472                getOntIngester().ingest(dh.parseDocument(xmlDoc)); 
    7573        } 
    7674         
    77         public void dump(final OutputStream out) throws StatementSupportException, ResourceNotAvailable, JAXBException, OntologyLoadException { 
     75        public void dump(final OutputStream out) throws StatementSupportException, ResourceNotAvailable, JAXBException { 
    7876                getOntIngester().dump(out); 
    7977        } 
    8078         
    81         private OntIngester getOntIngester() throws ResourceNotAvailable, JAXBException, OntologyLoadException { 
     79        private OntIngester getOntIngester() throws ResourceNotAvailable, JAXBException { 
    8280                if (ontIngester == null) { 
    8381                        ontIngester = new OntIngester(getIngesterConfig(),      getStatementSupport(), getXQDataSource()); 
  • mauRepo/xml2owl/trunk/src/main/java/ndg/ontology/OntIngester.java

    r7762 r7779  
    6262import org.xml.sax.SAXException; 
    6363 
    64 import edu.stanford.smi.protege.exception.OntologyLoadException; 
    65  
    6664/** 
    6765 * Ingests in a specific ontology model an XML document. 
     
    8886 
    8987        OntIngester(final InputStream ingesterConfig, final StatementSupport statementSupport, 
    90                         final XQDataSource xQDataSource) throws ResourceNotAvailable, JAXBException, OntologyLoadException { 
     88                        final XQDataSource xQDataSource) throws ResourceNotAvailable, JAXBException { 
    9189                manager = JAXBManager.getInstance(); 
    9290                ing = manager.unmarshall(ingesterConfig, Ingester.class); 
     
    151149                                } else if (obj instanceof AddTripleLiteral) { 
    152150                                        process((AddTripleLiteral) obj, xqe); 
    153                                 }                                        
     151                                } else if (obj instanceof AddComment) { 
     152                                        process((AddComment) obj, xqe); 
     153                                } 
     154                                 
    154155                        } catch (StatementSupportException e) { 
    155156                                if (LOGGER.isErrorEnabled()) { 
     
    199200                                continue; 
    200201                        }                                
    201                         statementSupport.addLabel(sbjClass, values[0].trim(), values[1].trim()); 
     202                        statementSupport.addComment(sbjClass, values[0].trim(), values[1].trim()); 
    202203                } 
    203204 
  • mauRepo/xml2owl/trunk/src/main/java/ndg/ontology/parser/support/JenaOntSupport.java

    r7757 r7779  
    9898        private Individual createIndividual(final String classURI, final  String individualURI) throws IndividualException { 
    9999                if (classURI == null) { 
    100                         if (LOGGER.isWarnEnabled()) { 
    101                                 LOGGER.warn("classURI null"); 
    102                         }                                
    103                         return null; 
     100                        throw new IndividualException("classURI null"); 
    104101                }                
    105102 
    106103                if (individualURI == null) { 
    107                         if (LOGGER.isWarnEnabled()) { 
    108                                 LOGGER.warn("individualURI null"); 
    109                         }                                 
    110                         return null;                     
    111                 }                
     104                        throw new IndividualException("individualURI null"); 
     105                }        
     106                 
     107                String indURI = individualURI.replaceAll("\\s", "_"); 
    112108                 
    113109                OntClass clazz = getClass(classURI); 
     110                if (clazz == null) { 
     111                        throw new IndividualException("Class(" + classURI + ") does not exists!"); 
     112                }        
     113                 
    114114                Individual individual = model.getIndividual(individualURI); 
    115                 if (individual == null) { 
     115                if (individual == null || !individual.hasRDFType(clazz)) { 
    116116                        individual = clazz.createIndividual(individualURI); 
    117117                } 
     118                 
     119                if (individual == null) { 
     120                        throw new IndividualException("Cannot create Individual(" + classURI + ":" + indURI + ")"); 
     121                }        
     122                 
    118123                if (LOGGER.isDebugEnabled()) { 
    119                         LOGGER.debug("Created Individual(" + classURI + ":" + individualURI + ")");                      
    120                 } 
     124                        LOGGER.debug("Created Individual(" + classURI + ":" + indURI + ")"); 
     125                }        
    121126                return individual; 
    122127        } 
     
    132137        @Override 
    133138        public void dump(final OutputStream out) throws StatementSupportException { 
    134                 model.write(out); 
     139                model.write(out, "RDF/XML-ABBREV"); 
    135140        } 
    136141} 
  • mauRepo/xml2owl/trunk/src/main/java/ndg/ontology/parser/support/ProtegeeOntSupport.java

    r7762 r7779  
    1111 
    1212import edu.stanford.smi.protegex.owl.jena.Jena; 
     13import edu.stanford.smi.protegex.owl.jena.JenaOWLModel; 
    1314import edu.stanford.smi.protegex.owl.model.OWLIndividual; 
    14 import edu.stanford.smi.protegex.owl.model.OWLModel; 
    1515import edu.stanford.smi.protegex.owl.model.OWLNamedClass; 
    1616import edu.stanford.smi.protegex.owl.model.RDFProperty; 
     
    2222         
    2323        /** The owl model. */ 
    24         private OWLModel model; 
     24        private JenaOWLModel model; 
    2525         
    26         public ProtegeeOntSupport(final OWLModel model) { 
     26        public ProtegeeOntSupport(final JenaOWLModel model) { 
    2727                super(); 
    2828                this.model = model; 
     
    135135        @Override 
    136136        public void dump(final OutputStream out) throws StatementSupportException { 
     137                /* 
     138                try { 
     139                        JenaOWLModel.saveModel(out, model.getOWLDLOntModel(), FileUtils.langXML, "http://mau.mau", "http://mau.mau"); 
     140                } catch (IOException e) { 
     141                        // TODO Auto-generated catch block 
     142                        e.printStackTrace(); 
     143                } 
     144                */ 
    137145                Jena.dumpRDF(model.getOntModel(), out); 
     146                /* 
     147                OWLModelWriter writer = new OWLModelWriter(model, model.getTripleStoreModel().getTopTripleStore(), new OutputStreamWriter(out)); 
     148                try { 
     149                        writer.write(); 
     150                } catch (IOException e) { 
     151                        // TODO Auto-generated catch block 
     152                        e.printStackTrace(); 
     153                }*/ 
     154                //model.getJenaModel().write(out, "N-TRIPLE"); 
     155                //model.getJenaModel().write(out,  "RDF/XML-ABBREV"); 
     156                //model.getJenaModel().write(out); 
    138157        } 
    139158} 
  • mauRepo/xml2owl/trunk/src/test/java/ndg/ontology/parser/OntSupportFactory.java

    r7721 r7779  
    11package ndg.ontology.parser; 
    22 
     3import ndg.ontology.parser.exception.ResourceNotAvailable; 
    34import ndg.ontology.parser.model.StatementSupport; 
    45import ndg.ontology.parser.support.JenaOntSupport; 
    56import ndg.ontology.parser.support.ProtegeeOntSupport; 
    67 
    7 import com.hp.hpl.jena.ontology.OntModel; 
     8import com.hp.hpl.jena.ontology.OntDocumentManager; 
     9import com.hp.hpl.jena.ontology.OntModelSpec; 
    810 
    9 import edu.stanford.smi.protegex.owl.model.OWLModel; 
     11import edu.stanford.smi.protege.exception.OntologyLoadException; 
     12import edu.stanford.smi.protegex.owl.ProtegeOWL; 
    1013 
    1114public class OntSupportFactory { 
    12         public static StatementSupport getInstance(OntModel model) { 
    13                 return new JenaOntSupport(model); 
     15        public static StatementSupport getJenaSupport(String model) { 
     16                String ont1 = "ONT1"; 
     17                OntDocumentManager.getInstance().addAltEntry(ont1, model); 
     18                return new JenaOntSupport(OntDocumentManager.getInstance().getOntology(ont1, OntModelSpec.OWL_MEM)); 
    1419        } 
    1520         
    16         public static StatementSupport getInstance(OWLModel model) { 
    17                 return new ProtegeeOntSupport(model); 
     21        public static StatementSupport getProtegeeSupport(String model) throws ResourceNotAvailable { 
     22                try { 
     23                        return new ProtegeeOntSupport(ProtegeOWL.createJenaOWLModelFromURI(model)); 
     24                } catch (OntologyLoadException e) { 
     25                        throw new ResourceNotAvailable(e); 
     26                }  
    1827        } 
    1928} 
  • mauRepo/xml2owl/trunk/src/test/java/ndg/ontology/parser/TestBindDOM.java

    r7757 r7779  
    11package ndg.ontology.parser; 
    22 
     3import java.io.File; 
     4import java.io.FileInputStream; 
    35import java.io.FileOutputStream; 
    46import java.io.IOException; 
    57import java.io.InputStream; 
    68import java.io.OutputStream; 
     9import java.net.URL; 
     10import java.util.ArrayList; 
     11import java.util.List; 
    712 
    813import javax.xml.bind.JAXBException; 
     
    2126 
    2227import edu.stanford.smi.protege.exception.OntologyLoadException; 
    23 import edu.stanford.smi.protegex.owl.ProtegeOWL; 
    2428 
    2529public class TestBindDOM { 
     
    3943        @Test 
    4044        public void doTest() throws ParserConfigurationException, SAXException, IOException, XPathExpressionException, 
    41                         ResourceNotAvailable, JAXBException, OntologyLoadException, XQException, StatementSupportException { 
     45                        ResourceNotAvailable, JAXBException, XQException, StatementSupportException { 
    4246 
    4347                //initialize the parser 
     
    4751 
    4852                //standard loop over the documents 
    49                 InputStream xmlDoc = getSample();  
    50                 ontParser.ingest(xmlDoc);  
    51                 OutputStream os = new FileOutputStream("owl.dump"); 
     53                String rootPath = "/home/users/mnagni/workspace/ESGGateway/metafor/src/test/resources"; 
     54 
     55                //String path = rootPath + "/sample_cmip5qn_100930_mark.xml"; 
     56                String path = rootPath + "/PersistedXML"; 
     57                 
     58                File[] files = getPaths(path); 
     59                for (File file : files) { 
     60                        InputStream xmlDoc = new FileInputStream(file);  
     61                        ontParser.ingest(xmlDoc); 
     62                } 
     63                OutputStream os = new FileOutputStream("ontParserOut.owl"); 
    5264                ontParser.dump(os); 
    5365        } 
    54  
    55         private InputStream getSample() { 
    56                 //String sample = "/sample_cmip5qn_100930_mark.xml"; 
    57                 String sample = "/2.1E.FutureTimeSlice_Ensemble.xml"; 
    58                 return getClass().getResourceAsStream(sample);   
     66         
     67        private File[] getPaths(String path) {           
     68            if (path != null) { 
     69                File file = new File(path); 
     70                if (file.isDirectory()){ 
     71                        return file.listFiles(); 
     72                } else { 
     73                        return new File[]{file}; 
     74                } 
     75            }            
     76                return null;             
    5977        } 
    6078         
    61         private StatementSupport getStatementSupport() throws OntologyLoadException {            
    62                 //return OntSupportFactory.getInstance(ProtegeOWL.createJenaOWLModelFromURI("http://ontologies.ucar.edu/owl/cim.owl")); 
    63                 return OntSupportFactory.getInstance(ProtegeOWL.createJenaOWLModelFromURI("http://ontologies.ucar.edu/owl/esg_data.owl")); 
     79        private StatementSupport getStatementSupport() throws ResourceNotAvailable {     
     80                return OntSupportFactory.getProtegeeSupport("http://ontologies.ucar.edu/owl/esg_data.owl"); 
     81                //return OntSupportFactory.getProtegeeSupport("http://ontologies.ucar.edu/owl/cim.owl"); 
     82                //return OntSupportFactory.getJenaSupport("http://ontologies.ucar.edu/owl/esg_data.owl"); 
    6483        } 
    6584         
  • mauRepo/xml2owl/trunk/src/test/resources/experimentIngestConfig.xml

    r7762 r7779  
    1616                <ndg:xquery> 
    1717                        <![CDATA[ 
    18                                 declare default element namespace "http://www.metaforclimate.eu/cim/1.1"; 
     18                                declare default element namespace "http://www.metaforclimate.eu/cim/1.4"; 
    1919                                declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    2020                                for $sn in //numericalExperiment/numericalRequirement 
     
    3232                <ndg:xquery> 
    3333                        <![CDATA[ 
    34                                 declare default element namespace "http://www.metaforclimate.eu/cim/1.1"; 
     34                                declare default element namespace "http://www.metaforclimate.eu/cim/1.4"; 
    3535                                declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    3636                                for $sn in //numericalExperiment/numericalRequirement 
     
    5252                <ndg:xquery> 
    5353                        <![CDATA[ 
    54                                 declare default element namespace "http://www.metaforclimate.eu/cim/1.1"; 
     54                                declare default element namespace "http://www.metaforclimate.eu/cim/1.4"; 
    5555                                declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    5656                                for $sn in //numericalExperiment/numericalRequirement 
     
    7474                <ndg:xquery> 
    7575                        <![CDATA[ 
    76                                 declare default element namespace "http://www.metaforclimate.eu/cim/1.1"; 
     76                                declare default element namespace "http://www.metaforclimate.eu/cim/1.4"; 
    7777                                declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    78                                 for $sn in //numericalExperiment/documentID 
    79                                 return 
    80                                                 concat(substring-before($sn, '_'), ";;", substring-after($sn, '_')) 
     78                                concat(numericalExperiment/documentID, ";;", numericalExperiment/rationale) 
    8179             ]]> 
    8280                </ndg:xquery> 
     
    8482         
    8583        <!-- NUMERICAL_EXPERIMENT.comment --> 
    86         <ndg:addLabel> 
     84        <ndg:addComment> 
    8785                <ndg:ontSubject> 
    8886                        http://www.earthsystemgrid.org/esg.owl#Experiment 
     
    9088                <ndg:xquery> 
    9189                        <![CDATA[ 
    92                                 declare default element namespace "http://www.metaforclimate.eu/cim/1.1"; 
     90                                declare default element namespace "http://www.metaforclimate.eu/cim/1.4"; 
    9391                                declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    94                                 for $sn in //numericalExperiment 
    95                                 return 
    96                                                 concat(substring-before($sn/documentID, '_'), ";;", $sn/rationale) 
     92                                concat(numericalExperiment/documentID, ";;", numericalExperiment/rationale) 
    9793             ]]> 
    9894                </ndg:xquery> 
    99         </ndg:addLabel> 
     95        </ndg:addComment> 
    10096         
    10197        <!-- NUMERICAL_EXPERIMENT.literals --> 
     
    107103                <ndg:xquery> 
    108104                        <![CDATA[ 
    109                                 declare default element namespace "http://www.metaforclimate.eu/cim/1.1"; 
     105                                declare default element namespace "http://www.metaforclimate.eu/cim/1.4"; 
    110106                                declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    111                                 for $sn in //numericalExperiment 
    112                                 return 
    113                                                 concat(substring-before($sn/documentID, '_'), ";;", $sn/why) 
     107                                concat(numericalExperiment/documentID, ";;", numericalExperiment/rationale)                              
    114108             ]]>             
    115109                </ndg:xquery>            
     
    123117                <ndg:xquery> 
    124118                        <![CDATA[ 
    125                                 declare default element namespace "http://www.metaforclimate.eu/cim/1.1"; 
     119                                declare default element namespace "http://www.metaforclimate.eu/cim/1.4"; 
    126120                                declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    127                                 for $sn in //numericalExperiment 
    128                                 return 
    129                                                 concat(substring-before($sn/documentID, '_'), ";;", $sn/requiredDuration/startDate) 
     121                                concat(numericalExperiment/documentID, ";;", numericalExperiment/numericalRequirement/requiredDuration/startDate) 
    130122             ]]>             
    131123                </ndg:xquery>            
     
    139131                <ndg:xquery> 
    140132                        <![CDATA[ 
    141                                 declare default element namespace "http://www.metaforclimate.eu/cim/1.1"; 
     133                                declare default element namespace "http://www.metaforclimate.eu/cim/1.4"; 
    142134                                declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    143                                 for $sn in //numericalExperiment 
    144                                 return 
    145                                                 concat(substring-before($sn/documentID, '_'), ";;", $sn/requiredDuration/endDate) 
     135                                concat(numericalExperiment/documentID, ";;", numericalExperiment/numericalRequirement/requiredDuration/endDate)                          
    146136             ]]>             
    147137                </ndg:xquery>            
     
    155145                <ndg:xquery> 
    156146                        <![CDATA[ 
    157                                 declare default element namespace "http://www.metaforclimate.eu/cim/1.1"; 
    158                                 declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    159                                 for $sn in //numericalExperiment 
    160                                 return 
    161                                                 concat(substring-before($sn/documentID, '_'), ";;", substring-before($sn/documentID, '_')) 
     147                                declare default element namespace "http://www.metaforclimate.eu/cim/1.4"; 
     148                                declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance";                               
     149                                concat(numericalExperiment/documentID, ";;", numericalExperiment/documentID) 
    162150             ]]>             
    163151                </ndg:xquery>            
     
    175163                <ndg:xquery> 
    176164                        <![CDATA[ 
    177                                 declare default element namespace "http://www.metaforclimate.eu/cim/1.1"; 
     165                                declare default element namespace "http://www.metaforclimate.eu/cim/1.4"; 
    178166                                declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    179                                 for $sn in //numericalExperiment 
    180                                 return 
    181                                                 concat(substring-before($sn/documentID, '_'), ";;", 'cmip5') 
     167                                concat(numericalExperiment/documentID, ";;", 'cmip5')                            
    182168             ]]>    
    183169                </ndg:xquery> 
     
    194180                <ndg:xquery> 
    195181                        <![CDATA[ 
    196                                 declare default element namespace "http://www.metaforclimate.eu/cim/1.1"; 
     182                                declare default element namespace "http://www.metaforclimate.eu/cim/1.4"; 
    197183                                declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    198                                 for $sn in //numericalExperiment 
    199                                         for $nr in $sn//numericalRequirement 
     184                                for $sn in //numericalExperiment//numericalRequirement 
    200185                                        return 
    201                                                         concat(substring-before($sn/documentID, '_'), ";;", $nr/id) 
     186                                                        concat(numericalExperiment/documentID, ";;", $sn/id) 
    202187             ]]>    
    203188                </ndg:xquery> 
  • mauRepo/xml2owl/trunk/src/test/resources/ingesterConfig.xml

    r7762 r7779  
    211211                        <![CDATA[ 
    212212                declare default element namespace "http://www.metaforclimate.eu/schema/cim/1.5"; 
    213                 for $sn in //CIMRecord/simulationRun//conformance/requirement/reference/name 
     213                for $sn in //CIMRecord/simulationRun//conformance/requirement/reference 
    214214                        return 
    215                                 concat($sn, ";;", $sn) 
     215                                concat($sn/name, ";;", $sn/description) 
    216216                ]]> 
    217217                </ndg:xquery> 
     
    227227                                declare default element namespace "http://www.metaforclimate.eu/schema/cim/1.5"; 
    228228                                for $conf in  //CIMRecord/simulationRun/conformance, 
    229                                 $name in $conf/requirement/reference/name 
    230                                 return 
    231                                     concat($name, ";;", $conf/source/reference/description)]]>               
     229                                $ref in $conf/requirement/reference 
     230                                return 
     231                                    concat($ref/name, ";;", $ref/description)]]>               
    232232                </ndg:xquery>            
    233233        </ndg:addComment> 
     
    263263                        let $res := for $item in $comp/modelComponent | $comp/modelComponent/childComponent/modelComponent   
    264264                        return  
    265                         concat($item/shortName, ";;", $item/shortName) 
     265                        concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/shortName, " ", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName) 
    266266                        return $res                      
    267267                ]]> 
     
    279279                                for $sn in $rt//childComponent/modelComponent/shortName 
    280280                                        return             
    281                                         concat($sn, ";;", $sn)  
     281                                        concat($sn, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $sn, " ", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName)  
    282282                ]]> 
    283283                </ndg:xquery>            
     
    326326                        let $res := for $item in $comp/modelComponent | $comp/modelComponent/childComponent/modelComponent   
    327327                        return  
    328                         concat($item/shortName, ";;", $item/description) 
     328                        concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/description) 
    329329                        return $res     ]]>               
    330330                </ndg:xquery>            
     
    341341                                for $comp in $rt//childComponent/modelComponent 
    342342                                        return             
    343                                         concat($comp/shortName, ";;", $comp/description)]]>               
     343                                        concat($comp/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $comp/description)]]>               
    344344                </ndg:xquery>            
    345345        </ndg:addComment> 
     
    359359                        let $res := for $item in $comp/modelComponent | $comp/modelComponent/childComponent/modelComponent   
    360360                        return  
    361                         concat($item/shortName, ";;", $item/longName) 
     361                        concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/longName) 
    362362                        return $res]]>              
    363363                </ndg:xquery>            
     
    375375                                for $comp in $rt//childComponent/modelComponent 
    376376                                return 
    377                                         concat($comp/shortName, ";;", $comp/longName)]]>              
     377                                        concat($comp/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $comp/longName)]]>              
    378378                </ndg:xquery>            
    379379        </ndg:addTripleLiteral> 
     
    450450                                                             return 
    451451                                                                if ($role = 'centre') 
    452                                                                 then concat($res/shortName, ";;", $item/gmd:individualName/gco:CharacterString)                                           
     452                                                                then concat($res/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/gmd:individualName/gco:CharacterString)                                            
    453453                                                            else empty 
    454454                                                     return $roles 
     
    474474                                             return 
    475475                                                if ($role = 'centre') 
    476                                                 then concat($res/shortName, ";;", $item/gmd:individualName/gco:CharacterString)                                           
     476                                                then concat($res/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/gmd:individualName/gco:CharacterString)                                            
    477477                                            else empty 
    478478                                     return $roles 
     
    498498                                        let $res := for $item in $res/citation 
    499499                                            return 
    500                                                 concat($res/shortName, ";;",  
     500                                                concat($res/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;",  
    501501                                                $item/gmd:CI_Citation/gmd:collectiveTitle/gco:CharacterString, " ", $item/gmd:CI_Citation/gmd:citationDetails/gco:CharacterString)                                                
    502502                                      return $res 
     
    519519                        for $comp in //CIMRecord/modelComponent/childComponent/modelComponent  
    520520                            let $nodes := for $res in $comp//childComponent/modelComponent  
    521                                 let $res := for $item in $res/responsibleParty/gmd:CI_ResponsibleParty 
    522                                     let $roles := for $role in $item/gmd:role/gmd:CI_RoleCode/@codeListValue     
    523                                              return 
    524                                                 if ($role = 'centre') 
    525                                                 then concat($res/shortName, ";;", $item/gmd:individualName/gco:CharacterString)                                           
    526                                             else empty 
    527                                      return $roles 
     521                                let $res := for $item in $res//citation 
     522                                                return  
     523                                                        concat($res/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/gmd:CI_Citation/gmd:collectiveTitle/gco:CharacterString, " ", $item/gmd:CI_Citation/gmd:citationDetails/gco:CharacterString) 
    528524                          return $res 
    529525            return $nodes]]>              
     
    535531         
    536532        <!-- MODEL_COMPONENT.triples --> 
     533        <ndg:addTriple> 
     534                <ndg:ontSubject> 
     535                        http://www.earthsystemgrid.org/esg.owl#Model 
     536                </ndg:ontSubject> 
     537                <ndg:ontPredicate uri="http://www.earthsystemgrid.org/esg.owl#hasComputingEnvironment"/> 
     538                <ndg:ontObject> 
     539                        http://www.earthsystemgrid.org/esg.owl#ComputingEnvironment 
     540                </ndg:ontObject> 
     541                <ndg:xquery> 
     542                        <![CDATA[ 
     543                            declare default element namespace "http://www.metaforclimate.eu/schema/cim/1.5";     
     544                for $plat in  //CIMRecord//platform, 
     545                                    $mac in $plat/machine, 
     546                                    $obj in $mac/machineOperatingSystem/@value, 
     547                                        $compName in $plat/compiler/compilerName, 
     548                                        $compVer in $plat/compiler/compilerVersion  
     549                                return 
     550                                    concat(CIMRecordSet/CIMRecord/CIMRecord/modelComponent/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $mac/machineName, "_", 
     551                                    $mac/machineVendor, "_", 
     552                                    $compName, "_", 
     553                                    $compVer)]]> 
     554                </ndg:xquery> 
     555        </ndg:addTriple>                 
     556 
     557        <ndg:addTriple> 
     558                <ndg:ontSubject> 
     559                        http://www.earthsystemgrid.org/esg.owl#Model 
     560                </ndg:ontSubject> 
     561                <ndg:ontPredicate uri="http://www.earthsystemgrid.org/esg.owl#hasExperimentalConformance"/> 
     562                <ndg:ontObject> 
     563                        http://www.earthsystemgrid.org/esg.owl#ExperimentalConformance 
     564                </ndg:ontObject> 
     565                <ndg:xquery> 
     566                        <![CDATA[ 
     567                            declare default element namespace "http://www.metaforclimate.eu/schema/cim/1.5";     
     568                for $plat in  //CIMRecord, 
     569                                    $mac in //platform/machine, 
     570                                    $obj in $mac/machineOperatingSystem/@value, 
     571                                        $compName in //platform/compiler/compilerName, 
     572                                        $compVer in //platform/compiler/compilerVersion 
     573                                for $confName in //CIMRecord/simulationRun/conformance                                   
     574                                return 
     575                                    concat(CIMRecordSet/CIMRecord/CIMRecord/modelComponent/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $confName/requirement/reference/name)]]> 
     576                </ndg:xquery> 
     577        </ndg:addTriple> 
     578 
     579 
    537580        <!-- model and childmodel --> 
    538581        <ndg:addTriple> 
     
    553596                                                return 
    554597                                                if ($type = 'AtmosphericChemistry' or $type = 'atmosphere' or $type = 'Atmosphere' or $type = 'Aerosols') 
    555                                                 then concat($item/shortName, ";;", 'Atmosphere')                                                 
     598                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'Atmosphere')                                          
    556599                                            else if ($type = 'LandIce') 
    557                                                 then concat($item/shortName, ";;", 'Ice') 
     600                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'Ice') 
    558601                                            else if ($type = 'LandSurface') 
    559                                                 then concat($item/shortName, ";;", 'Land')     
     602                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'Land')     
    560603                                            else if ($type = 'ocean' or $type = 'OceanBiogeoChemistry') 
    561                                                 then concat($item/shortName, ";;", 'Ocean') 
     604                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'Ocean') 
    562605                                            else empty 
    563606                                return $types 
     
    583626                                                        return 
    584627                                                        if ($type = 'AtmosphericChemistry' or $type = 'atmosphere' or $type = 'Atmosphere' or $type = 'Aerosols') 
    585                                                         then concat($item/shortName, ";;", 'Atmosphere')                                                 
     628                                                        then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'Atmosphere')                                          
    586629                                                    else if ($type = 'LandIce') 
    587                                                         then concat($item/shortName, ";;", 'Ice') 
     630                                                        then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'Ice') 
    588631                                                    else if ($type = 'LandSurface') 
    589                                                         then concat($item/shortName, ";;", 'Land')     
     632                                                        then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'Land')     
    590633                                                    else if ($type = 'ocean' or $type = 'OceanBiogeoChemistry') 
    591                                                         then concat($item/shortName, ";;", 'Ocean') 
     634                                                        then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'Ocean') 
    592635                                                    else empty 
    593636                                        return $types 
     
    615658                                                return 
    616659                                                if ($type = 'AtmosphericChemistry' or $type = 'atmosphere' or $type = 'Atmosphere') 
    617                                                 then concat($item/shortName, ";;", 'atmos')                                              
     660                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'atmos')                                               
    618661                                            else if ($type = 'LandIce') 
    619                                                 then concat($item/shortName, ";;", 'landice') 
     662                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'landice') 
    620663                                            else if ($type = 'LandSurface') 
    621                                                 then concat($item/shortName, ";;", 'land')     
     664                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'land')     
    622665                                            else if ($type = 'ocean') 
    623                                                 then concat($item/shortName, ";;", 'ocean') 
     666                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'ocean') 
    624667                                            else empty 
    625668                                return $types 
     
    645688                                                return 
    646689                                                if ($type = 'AtmosphericChemistry' or $type = 'atmosphere' or $type = 'Atmosphere') 
    647                                                 then concat($item/shortName, ";;", 'atmos')                                              
     690                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'atmos')                                               
    648691                                            else if ($type = 'LandIce') 
    649                                                 then concat($item/shortName, ";;", 'landice') 
     692                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'landice') 
    650693                                            else if ($type = 'LandSurface') 
    651                                                 then concat($item/shortName, ";;", 'land')     
     694                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'land')     
    652695                                            else if ($type = 'ocean') 
    653                                                 then concat($item/shortName, ";;", 'ocean') 
     696                                                then concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", 'ocean') 
    654697                                            else empty 
    655698                                return $types 
     
    674717                    let $res := for $item in $nodes               
    675718                                        return 
    676                             concat($comp/shortName, ";;", $item/shortName) 
     719                            concat(CIMRecordSet/CIMRecord/CIMRecord/modelComponent/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName) 
    677720             return $res]]> 
    678721                </ndg:xquery> 
     
    690733                        <![CDATA[ 
    691734                                declare default element namespace "http://www.metaforclimate.eu/schema/cim/1.5";                         
    692                                 for $comp in //CIMRecord  
    693                                 let $nodes := $comp/modelComponent/childComponent/modelComponent 
    694                                 let $res := for $item in $nodes//childComponent/modelComponent               
     735                                for $comp in //CIMRecord/modelComponent/childComponent/modelComponent  
     736                                let $res := for $item in $comp/childComponent/modelComponent               
    695737                                        return 
    696                             concat($comp/shortName, ";;", $item/shortName) 
     738                            concat($comp/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName) 
    697739                             return $res]]> 
    698740                </ndg:xquery> 
     
    714756                                let $res := for $item in $nodes                 
    715757                                        return 
    716                             concat($comp/shortName, ";;", $item/shortName) 
     758                            concat($comp/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/shortName, " ", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName) 
    717759                             return $res]]> 
    718760                </ndg:xquery> 
     
    742784                                                         then concat($res/shortName, ";;", $item/gmd:organizationName/gco:CharacterString)                                                
    743785                                                         else if (exists($item/gmd:individualName/gco:CharacterString)) 
    744                                                               then concat($res/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
     786                                                              then concat($res/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
    745787                                                              else empty 
    746788                                                    else empty 
     
    774816                                                         then concat($res/shortName, ";;", $item/gmd:organizationName/gco:CharacterString)                                                
    775817                                                         else if (exists($item/gmd:individualName/gco:CharacterString)) 
    776                                                               then concat($res/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
     818                                                              then concat($res/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
    777819                                                              else empty 
    778820                                                    else empty 
     
    803845                                     return 
    804846                                        if ($role = 'contact') 
    805                                          then concat($res/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
     847                                         then concat($res/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
    806848                                         else empty 
    807849                             return $roles 
     
    831873                                     return 
    832874                                        if ($role = 'contact') 
    833                                          then concat($res/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
     875                                         then concat($res/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
    834876                                         else empty 
    835877                             return $roles 
     
    859901                                                     return 
    860902                                                        if ($role = 'author' or $role = 'PI') 
    861                                                          then concat($res/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
     903                                                         then concat($res/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
    862904                                                         else empty 
    863905                                             return $roles 
     
    888930                                                     return 
    889931                                                        if ($role = 'author' or $role = 'PI') 
    890                                                          then concat($res/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
     932                                                         then concat($res/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/gmd:individualName/gco:CharacterString) 
    891933                                                         else empty 
    892934                                             return $roles 
     
    932974                                 let $props := for $prop in $item/componentProperties/componentProperty 
    933975                                     return 
    934                                      concat($item/shortName, ";;", string-join(data($prop/value), ','), ";;", ndg:mapProperty($lookup//ndg:entry, concat($type, $prop/shortName))) 
     976                                     concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", string-join(data($prop/value), ','), ";;", ndg:mapProperty($lookup//ndg:entry, concat($type, $prop/shortName))) 
    935977                             return $props    
    936978                       return $types 
     
    9751017                                 let $props := for $prop in $item/componentProperties/componentProperty 
    9761018                                     return 
    977                                      concat($item/shortName, ";;", string-join(data($prop/value), ','), ";;", ndg:mapProperty($lookup//ndg:entry, concat($type, $prop/shortName))) 
     1019                                     concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", string-join(data($prop/value), ','), ";;", ndg:mapProperty($lookup//ndg:entry, concat($type, $prop/shortName))) 
    9781020                             return $props    
    9791021                       return $types 
     
    9951037                                        let $res := for $item in $nodes               
    9961038                            return 
    997                             concat($item/shortName, ";;", "true")    
     1039                            concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", "true")    
    9981040                                return $res]]> 
    9991041                </ndg:xquery>            
     
    10141056                                    let $res := for $item in $nodes               
    10151057                            return 
    1016                             concat($item/shortName, ";;", "true")    
     1058                            concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", "true")    
    10171059                                return $res]]> 
    10181060                </ndg:xquery>            
     
    10321074                let $res := for $item in $nodes                
    10331075                    return 
    1034                     concat($item/shortName, ";;", $item/shortName)    
     1076                    concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/shortName, " ", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName)    
    10351077                return $res]]> 
    10361078                </ndg:xquery>            
     
    10501092                        let $res := for $item in $nodes               
    10511093                    return 
    1052                     concat($item/shortName, ";;", $item/shortName)    
     1094                    concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/shortName, " ", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName)    
    10531095                return $res]]> 
    10541096                </ndg:xquery>            
     
    10681110                                        let $res := for $item in $nodes                
    10691111                                        return 
    1070                                         concat($item/shortName, ";;", $item/releaseDate)    
     1112                                        concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/releaseDate)    
    10711113                                return $res]]> 
    10721114                </ndg:xquery>            
     
    10851127                                        let $res := for $item in $nodes               
    10861128                                    return 
    1087                                     concat($item/shortName, ";;", $item/releaseDate)    
     1129                                    concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/releaseDate)    
    10881130                                return $res]]> 
    10891131                </ndg:xquery>            
     
    11041146                let $res := for $item in $nodes                
    11051147                    return 
    1106                     concat($item/shortName, ";;", $item/documentGenealogy/relationship/documentRelationship/target/reference/name)    
     1148                    concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/documentGenealogy/relationship/documentRelationship/target/reference/name)    
    11071149                return $res]]> 
    11081150                </ndg:xquery>            
     
    11211163                        let $res := for $item in $nodes               
    11221164                    return 
    1123                     concat($item/shortName, ";;", $item/documentGenealogy/relationship/documentRelationship/target/reference/name)    
     1165                    concat($item/shortName, "_", CIMRecordSet/CIMRecord/CIMRecord/simulationRun/shortName, ";;", $item/documentGenealogy/relationship/documentRelationship/target/reference/name)    
    11241166                return $res]]> 
    11251167                </ndg:xquery>            
Note: See TracChangeset for help on using the changeset viewer.