Yes, look at OntModel.getOntProperty(String uri)

On May 7, 2013, at 4:47 PM, Michael Trosin wrote:

> Okay, that works as it gives me many subClassOf-properties, which is like
> it is defined in the ontology. Nevertheless now I am stuck with getting the
> actual OntProperty which should be assigned (or the value of the
> subClassOf-property).
> 
> Using
> 
>> Property prop = iter.next().getPredicate();
>> System.out.println(oc.getPropertyValue(prop).toString());
> 
> for testing purposes give some cryptic values. E.g.
> "-6b6b64bf:13e80b8715e:-7ff4"
> 
> Is there a way to load the OntProperty out of the name? I'm not quite sure,
> but I expected to get anything like "&xsd;string" or the real property-name
> like "hasName". Is this wrong?
> 
> 
> However, thank you very much for the fast answer and your help! :-)
> 
> best regards,
> Michael
> 
> 
> 
> 
> 
> 2013/5/7 David Jordan <[email protected]>
> 
>> 
>> I ran into this same problem two weeks ago. Joshua Taylor provided me with
>> an answer, which I have included below. I ended up writing code similar to
>> the following, where I passed a Resource object
>> (OntModel.getResource(classURI)) representing the class to the method.
>> 
>> private long listProperties(Resource resource){
>>      StmtIterator iter = omodel.listStatements(resource, (Property)null,
>> (RDFNode)null);
>>      while( iter.hasNext() ){
>>            Statement stmt = iter.next();
>>            Property property = stmt.getPredicate();
>>            String pname = property.getLocalName();
>>      }
>> }
>> 
>> 
>> 
>> 
>> -----Original Message-----
>> From: Joshua TAYLOR [mailto:[email protected]]
>> Sent: Tuesday, April 23, 2013 3:11 PM
>> To: [email protected]
>> Subject: Re: OntClass.listDeclaredProperties
>> 
>> 
>> 
>> On Tue, Apr 23, 2013 at 2:45 PM, David Jordan <[email protected]
>> <mailto:[email protected]>> wrote:
>> 
>>> When I call listDeclaredProperties with a direct parameter value of
>> false, I get a list of properties associated with a class. But when I pass
>> a value of true, I don't get any values, yet there are properties directly
>> associated with the class. I do run this with a reasoner, using
>> OWL_MEM_MICRO_RULE_INF. I am using the latest TDB release. Any idea why
>> they are not being returned?
>> 
>> 
>> 
>> Until now, I hadn't looked closely enough at the doc to know what
>> 
>> listDeclaredProperties was supposed to return.   It returns an
>> 
>> iterator over "properties associated with a frame-like view of this
>> class", but I wasn't sure what "associated with" meant there.  Looking at
>> the implementation in OntClassImpl, a property is associated with a class
>> if class is one of the property's domains.  Is that the same meaning of
>> "associated with a class" that you're operating under?  (I ask this not
>> because your question suggested any misunderstanding, but because I, not
>> having used listDeclaredProperties, assumed it might return properties in
>> restrictions on classes and the like, and that doesn't appear to the be the
>> case.)
>> 
>> 
>> 
>> //JT
>> 
>> 
>> 
>> --
>> 
>> Joshua Taylor, http://www.cs.rpi.edu/~tayloj/
>> 
>> 
>> From: Michael Trosin [mailto:[email protected]]
>> Sent: Tuesday, May 07, 2013 3:31 PM
>> To: [email protected]
>> Subject: Query declared properties returns too much
>> 
>> Hi,
>> I am quite new to mailing-lists, so sorry if this is not the way, how I
>> should start a "topic".
>> I have the attached ontology and I'm trying to list declared properties of
>> the class "Dataset" via:
>> OntClass ontclass = mOntModel.getOntClass(namespace + "#Dataset");
>> ExtendedIterator<OntProperty> ei = ontclass.listDeclaredProperties();
>> Doing it this way I get much properties, which actually aren't properties
>> from dataset (hasDataAnalysis, hasPublishing, ...). Loading it with direct
>> = true gives me the correct properties. So far so good, the problem is,
>> that I get now wrong results when using:
>> 
>> OntClass ontclass = mOntModel.getOntClass(namespace +
>> "#LifecycleResource");
>> ExtendedIterator<OntProperty> ei = ontclass.listDeclaredProperties(true);
>> Now the only property is "hasKey" (missing hasName, hasTimestamp, ...).
>> Is the ontology wrong defined? Or do I miss anything else?
>> I fixed one class and the other is no broken. I have no idea, what the
>> issue could be.
>> For any ideas many thanks in advice.
>> Best regards,
>> Michael
>> 

Reply via email to