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