|
|
Hi people,
I have a problem with protégé.
When I create two instances and indicated as different from each other, opening the .owl file in a word processor, you do not generate the script that are different .. but if the state that are the same, if you create it. How can I solve that?
Thanks!!
|
|
Hi,
What version of Protege are you using? And what syntax did you save the ontology in?
Using Protege 5 I have no problem with RDF/XML and different individuals (owl:distinctMembers), but haven’t tested the remaining syntaxes.
Cheers,
Rafael
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
|
|
Hi Rafael,
I'm using protégé 5.0 and save in RDF/XML but the problem persist. :(
Cheers.
|
Administrator
|
Hi,
I know that, but I need the sentence appears above that name and does not appear, so I think it is wrong protégé.
It’s not wrong.
There are two possible serializations here (providing only two individuals are involved in the DifferentIndividuals axiom) and this is one of them.
Cheers,
Matthew
Thanks!!
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
|
Administrator
|
Are you using an XML parser to parse this?
Cheers,
Matthew
I'm working with C # using dotNet and I can not find different individuals together, do not show me anywhere .. I do not know how to solve it already !!
Thanks again.
Prilex.
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
|
Administrator
|
Hi,
The RDF/XML serialization of this is what it is. We use the OWL API to do the serialization and it writes out DifferentIndividuals axioms like this, in accordance with the OWL spec.
It sounds like you expect all the “information” about a given entity to be in one place in the ontology document, but this isn’t how it works with RDF/XML. Information can be spread throughout the document and serialized in multiple different
ways, which means that treating an RDF/XML document as a plain XML document won’t work. In general, RDF/XML parsers parse out all of the RDF triples from from the XML and then operate from from there to lift triples into higher level OWL axioms. It’s not
exactly a straight forward process.
If you’re just using an XML parser do you really need to use RDF/XML? The reason I ask is that it’s not well suited to being parsed with an XML parser that does not parse out triples (as you’re finding out). If you’re not tied to RDF/XML then
I recommend that you investigate using OWL/XML. This is a native XML format that is relatively easy to parse with a plain XML parser due to it’s regularity.
Cheers,
Matthew
Matthew,
Yes, I can see everything that contains the ontology, to the same instances. All I can not see are the different instances each other.
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
|
|
To expand on Matthew's response: it is important to remember is that OWL ontologies are centered around logical axioms, instead of classes / frames / entities, or what have you.
This is reflected in the various formats that can be used to save ontology documents.
If an individual occurs in multiple DifferentIndividuals axioms, you will need to process all of them to gather the information you are looking for. OWL/XML will make this much simpler, but the XML processing is more than just looking for a single element with a specific value for an attribute, and selecting specific children.
Some formats, in particular Manchester Notation (".omn"), which is used in many parts of the Protégé user interface, are designed to resemble frame-like languages as much as possible; however, for things like different individuals, this is not always desirable or possible.
The abstract form of a DifferentIndividuals (DI) axiom contains of a set of two or more individuals. The semantics for the axiom are that every member of this set is a distinct individual from every other member.
Manchester Notation can store the information from DI axioms that only involve two individuals in an Individual: frame; however there is no requirement that this information be duplicated and stored with each individual.
Alternatively, arbitrary DI axioms can be stored outside any frame.
For example, suppose we have the axiom "DifferentIndividuals(:a :b)".
This might be saved in Manchester Notation as
1)
Individual: :a
DifferentFrom: :b
Individual: :b
DifferentFrom: :a
2)
Individual: :a
DifferentFrom: :b
Individual: :b
3)
Individual: :a
Individual: :b
DifferentFrom: :a
4)
Individual :a
Individual :b
DifferentIndividuals: :a :b
Now consider the case where we have a DI axiom that involves more than 2 individuals.
For example, suppose we were defining the colors of the rainbow as individuals, and wanted to assert that all seven such colors are distinct.
The corresponding owl axiom might be:
DifferentIndividuals(:Red :Orange :Yellow :Green :Blue :Indigo :Violet)
Now, this axiom *could* be transformed into 21 pairwise axioms, and the axioms mapped into 21 slot values in Individual frames;
Individual: :Red
DifferentFrom: :Orange , :Yellow
...
Individual: :Orange
DifferentFrom: :Yellow, :Green
or even 42 values , but the redundancy starts to become a little excessive, and it becomes hard to maintain if you want to add the eighth color :Octarine.
The situation becomes worse if the axiom has any annotations, as these annotations need to be duplicated each time....
Simon
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
|
|
Hi people!! thanks for your answers, but I could not solve the problem ..
I have another question .. anyone know if I need some parser to what is shown in the picture? for the subject shows me _: autos17 and do not know how to solve it. Thank you.
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
|
|
I'm going to answer the question, then explain why I shouldn't have. Please don't take offense at the second part, as my complaints are directed at trend of misdirected questions for this list.
Part one:
An individual that is rendered as a string in the form '_:foo' is an Anonymous Individual - that is, an individual that has been given no explicit names. These may be present in an input document, or there existence might be inferred by a Reasoner.
Anonymous individuals basically correspond (pedantic footnote deleted) to blank nodes in RDF.
You cannot rely on blank node labels being preserved when saving or loading an ontology (though newer versions of protégé (and other owlapi based tools) generate much more stable output, which can make a huge difference when using version control.
Any other blank node labels will be probably be changed when loading.
Part 2:
[unless a question is related to how something is displayed in the GUI/browser, can people please try to avoid using screenshots in questions? For most other issues this is the least helpful way of providing information.]
This is a question about a basic concept in OWL / RDF (given the use of RDF lists, if you loaded the ontology from an RDF file, it's not an OWL question; if you used a different format, it's merely not an OWL-DL question).
It isn't really a question about protégé development, which is the subject of this list.
It could be a question about protégé use, which has a separate forum / mailing list. For information on how to subscribe to the protégé user mailing list see the support page.
http://protege.stanford.edu/support.php
If you are finding it hard to get started, you might be interested in taking one of the protégé short courses offered by Stanford.
The next course is scheduled for Oct 31-Nov 2, in Palo Alto, with an early-bird registration deadline of September 30th. There is also a 50% student discount.
For more details see: http://protege.stanford.edu/short-courses.php
You can also obtain obtain paid support from Stanford on an hourly basis, or by becoming a protégé affiliate. See the support page mentioned above for details.
Money raised from courses and consulting helps support the future development of protégé.
Simon
(I am not being paid by Stanford to mention these support options - in fact I would be happy to take your money for owlapi related development :).
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
|
|
I would also strong suggest that you abandon the parsing path that you are currently on. Parsing OWL serializations is an incredibly complex task. Beyond the immediate difficulties of syntax, you will need to acquire lots of obscure knowledge
about IRI formats, namespaces, serialization variants, and other groady things. And then you will need to semantically connect everything in an in-memory model to make sense of it, which will require even deeper knowledge.
The developers of the OWLAPI have invested many person years in dealing with these issues. However, like many semantic web tools, it is Java based. If you are required to use C++, I would let the OWLAPI do the parsing and then bridge the results
from Java to your C++ code.
Martin
I'm going to answer the question, then explain why I shouldn't have. Please don't take offense at the second part, as my complaints are directed at trend of misdirected questions for this list.
Part one:
An individual that is rendered as a string in the form '_:foo' is an Anonymous Individual - that is, an individual that has been given no explicit names. These may be present in an input document, or there existence might be inferred
by a Reasoner.
Anonymous individuals basically correspond (pedantic footnote deleted) to blank nodes in RDF.
You cannot rely on blank node labels being preserved when saving or loading an ontology (though newer versions of protégé (and other owlapi based tools) generate much more stable output, which can make a huge difference when using version
control.
Any other blank node labels will be probably be changed when loading.
Part 2:
[unless a question is related to how something is displayed in the GUI/browser, can people please try to avoid using screenshots in questions? For most other issues this is the least helpful way of providing information.]
This is a question about a basic concept in OWL / RDF (given the use of RDF lists, if you loaded the ontology from an RDF file, it's not an OWL question; if you used a different format, it's merely not an OWL-DL question).
It isn't really a question about protégé development, which is the subject of this list.
It could be a question about protégé use, which has a separate forum / mailing list. For information on how to subscribe to the protégé user mailing list see the support page.
http://protege.stanford.edu/support.php
If you are finding it hard to get started, you might be interested in taking one of the protégé short courses offered by Stanford.
The next course is scheduled for Oct 31-Nov 2, in Palo Alto, with an early-bird registration deadline of September 30th. There is also a 50% student discount.
For more details see:
http://protege.stanford.edu/short-courses.php
You can also obtain obtain paid support from Stanford on an hourly basis, or by becoming a protégé affiliate. See the support page mentioned above for details.
Money raised from courses and consulting helps support the future development of protégé.
Simon
(I am not being paid by Stanford to mention these support options - in fact I would be happy to take your money for owlapi related development :).
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
_______________________________________________
protege-dev mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-dev
|
|