Models in Jena contain the statements, thus, you should be able to
determine which model contains the statement.


On 27.02.2018 19:59, Jos Lehmann wrote:
> Hi Lorenz 
>
> If you could be more specific it would help. 
>
> The restrictions I am working with don't seem to have a URI, so I can't tell 
> if, in the input ontologies, they belong to the imported ontology or to the 
> importing ontology. I.e.:
>
> WHEN DOING: 
>
> ExtendedIterator properties = thisClass.listProperties();
>                         while (properties.hasNext()) {
>                                       Statement thisProperty = (Statement) 
> properties.next();
>                                       if 
> (!(((Character.isDigit(thisProperty.getObject().toString().charAt(0)))) || 
> thisProperty.getObject().toString().startsWith("-"))) {   
>                                               
> newClass.addProperty(thisProperty.getPredicate(), thisProperty.getObject());
>                                       }
>                                       else
>                                       {System.out.println("Anonymous class: " 
> + thisProperty.getObject().toString());         
>                                       System.out.println("Anonymous class' 
> URI:  "  + ((Resource) thisProperty.getObject()).getURI());
>
>
>
> I GET, FOR INSTANCE: 
>
> Anonymous class: 1a26f878:161d895229e:-7e84
> Anonymous class' URI:  null
>
>
> How else can I programmatically  determine whether a restriction comes from 
> the imported or from the importing ontology
> Cheers, Jos
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Lorenz Buehmann [mailto:[email protected]] 
> Gesendet: Dienstag, 27. Februar 2018 12:29
> An: [email protected]
> Betreff: Re: AW: URI of anonymous classes
>
> You can get access to imported models via
>
> OntModel::getImportedModel(String uri)
>
> or
>
> OntModel::listSubModels(boolean withImports)
>
>
> Javadoc[1] is always your friend.
>
>
> [1]
> https://jena.apache.org/documentation/javadoc/jena/org/apache/jena/ontology/OntModel.html
>
>
> On 27.02.2018 11:48, Jos Lehmann wrote:
>> As an integration to my question (see Ursprüngliche Nachricht) please see 
>> further down the ouput of re-writing the importing ontology*. 
>> The same intersection is repeated. Yet, Protege is able to tell that one of 
>> the two intesections comes from the imported ontology the other from the 
>> importing ontology. How? How to tell the the same thing in jena.
>>
>> Jos
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Jos Lehmann 
>> Gesendet: Dienstag, 27. Februar 2018 11:09
>> An: [email protected]
>> Betreff: URI of anonymous classes
>>
>> Hi there 
>>
>> I am rewriting an ontology using jena. I rewrite each import. When rewriting 
>> an importing ontology, anonymous classes (e.g. restrictions or disjointness 
>> axioms) of the imported ontology appear twice in the importing ontology, 
>> because to re-write the importing ontology I am working with 
>> OntModelSpec.OWL_DL_MEM, to make sure rewrite instances asserted in the 
>> importing ontology of classes declared in the imported ontology.
>>
>> Question: is there a way of telling in jena where (at which URI) was a 
>> restriction or an axiom asserted?
>>
>>    Note: Protege has a tooltip saying "Asserted in: URI" of such classes. 
>> But the rdf/xml file does not seem to have such a property. 
>>
>>       Subquestion: Does protege compute this property by looking at all URI 
>> of all statements oft he anonymous classes?
>>
>>
>> Hope I am making sense. Jos
>>
>>
>>
>>
>> * OUTPUT OF RE-WRITING IMPORTING ONTOLOGY
>>
>> <owl:Class rdf:about="http://purl.oclc.org/NET/ssnx/qu/qu#Dimension";>
>>     <rdfs:subClassOf>
>>       <owl:Class>
>>         <owl:intersectionOf rdf:parseType="Collection">
>>           <owl:Restriction>
>>             <owl:allValuesFrom>
>>               <owl:Class 
>> rdf:about="http://purl.oclc.org/NET/ssnx/qu/qu#DimensionFactor"/>
>>             </owl:allValuesFrom>
>>             <owl:onProperty>
>>               <owl:AsymmetricProperty 
>> rdf:about="http://purl.oclc.org/NET/ssnx/qu/qu#dimensionFactor";>
>>                 <rdfs:range>
>>                   <owl:Class 
>> rdf:about="http://purl.oclc.org/NET/ssnx/qu/qu#DimensionFactor"/>
>>                 </rdfs:range>
>>                 <dc:source>skos:exactMatch 'factor' [SysML 1.2-QUDV] 
>> http://www.omgwiki.org/OMGSysML/doku.php?id=sysml-qudv:quantities_units_dimensions_values_qudv</dc:source>
>>                 <rdfs:comment>Rational number that specifies the factor in 
>> the dimension conversion relationship.</rdfs:comment>
>>                 
>> <rdfs:isDefinedBy>http://purl.oclc.org/NET/ssnx/qu</rdfs:isDefinedBy>
>>                 <rdfs:label>dimension factor</rdfs:label>
>>                 
>> <rdfs:seeAlso>http://www.omgsysml.org/qudv#Dimension</rdfs:seeAlso>
>>                 <rdf:type 
>> rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
>>               </owl:AsymmetricProperty>
>>             </owl:onProperty>
>>           </owl:Restriction>
>>           <owl:Restriction>
>>             <owl:onDataRange 
>> rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
>>             <owl:cardinality 
>> rdf:datatype="http://www.w3.org/2001/XMLSchema#int";
>>             >1</owl:cardinality>
>>             <owl:onProperty>
>>               <owl:DatatypeProperty 
>> rdf:about="http://purl.oclc.org/NET/ssnx/qu/qu#symbolicExpression"/>
>>             </owl:onProperty>
>>           </owl:Restriction>
>>           <owl:Restriction>
>>             <owl:onDataRange 
>> rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
>>             <owl:cardinality 
>> rdf:datatype="http://www.w3.org/2001/XMLSchema#int";
>>             >1</owl:cardinality>
>>             <owl:onProperty>
>>               <owl:DatatypeProperty 
>> rdf:about="http://purl.oclc.org/NET/ssnx/qu/qu#symbolicExpression"/>
>>             </owl:onProperty>
>>           </owl:Restriction>
>>         </owl:intersectionOf>
>>       </owl:Class>
>>     </rdfs:subClassOf>
>>     <rdfs:subClassOf>
>>       <owl:Class>
>>         <owl:intersectionOf rdf:parseType="Collection">
>>           <owl:Restriction>
>>             <owl:allValuesFrom>
>>               <owl:Class 
>> rdf:about="http://purl.oclc.org/NET/ssnx/qu/qu#DimensionFactor"/>
>>             </owl:allValuesFrom>
>>             <owl:onProperty 
>> rdf:resource="http://purl.oclc.org/NET/ssnx/qu/qu#dimensionFactor"/>
>>           </owl:Restriction>
>>           <owl:Restriction>
>>             <owl:onDataRange 
>> rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
>>             <owl:cardinality 
>> rdf:datatype="http://www.w3.org/2001/XMLSchema#int";
>>             >1</owl:cardinality>
>>             <owl:onProperty>
>>               <owl:DatatypeProperty 
>> rdf:about="http://purl.oclc.org/NET/ssnx/qu/qu#symbolicExpression"/>
>>             </owl:onProperty>
>>           </owl:Restriction>
>>           <owl:Restriction>
>>             <owl:onDataRange 
>> rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
>>             <owl:cardinality 
>> rdf:datatype="http://www.w3.org/2001/XMLSchema#int";
>>             >1</owl:cardinality>
>>             <owl:onProperty>
>>               <owl:DatatypeProperty 
>> rdf:about="http://purl.oclc.org/NET/ssnx/qu/qu#symbolicExpression"/>
>>             </owl:onProperty>
>>           </owl:Restriction>
>>         </owl:intersectionOf>
>>       </owl:Class>
>>
>

Reply via email to