Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-discussion] a simple questions about owl programming

tingyu li li.hh190 at gmail.com
Thu Nov 18 06:55:18 PST 2010


thanks for you guys response. and I have take a look at owlapi, it's really
more direct to handle. but after I checked these code sample on the website,
I found that these codes only do some actions about class. but my target is
individual. how to get specific individual's object property assertions is
my purpose.
And at the same time, I find a simple way that maybe can get this, the code
is :

>         OWLIndividual ind = owlModel.getOWLIndividual("Jim");
>         OWLObjectProperty objectProp =
> owlModel.getOWLObjectProperty("hasSon");
>         Collection values = ind.getPropertyValues(objectProp);
>         for (Iterator jt = values.iterator(); jt.hasNext();) {
>             OWLObjectProperty individual = (OWLObjectProperty) jt.next();
>             System.out.println(" - " + individual.getBrowserText());
>         }
>
but error message returned said:
*WARNING: Invalid frame type: DefaultOWLIndividual(
http://www.semanticweb.org/ontologies/2010/0/family.owl#Jim of
[DefaultOWLNamedClass(http://www.w3.org/2002/07/owl#Thing),
DefaultOWLNamedClass(
http://www.semanticweb.org/ontologies/2010/0/family.owl#male_family_member),
DefaultRDFSNamedClass(http://www.w3.org/2002/07/owl#NamedIndividual)]) --
AbstractRedirectingDispatch.getDirectOwnSlotValues()
Exception in thread "main" java.lang.IllegalArgumentException: null slot*
it seems that this code just can handle the old version proj, so is there
any replacement of 4.0 for the same target?

In the other hand,  as thomas mentioned,

> All of the assertion information would be retrieved in the form of
> different kinds of axioms that you would get for a particular individual
> (like Jim) by calling the method with signature:
>
>   OWLOntology.getAxioms(
>>
>> OWLIndividual)
>>
>> and then filtering the results in to different classes of axiom such as
>>
>>   OWLPropertyAssertionAxiom which supports getProperty() and getObject()
>> to tell you which property and value it has.
>>
>> The usages would seem to be returned by
>>
>>   OWLOntology.getReferencingAxioms(OWLEntity)
>
> I will appreciate if you can give me code samples about how to drive them.

thx a lot!

2010/11/18 Thomas Russ <tar at isi.edu>

>
> On Nov 17, 2010, at 7:20 AM, tingyu li wrote:
>
>  hi Thomas, thanks for your response. but I still very confused by these
>> methods...and I have read all the samples posted on the website, but I don't
>> find any solutions for my problems, a very similar question is about query
>> all resources that have a certain property value. the code on website is
>> like this:
>> RDFProperty subClassOfProperty =
>> owlModel.getRDFProperty(RDFSNames.Slot.SUB_CLASS_OF);
>>
>> OWLNamedClass owlThingClass = owlModel.getOWLThingClass();
>> Collection results =
>> owlModel.getRDFResourcesWithPropertyValue(subClassOfProperty,
>> owlThingClass);
>> System.out.println("Subclasses of owl:Thing:");
>>
>> for (Iterator it = results.iterator(); it.hasNext();) {
>>    RDFResource resource = (RDFResource) it.next();
>>    System.out.println(" - " + resource.getBrowserText());
>> }
>> but, actually, there are no slot on the new version owl files. and I think
>> RDFProperty is not very fit for my file. by the way, I use protege 4.0 to
>> develop a owl file and save it as format: RDF/XML. the file  is like this:
>>
>
> You have to look at the class hierarchy in the Java code.
> OWLObjectProperty and OWLIndividual are all subclasses of RDFPropery and
> RDFResource, so those methods will be applicable.
>
> But if you are going to be using Protege 4, then you should be using the
> OWLAPI to work with the ontology rather than the Protege-OWL API.  That is
> the underlying code that the Protege 4 code uses.   OWLAPIv3 is used in
> Protege 4.1
>
> So the place to start for OWLAPI programming are the following documents:
>
>  http://owlapi.sourceforge.net/documentation.html
>
> All of the assertion information would be retrieved in the form of
> different kinds of axioms that you would get for a particular individual
> (like Jim) by calling the method with signature:
>
>   OWLOntology.getAxioms(OWLIndividual)
>
> and then filtering the results in to different classes of axiom such as
>
>   OWLPropertyAssertionAxiom which supports getProperty() and getObject() to
> tell you which property and value it has.
>
> The usages would seem to be returned by
>
>   OWLOntology.getReferencingAxioms(OWLEntity)
>
>
>
>
>>    <owl:ObjectProperty rdf:about="
>> http://www.semanticweb.org/ontologies/2010/0/family.owl#isUncleOf">
>>        <rdfs:range rdf:resource="
>> http://www.semanticweb.org/ontologies/2010/0/family.owl#family_member"/>
>>        <rdfs:domain rdf:resource="
>> http://www.semanticweb.org/ontologies/2010/0/family.owl#male_family_member
>> "/>
>>    </owl:ObjectProperty>
>> I want get the similar result as the probem I described above. in other
>> words, if I click Jim as the picture, I can get the result as the rigt part
>> of the picture displayed, Usage and Property assertions:Jim
>>
>> thanks.
>>
>>
> _______________________________________________
> protege-discussion mailing list
> protege-discussion at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>
> Instructions for unsubscribing:
> http://protege.stanford.edu/doc/faq.html#01a.03
>



-- 
Li
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/protege-discussion/attachments/20101118/f87938a8/attachment.html>


More information about the protege-discussion mailing list