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>
>>
>