|
|
Hello everybody: I'm a new learner who learns to program with protege owl API eagerly. but, i have met the first question. how to use the SWRLJessBridge class, which can reason the OWLModel with the rule engine jess.May, I have got to how to get a Jess rule engine instance, But what really hit me is how to creat a OWLModel ,which carrys a knowlege base and some SWRL Rules.I really appreciate you if anybody can help me by my honour. Thanks! _______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
|
Hi Matthew,
Thank you very much for the pointers. I will certainly study the papers.
A quick glance revealed that they are all 2011 publications. I am
surprised to find that with so much work going on in semantic web where
ontologies serve at the key building blocks, there is not much available
to address the migration issue. Have people done it mostly the hard way
in the past, or have they done it right the first time?
Does this mean that the plug-ins are available only for 4.0? Should I
migrate to 4.0? How will the move impact the current code I have? How
different is the Manchester API from Protege's OWL-API?
Thanks again for your help.
Girish
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
Administrator
|
Hi Girish,
There is a plugin of sorts.... Timothy will be able to give you more information as he is the author of the plugin. Out of interest can you explain what you need the code generation for and why coding against an API like the OWL API isn't good enough?
I'm not sure what you mean by OWL preferences. Please could you provide more details?
Cheers,
Matthew
On 11 Nov 2011, at 08:21, Girish Joglekar wrote:
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
|
On 11/11/2011 08:21 AM, Girish Joglekar wrote:
> I was playing with 4.1 and noticed that it does not have a way to
> create the OWL-API code. Is that correct?
There is a plugin but it is in an early stage of development. I think
that we will include this in the next Protege 4.2 build.
> That will pretty much determine whether I use Protege 4+. Also, 3.4.7
> has a way to define OWL preferences for a variety of things. I did not
> notice them in 4.1.
You need to be more specific. There are a lot of preferences that can
be set in Protege 4+ but they are very different from the Protege 3.4.7
preferences.
-Timothy
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
|
For example, in 3.4.7, in the main bar there are three menus, Project,
OWL and Code, which are not in 4.1 (it has a new one called Refactor).
The Preferences... option of the OWL drop down menu, opens a dialog box
with 9 tabs that do various things. For example, in 4.1 it is not clear
how to make some of the rdf classes such as seq, bag etc. visible which
I can make visible in 3.4.7 thru OWL->Preferences->Visibility, and I
define subclasses of seq class. The Code drop down menu has the Generate
OWL Java Code... option which I use. I use the Java code in my
application which loads an OWL file containing instances and then
perform various actions. It is quite possible that all these features
exist in 4.1, but when I poked around it was not very apparent. Also, I
found the layout for displaying class structure and definitions in 3.4.7
much more easy to understand than the 4.1. For example, in 3.4.7 to look
at the attributes of a class, I just pick the Properties View toggle and
the attributes are right there. I can add/edit/subtract etc easily. In
4.1 it was not clear to me how to see the attributes of a class and
manipulate them. Again, it could just be a matter of getting used to the
new look and feel.
Thanks much.
Girish
On 11/11/2011 1:01 PM, Timothy Redmond wrote:
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
Administrator
|
Hi Girish, For example, in 3.4.7, in the main bar there are three menus, Project, OWL and Code, which are not in 4.1 (it has a new one called Refactor).
Yes, the menus are different. You'll just have to get used to them I suppose. The Preferences... option of the OWL drop down menu, opens a dialog box with 9 tabs that do various things. For example, in 4.1 it is not clear how to make some of the rdf classes such as seq, bag etc. visible which I can make visible in 3.4.7 thru OWL->Preferences->Visibility, and I define subclasses of seq class.
These classes (well list is) are used to encode OWL at the level of RDF and it's not recommended that you use them for modelling purposes in your ontology. They are not part of the OWLAPI model that underpins Protege 4 (and you won't find them in the OWL 2 Structural Specification). Actually, I'm not sure how many RDF tools really deal with them in the sense of reasoning. If you really do want to use them then all you need to do is simply create some classes in Protege 4 with the same name (full IRIs as these classes). Choose create subclass or create sibling and then in the create class dialog that appears you need to enter the full IRI of the class in question e.g. for rdf:Seq the full IRI is the rdf namespace + Seq ( http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq). When you do this make sure Ignore entity creation preferences is ticked.
 The Code drop down menu has the Generate OWL Java Code... option which I use. I use the Java code in my application which loads an OWL file containing instances and then perform various actions. It is quite possible that all these features exist in 4.1, but when I poked around it was not very apparent.
o.k. I think Tim has replied about this. Also, I found the layout for displaying class structure and definitions in 3.4.7 much more easy to understand than the 4.1. For example, in 3.4.7 to look at the attributes of a class, I just pick the Properties View toggle and the attributes are right there. I can add/edit/subtract etc easily. In 4.1 it was not clear to me how to see the attributes of a class and manipulate them. Again, it could just be a matter of getting used to the new look and feel.
For now, it might be best to open your ontologies in both versions and compare the two. We are going to work on providing a sensible "properties view" for Protege 4.
Cheers,
Matthew
Thanks much. Girish On 11/11/2011 1:01 PM, Timothy Redmond wrote: On 11/11/2011 08:21 AM, Girish Joglekar wrote:
I was playing with 4.1 and noticed that it does not have a way to create the OWL-API code. Is that correct?
There is a plugin but it is in an early stage of development. I think that we will include this in the next Protege 4.2 build.
That will pretty much determine whether I use Protege 4+. Also, 3.4.7 has a way to define OWL preferences for a variety of things. I did not notice them in 4.1.
You need to be more specific. There are a lot of preferences that can be set in Protege 4+ but they are very different from the Protege 3.4.7 preferences.
-Timothy
Thanks much.
Girish
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl
Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl
Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
_______________________________________________ protege-owl mailing list [hidden email]https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
|
My comments inlined.
On 11/11/2011 2:05 PM, Matthew Horridge wrote:
Hi Girish,
For example, in 3.4.7, in the main bar there are three menus,
Project, OWL and Code, which are not in 4.1 (it has a new one called
Refactor).
Yes, the menus are different. You'll just have to get used to
them I suppose.
That is fine.
The Preferences... option of the OWL drop down menu, opens a
dialog box with 9 tabs that do various things. For example, in 4.1 it
is not clear how to make some of the rdf classes such as seq, bag etc.
visible which I can make visible in 3.4.7 thru
OWL->Preferences->Visibility, and I define subclasses of seq
class.
These classes (well list is) are used to encode OWL at the level
of RDF and it's not recommended that you use them for modelling
purposes in your ontology.
I am too much of a novice to understand what you mean by "encode OWL
...", but I find it difficult to understand why their use is not
recommended. Afterall, OWL is built on RDF. I find rdf:seq very useful
because that is the only class that ensures order in the associated
collections which I can exploit in my application. For example, in our
domain which is related to chemical engineering, we have a concept of
"stream" which is a collection of chemical species and phases, and the
composition of stream is defined by mass fraction of these species and
phases. Since the same species and phases appear in the entire process
it is very convenient that the species names and the associated
compositions come out in the same order. Normally, when the range of a
property is "multiple objects of a class", the order is not guaranteed.
I can see a problem with reasoning but that would not be any different
from the current state. Are you implying that the work around you
suggested below will solve that problem?
They are not part of the OWLAPI model that underpins Protege 4
(and you won't find them in the OWL 2 Structural Specification).
Actually, I'm not sure how many RDF tools really deal with them in the
sense of reasoning. If you really do want to use them then all you
need to do is simply create some classes in Protege 4 with the same
name (full IRIs as these classes). Choose create subclass or create
sibling and then in the create class dialog that appears you need to
enter the full IRI of the class in question e.g. for rdf:Seq the full
IRI is the rdf namespace + Seq ( http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq).
When you do this make sure Ignore entity creation preferences is
ticked.
The Code drop down menu has the Generate OWL Java Code...
option which I use. I use the Java code in my application which loads
an OWL file containing instances and then perform various actions. It
is quite possible that all these features exist in 4.1, but when I
poked around it was not very apparent.
o.k. I think Tim has replied about this.
Also, I found the layout for displaying class structure and
definitions in 3.4.7 much more easy to understand than the 4.1. For
example, in 3.4.7 to look at the attributes of a class, I just pick the
Properties View toggle and the attributes are right there. I can
add/edit/subtract etc easily. In 4.1 it was not clear to me how to see
the attributes of a class and manipulate them. Again, it could just be
a matter of getting used to the new look and feel.
For now, it might be best to open your ontologies in both
versions and compare the two. We are going to work on providing a
sensible "properties view" for Protege 4.
A sensible properties view will help greatly. The one in 3.4.7 is
perfect. Maybe a variant of that will do.
Thanks for your help.
Girish
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
Administrator
|
Hi Girish,
>>> For example, in 3.4.7, in the main bar there are three menus, Project, OWL and Code, which are not in 4.1 (it has a new one called Refactor).
>>
>> Yes, the menus are different. You'll just have to get used to them I suppose.
> That is fine.
o.k. good :)
>>
>>> The Preferences... option of the OWL drop down menu, opens a dialog box with 9 tabs that do various things. For example, in 4.1 it is not clear how to make some of the rdf classes such as seq, bag etc. visible which I can make visible in 3.4.7 thru OWL->Preferences->Visibility, and I define subclasses of seq class.
>>
>> These classes (well list is) are used to encode OWL at the level of RDF and it's not recommended that you use them for modelling purposes in your ontology.
> I am too much of a novice to understand what you mean by "encode OWL ...",
Sorry, I mean that OWL objects can be mapped to RDF triples for serialisation purposes. For example,
SubClassOf(:A :B) gets mapped to :A rdfs:subClassOf :B
The above example is almost trivial, but for more complex OWL objects this mapping uses rdf lists to serialise these more complex. For example, rdf lists are use to serialise objects like intersections and unions of classes. At the OWL level rdf lists aren't used for ordering purposes.
> but I find it difficult to understand why their use is not recommended. Afterall, OWL is built on RDF.
> I find rdf:seq very useful because that is the only class that ensures order in the associated collections which I can exploit in my application.
I suppose the point is that no standard OWL tools will pay attention to this ordering - rdf:Seq isn't part of the OWL spec. If you share your ontology then people and 3rd party applications need special knowledge of your conventions to interpret it in the same way as you. Perhaps this is o.k. for you though. :)
> For example, in our domain which is related to chemical engineering, we have a concept of "stream" which is a collection of chemical species and phases, and the composition of stream is defined by mass fraction of these species and phases. Since the same species and phases appear in the entire process it is very convenient that the species names and the associated compositions come out in the same order. Normally, when the range of a property is "multiple objects of a class", the order is not guaranteed. I can see a problem with reasoning but that would not be any different from the current state. Are you implying that the work around you suggested below will solve that problem?
It's not really a work around... the net effect will be exactly the same as what you will get in Protege 3.x. In essence it will make it possible to refer to rdf:Seq as a class in your ontology..... which is what you want to do, and it will allow you to write down what you want to say. It sounds like this might be good enough for your needs - especially because you don't want to do reasoning that takes this ordering into consideration.
>> They are not part of the OWLAPI model that underpins Protege 4 (and you won't find them in the OWL 2 Structural Specification). Actually, I'm not sure how many RDF tools really deal with them in the sense of reasoning. If you really do want to use them then all you need to do is simply create some classes in Protege 4 with the same name (full IRIs as these classes). Choose create subclass or create sibling and then in the create class dialog that appears you need to enter the full IRI of the class in question e.g. for rdf:Seq the full IRI is the rdf namespace + Seq ( http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq). When you do this make sure Ignore entity creation preferences is ticked.
>>
>> <Mail Attachment.png>
>>
>>> The Code drop down menu has the Generate OWL Java Code... option which I use. I use the Java code in my application which loads an OWL file containing instances and then perform various actions. It is quite possible that all these features exist in 4.1, but when I poked around it was not very apparent.
>>
>> o.k. I think Tim has replied about this.
>>
>>> Also, I found the layout for displaying class structure and definitions in 3.4.7 much more easy to understand than the 4.1. For example, in 3.4.7 to look at the attributes of a class, I just pick the Properties View toggle and the attributes are right there. I can add/edit/subtract etc easily. In 4.1 it was not clear to me how to see the attributes of a class and manipulate them. Again, it could just be a matter of getting used to the new look and feel.
>>
>> For now, it might be best to open your ontologies in both versions and compare the two. We are going to work on providing a sensible "properties view" for Protege 4.
>>
> A sensible properties view will help greatly.
Yes :)
> The one in 3.4.7 is perfect. Maybe a variant of that will do.
It will be some kind of tabular view like this.
> Thanks for your help.
No problem! :)
Cheers,
Matthew
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
|
I am too much of a novice to understand what
you mean by "encode OWL
...", but I find it difficult to understand why their use is not
recommended. Afterall, OWL is built on RDF. I find rdf:seq very
useful
because that is the only class that ensures order in the
associated
collections which I can exploit in my application.
Technically, using these terms in an OWL file takes the ontology out
of OWL DL. You can see this by comparing the following from section
2.4 of the OWL structural specification:
IRIs with prefixes rdf:, rdfs:, xsd:, and owl: constitute the reserved
vocabulary of OWL 2. As described
in the following sections, the IRIs from the reserved vocabulary
that are listed in Table 3 have special treatment in OWL 2.
with the following from section 3 of the structural
specification [2]
Each entity in O must have an IRI satisfying
the restrictions on the usage of the reserved vocabulary from
Sections 5.1–5.6.
and such quotes as the following from section 5.1 of
the structural specification [3]
IRIs from the reserved
vocabulary other than owl:Thing and owl:Nothing must not be used to identify
classes in an OWL 2 DL ontology.
Afterall, OWL is built on RDF.
This is a surprisingly complicated and controversial statement. You
will note that in [4] the OWL syntax is defined in terms of UML.
Other syntaxes such as the rdf and functional syntaxes are just
serializations of the OWL language. This is expressed in some
detail in the following quote from the introduction of [1]:
This document defines
the OWL 2 language. The core part of this specification — called
the structural specification — is
independent of the concrete exchange syntaxes for OWL 2
ontologies. The structural specification describes the
conceptual structure of OWL 2 ontologies and thus provides a
normative abstract representation for all (normative and
nonnormative) syntaxes of OWL 2. This allows for a clear
separation of the essential features of the language from issues
related to any particular syntax. Furthermore, such a structural
specification of OWL 2 provides the foundation for the
implementation of OWL 2 tools such as APIs and reasoners. Each
OWL 2 ontology represented as an instance of this conceptual
structure can be converted into an RDF graph [OWL 2 RDF Mapping];
conversely, most OWL 2 ontologies represented as RDF graphs can
be converted into the conceptual structure defined in this
document [OWL 2 RDF Mapping].
There is another document [5] which describes the mapping of OWL
ontologies to and from RDF. But it should be noticed that this
document does not allow for the parsing of arbitrary RDF. Some care
is taken to ensure that the RDF being parsed can be mapped to the
OWL structural syntax.
Finally - and this really confuses the issue - there is a second
language, OWL full [6], described in the OWL specifications. This
language is based on RDF/RDFS. It has a distinct syntax and
semantics from OWL DL. The syntax for OWL 2 Full is the RDF syntax
and the semantics is given by [6] instead of by [7].
The Protege 4 OWL editor is based on the OWL 2 DL language. In the
future there are plans to provide an RDF editor and through this we
will have support for OWL 2 Full (the syntax anyway).
For example, in our
domain which is related to chemical engineering, we have a concept
of
"stream" which is a collection of chemical species and phases, and
the
composition of stream is defined by mass fraction of these species
and
phases. Since the same species and phases appear in the entire
process
it is very convenient that the species names and the associated
compositions come out in the same order. Normally, when the range
of a
property is "multiple objects of a class", the order is not
guaranteed.
I can see a problem with reasoning but that would not be any
different
from the current state. Are you implying that the work around you
suggested below will solve that problem?
I think that a search of the web will find OWL DL ontologies that
handle lists. I always forget where these are but Nick Drummond had
a paper that described on such ontology and there was another one
somewhere.
-Timothy
[1] http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#IRIs
[2] http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Ontologies
[3] http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Classes
[4] http://www.w3.org/TR/owl2-syntax/
[5] http://www.w3.org/TR/2009/REC-owl2-mapping-to-rdf-20091027/
[6] http://www.w3.org/TR/owl2-rdf-based-semantics/
[7] http://www.w3.org/TR/owl2-direct-semantics/
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
|
Hi Timothy,
I appreciate your detailed response. I do understand the need for the
rigor in developing specifications for a standard like OWL. However, I
am coming more from the applications stand point and find it
frustrating to not be able to do simple things like ordered list within
the framework. Methinks it would be easy to implement such a
functionality without taking away the rigor, because the property range
would be the same whether it is an ordered list or not, and as a bonus
it will help in certain domains. One could extend it easily through
list of lists to represent an array. To keep it simple, it could just
be the order as it appears on the screen. I will certainly try to dig
up the references you mentioned.
What liberties does OWL Full offer which can help me in this regard.
Also, how do I build mappings? Is that through Protege or external to
Protege?
Thanks much.
Girish
On 11/11/2011 4:53 PM, Timothy Redmond wrote:
I am too much of a novice to understand what
you mean by "encode OWL ...", but I find it difficult to understand why
their use is not recommended. Afterall, OWL is built on RDF. I find
rdf:seq very useful because that is the only class that ensures order
in the associated collections which I can exploit in my application.
Technically, using these terms in an OWL file takes the ontology out of
OWL DL. You can see this by comparing the following from section 2.4
of the OWL structural specification:
IRIs
with prefixes rdf:, rdfs:, xsd:,
and owl: constitute the reserved
vocabulary of OWL 2. As described in the
following sections, the IRIs from the reserved vocabulary that are
listed in Table 3 have special treatment in OWL 2.
with
the following from section 3 of the structural specification [2]
Each
entity in O must have an IRI satisfying the
restrictions on the usage of the reserved vocabulary from Sections 5.1–5.6.
and
such quotes as the following from section 5.1 of the structural
specification [3]
IRIs
from the reserved vocabulary other than owl:Thing and owl:Nothing must
not be used to identify classes in
an OWL 2 DL ontology.
Afterall, OWL is built on RDF.
This is a surprisingly complicated and controversial statement. You
will note that in [4] the OWL syntax is defined in terms of UML. Other
syntaxes such as the rdf and functional syntaxes are just
serializations of the OWL language. This is expressed in some detail
in the following quote from the introduction of [1]:
This
document defines the OWL 2 language. The core part of this
specification — called the structural
specification — is independent of the concrete
exchange syntaxes for OWL 2 ontologies. The structural specification
describes the conceptual structure of OWL 2 ontologies and thus
provides a normative abstract representation for all (normative and
nonnormative) syntaxes of OWL 2. This allows for a clear separation of
the essential features of the language from issues related to any
particular syntax. Furthermore, such a structural specification of OWL
2 provides the foundation for the implementation of OWL 2 tools such as
APIs and reasoners. Each OWL 2 ontology represented as an instance of
this conceptual structure can be converted into an RDF graph [OWL 2
RDF Mapping];
conversely, most OWL 2 ontologies represented as RDF graphs can be
converted into the conceptual structure defined in this document [OWL 2
RDF Mapping].
There is another document [5] which describes the mapping of OWL
ontologies to and from RDF. But it should be noticed that this
document does not allow for the parsing of arbitrary RDF. Some care is
taken to ensure that the RDF being parsed can be mapped to the OWL
structural syntax.
Finally - and this really confuses the issue - there is a second
language, OWL full [6], described in the OWL specifications. This
language is based on RDF/RDFS. It has a distinct syntax and semantics
from OWL DL. The syntax for OWL 2 Full is the RDF syntax and the
semantics is given by [6] instead of by [7].
The Protege 4 OWL editor is based on the OWL 2 DL language. In the
future there are plans to provide an RDF editor and through this we
will have support for OWL 2 Full (the syntax anyway).
For example, in our domain which is related
to chemical engineering, we have a concept of "stream" which is a
collection of chemical species and phases, and the composition of
stream is defined by mass fraction of these species and phases. Since
the same species and phases appear in the entire process it is very
convenient that the species names and the associated compositions come
out in the same order. Normally, when the range of a property is
"multiple objects of a class", the order is not guaranteed. I can see a
problem with reasoning but that would not be any different from the
current state. Are you implying that the work around you suggested
below will solve that problem?
I think that a search of the web will find OWL DL ontologies that
handle lists. I always forget where these are but Nick Drummond had a
paper that described on such ontology and there was another one
somewhere.
-Timothy
[1] http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#IRIs
[2] http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Ontologies
[3] http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Classes
[4] http://www.w3.org/TR/owl2-syntax/
[5] http://www.w3.org/TR/2009/REC-owl2-mapping-to-rdf-20091027/
[6] http://www.w3.org/TR/owl2-rdf-based-semantics/
[7] http://www.w3.org/TR/owl2-direct-semantics/
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl
Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
|
On 11/11/2011 02:32 PM, Girish Joglekar wrote:
Hi Timothy,
I appreciate your detailed response. I do understand the need for
the
rigor in developing specifications for a standard like OWL.
However, I
am coming more from the applications stand point and find it
frustrating to not be able to do simple things like ordered list
within
the framework.
It is easy to define a list construct in OWL. The RDF list concept
is very primitive and doesn't really give you much. (E.g an RDF
list is not even necessarily a list.) It is extremely easy to do as
well or better in OWL using the same type of construction of the
list concept. In particular, in OWL you can make the the link to
the next part of the list functional which cannot be said in RDF.
Unfortunately OWL is not a great language for defining lists either.
Methinks
it would be easy to implement such a
functionality without taking away the rigor, because the property
range
would be the same whether it is an ordered list or not, and as a
bonus
it will help in certain domains.
I may have missed an important part of this conversation. I am not
sure what you mean by the order of the property range. One
possibility is that you have a property, p, and a property range
assertion
p Range: A and B and C
and you want to preserve the order of A, B, C. But you can't do
this in OWL because the order of the objects in an intersection is
not defined. You can save an OWL ontology with one tool and re-read
it with another tool and you will get the equivalent axiom
p Range: B and C and A
with the conjuncts of the range in a different order.
What liberties does OWL Full offer which can
help me in this regard.
Also, how do I build mappings? Is that through Protege or external
to
Protege?
My personal feeling is that OWL full will just make your life more
complicated. You lose access to an increasing variety of OWL 2
tools including many reasoners. I think that it is a bit early on
for you to constrain yourself to this language, which I personally
feel is more complicated than OWL 2 DL.
-Timothy
One
could extend it easily through
list of lists to represent an array. To keep it simple, it could
just
be the order as it appears on the screen. I will certainly try to
dig
up the references you mentioned.
What liberties does OWL Full offer which can help me in this
regard.
Also, how do I build mappings? Is that through Protege or external
to
Protege?
Thanks much.
Girish
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
|
On 11/11/2011 6:08 PM, Timothy Redmond wrote:
On 11/11/2011 02:32 PM, Girish Joglekar wrote:
Hi Timothy,
I appreciate your detailed response. I do understand the need for the
rigor in developing specifications for a standard like OWL. However, I
am coming more from the applications stand point and find it
frustrating to not be able to do simple things like ordered list within
the framework.
It is easy to define a list construct in OWL. The RDF list concept is
very primitive and doesn't really give you much. (E.g an RDF list is
not even necessarily a list.) It is extremely easy to do as well or
better in OWL using the same type of construction of the list concept.
In particular, in OWL you can make the the link to the next part of the
list functional which cannot be said in RDF. Unfortunately OWL is not
a great language for defining lists either.
Methinks
it would be easy to implement such a functionality without taking away
the rigor, because the property range would be the same whether it is
an ordered list or not, and as a bonus it will help in certain domains.
I may have missed an important part of this conversation. I am not
sure what you mean by the order of the property range. One possibility
is that you have a property, p, and a property range assertion
p Range: A and B and C
and you want to preserve the order of A, B, C. But you can't do this
in OWL because the order of the objects in an intersection is not
defined. You can save an OWL ontology with one tool and re-read it
with another tool and you will get the equivalent axiom
p Range: B and C and A
with the conjuncts of the range in a different order.
Of course, what you say above is fundamental. All I meant was, for a
property whose range is not functional, if I specify multiple instances
in the range, then when I iterate on the collection I should get them
out in the same order as I specified (or as I see on the screen). This
does not affect the reasoner, but at the same time establishes an
implicit correspondence with similar lists specified with other
instances using that property. It is intuitive, reduces the amount of
data required to build information and helps application developers.
Guaranteeing that order does not affect anything, and can be
accomplished easily behind the scenes. Just a thought.
What liberties does OWL Full offer which can
help me in this regard. Also, how do I build mappings? Is that through
Protege or external to Protege?
I am still not very clear about building and using mappings. Is there a
reference you can suggest.
My
personal feeling is that OWL full will just make your life more
complicated. You lose access to an increasing variety of OWL 2 tools
including many reasoners. I think that it is a bit early on for you to
constrain yourself to this language, which I personally feel is more
complicated than OWL 2 DL.
-Timothy
Thanks much.
Girish
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owlInstructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
|
|