Re: [protege-owl] KRSS2 - Syntax

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [protege-owl] KRSS2 - Syntax

Olaf Noppens
Hello Stefan,

I would like to clearify the two different versions of KRSS. The
original version (typically called KRSS) has been published at the
beginning of the 90s. It has been used in a lot of project, esp. because
the syntax (s-expression) is tailored for lisp-like systems and easy to
parse. However, there are limitations wrt. to the constructs used in DL
systems. For instance, it does not allow the definition of GCIs. In
addition, it does also not support the incremental definition of classes
by, for instance, adding new subclass/superclass axioms for a given
concept. That was the reason why developer of knowledge-based
applications such as reasoners has extended KRSS. However, it has been a
more informal agreement on the syntax and semantic between them.
Moreover, there has been user demand to export ontologies to KRSS to be
parsable by reasoners such as racer or CEL etc. We gave this extension
the name KRSS2. Note that KRSS2 is a real extension of KRSS, it is a
superset. Hence, Protege can parse files containing KRSS and KRSS2
constructs. However, this cannot be done for the serialization because
there are several options, for instance, to serialize sub-role
relationships. For Protege, I can imagine the option to decide which
syntax one would like to use (but this is not implemented yet). I would
also like to clarify that KRSS2 is a real extension to KRSS with
agreements from DL-implementators side how to add new constructs KRSS
does not know in a consistent way. This is important for interchanging
ontologies. Sticking on the "original KRSS syntax" (as you told it) will
not include this. My proposal is the following: extending the KRSS
export to distinguish between KRSS and KRSS2, but including also new
constructs which have no equivalent in KRSS in the "original KRSS". The
preferred syntax however is KRSS2 because of its interoperability with
current systems. We can also write a short document about the syntax and
semantics if you like.

Cheers,
Olaf




Ballnat, Stefan schrieb:

>
> Hello,
>
> I was really glad to see, that Protégé 4 can export OWL-Files in the
> KRSS format.
>
> Since I use the KRSS syntax myself according to
> http://dl.kr.org/krss-spec.ps , I was wondering what KRSS2 syntax
> means. Is it a Protégé advancement? I couldn’t find any documentation
> to this syntax.
>
> There seems to be a difference to the plain KRSS (which I linked
> above) and the KRSS2 syntax, especially when I see the exported
> Statement syntax:
>
> (define-primitive-role composed_of :transitive t :parents(part))
>
> (define-primitive-role temporal_relation :domain Temporal_Occurrence
> :range Temporal_Occurrence)
>
> In these examples, you find following keywords, which you can’t find
> in the original KRSS syntax:
>
> :transitive, :parents, :domain, :range
>
> I can guess their semantics, but to me it doesn’t seem to be the
> classic s-expression syntax any more. Also, statements about the
> domain, range or transitivity of a role can be done in classic KRSS
> syntax.
>
> I come to the end:
>
> 1) Is it necessary to have this KRSS2 syntax or couldn’t Protégé
> support the standard KRSS syntax?
>
> 2) Where can I find the exact definitions of this syntax and its semantic?
>
> - Stefan
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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 
>  
_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback
Reply | Threaded
Open this post in threaded view
|

Re: [protege-owl] KRSS2 - Syntax

Ballnat, Stefan
Hello Olaf,

thanks fort he reply.

I only use a subset of owl, dlp (description logic programming), which can be mapped to a subset of horn-clause-rules.
As I can express all dlp-axioms with KRSS and, yes, I use a lisp-like system ;-), there seems no need for me to switch to KRSS2 syntax. So I vote for the dual support of KRSS and KRSS2 in Protege.

Only, if there will be no support for "original KRSS", I will be glad, if someone can write a short docu of KRSS2.

- Stefan




-----Ursprüngliche Nachricht-----
Von: [hidden email] [mailto:[hidden email]] Im Auftrag von Olaf Noppens
Gesendet: Freitag, 1. August 2008 11:24
An: [hidden email]
Betreff: Re: [p4-feedback] [protege-owl] KRSS2 - Syntax

Hello Stefan,

I would like to clearify the two different versions of KRSS. The
original version (typically called KRSS) has been published at the
beginning of the 90s. It has been used in a lot of project, esp. because
the syntax (s-expression) is tailored for lisp-like systems and easy to
parse. However, there are limitations wrt. to the constructs used in DL
systems. For instance, it does not allow the definition of GCIs. In
addition, it does also not support the incremental definition of classes
by, for instance, adding new subclass/superclass axioms for a given
concept. That was the reason why developer of knowledge-based
applications such as reasoners has extended KRSS. However, it has been a
more informal agreement on the syntax and semantic between them.
Moreover, there has been user demand to export ontologies to KRSS to be
parsable by reasoners such as racer or CEL etc. We gave this extension
the name KRSS2. Note that KRSS2 is a real extension of KRSS, it is a
superset. Hence, Protege can parse files containing KRSS and KRSS2
constructs. However, this cannot be done for the serialization because
there are several options, for instance, to serialize sub-role
relationships. For Protege, I can imagine the option to decide which
syntax one would like to use (but this is not implemented yet). I would
also like to clarify that KRSS2 is a real extension to KRSS with
agreements from DL-implementators side how to add new constructs KRSS
does not know in a consistent way. This is important for interchanging
ontologies. Sticking on the "original KRSS syntax" (as you told it) will
not include this. My proposal is the following: extending the KRSS
export to distinguish between KRSS and KRSS2, but including also new
constructs which have no equivalent in KRSS in the "original KRSS". The
preferred syntax however is KRSS2 because of its interoperability with
current systems. We can also write a short document about the syntax and
semantics if you like.

Cheers,
Olaf




Ballnat, Stefan schrieb:

>
> Hello,
>
> I was really glad to see, that Protégé 4 can export OWL-Files in the
> KRSS format.
>
> Since I use the KRSS syntax myself according to
> http://dl.kr.org/krss-spec.ps , I was wondering what KRSS2 syntax
> means. Is it a Protégé advancement? I couldn't find any documentation
> to this syntax.
>
> There seems to be a difference to the plain KRSS (which I linked
> above) and the KRSS2 syntax, especially when I see the exported
> Statement syntax:
>
> (define-primitive-role composed_of :transitive t :parents(part))
>
> (define-primitive-role temporal_relation :domain Temporal_Occurrence
> :range Temporal_Occurrence)
>
> In these examples, you find following keywords, which you can't find
> in the original KRSS syntax:
>
> :transitive, :parents, :domain, :range
>
> I can guess their semantics, but to me it doesn't seem to be the
> classic s-expression syntax any more. Also, statements about the
> domain, range or transitivity of a role can be done in classic KRSS
> syntax.
>
> I come to the end:
>
> 1) Is it necessary to have this KRSS2 syntax or couldn't Protégé
> support the standard KRSS syntax?
>
> 2) Where can I find the exact definitions of this syntax and its semantic?
>
> - Stefan
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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 
>  
_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback
_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback
Reply | Threaded
Open this post in threaded view
|

Re: [protege-owl] KRSS2 - Syntax

Bijan Parsia-3
On 1 Aug 2008, at 12:31, Ballnat, Stefan wrote:

> Hello Olaf,
>
> thanks fort he reply.
>
> I only use a subset of owl, dlp (description logic programming),  
> which can be mapped to a subset of horn-clause-rules.
> As I can express all dlp-axioms with KRSS and, yes, I use a lisp-
> like system ;-), there seems no need for me to switch to KRSS2  
> syntax. So I vote for the dual support of KRSS and KRSS2 in Protege.

Vote with code.

Contributions to the OWL API always welcome.

> Only, if there will be no support for "original KRSS", I will be  
> glad, if someone can write a short docu of KRSS2.

Cheers,
Bijan.

_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback
Reply | Threaded
Open this post in threaded view
|

Re: [protege-owl] KRSS2 - Syntax

Bijan Parsia-3
In reply to this post by Ballnat, Stefan
Actually, you don't even need to use the OWL API.

Generate OWL/XML from P4 then write an XSLT to convert to KRSS.

Cheers,
Bijan.
_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback