Search Mailing List Archives
[protege-discussion] finding individuals in a Protege-Frames produced OWL file.
tar at ISI.EDU
Sun Dec 30 16:52:46 PST 2007
On Dec 27, 2007, at 6:52 AM, esharris wrote:
> Given a Protégé-Frames produced OWL file, how do you find all the
You load the file into an OWL reasoning program and then ask for all
Trying to look at the generated XML encoded file and finding stuff
there will lead to madness. ;)
You want to use something that understands the semantics of OWL, so
unless you plan to write your own OWL reasoner, you should use one of
the existing ones.
> I built a simple ontology in Protégé-Frames and exported the
> ontology as an OWL file. I assumed the instances/individuals would
> be at the
> same level in the XML tree. However, I have an instance/individual
> that has
> a slot/property that contains another instance/individual.
> <Issue rdf:ID="newspapers_Instance_1">
> <has_several_pages rdf:resource="#newspapers_Instance_3"/>
> <Page rdf:ID="newspapers_Instance_2">
> <number rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
> <sequence rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
> <edition rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
> <date rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>> June 3, 1992</date>
> I’m surprised Protégé-Frames didn’t put an attribute in the 2nd
> has_several_pages node and put newspapers_Instance_2 at the same
> level as
> Ideally, do you have to walk the entire tree to look for
> individuals? Or
> does the nesting only allowed one deep? And why nest?
1. Because you can. It is all legal XML/OWL.
2. Because that's what Jena does, and Protege uses Jena.
3. Maybe to avoid a need to have a multi-pass writing scheme?
4. To make the XML more compact?
There may be other reasons for the design. I don't actually have any
inside information, so all of the above is pure speculation, but I
suspect that ease of implementation (#3) is the most likely. Well,
that and #5.
More information about the protege-discussion