You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by ss zuev <ss...@gmail.com> on 2019/10/18 10:29:03 UTC

OWL2 support in Jena.

 Hello, everyone.
This is the question.

There is a project [ONT-API](https://github.com/avicomp/ont-api), which is
a jena-based OWL-API implementation.
It includes Ontology RDF Model,
[ru.avicomp.ontapi.jena.model.OntGraphModel](
https://github.com/avicomp/ont-api/blob/master/src/main/java/ru/avicomp/ontapi/jena/model/OntGraphModel.java),

that is an analogue of org.apache.jena.ontology.OntModel but for OWL2
semantic.

Currently I can't continue with domain avicomp, and, therefore,I'd like to
move somewhere the whole project or some its part.
I think the OntGraphModel as a feature could be very convenient for Jena
users.

Few additional notes:
ONT-API has direct tests for only this model (package
ru.avicomp.ontapi.tests.jena),
and total number of testcases (which might be considered as indirect tests)
is about 5500 (many of them were taken from OWL-API).
It also has benchmarks and memmarks (but not for `OntGraphModel`).
Also it has javadocs and usages: (my) ONT-D2RQ, ONT-MAP projects, and
protege-like system (yet not in github), many other users also use ONT-API
somehow.

Obviously, the possible moving would mean total refactoring : changing
namespaces and class names, fix docs, maybe moving methods, etc.

What do you think about this?

Re: OWL2 support in Jena.

Posted by ssz <ss...@gmail.com>.
You can use whatever you want.
Especially if you don't know the exact difference between Reasoner and API
or between OWL1+ and OWL2 (I suspect you are happy with the use 'OntModel'
- so, go ahead).
Just side note - the default OWL-API implementation, which, unlike
'OntModel', meets the OWL2 specifications, do not allow neither
triple-storers or SPARQL or whatever else, that is based on RDF.
All these statements are described in README.md (and wiki).
As for me, 'OntModel' is inconvenient to use when there is OWL2, just
because OWL2 is not OWL1 + new features; these two versions are different.
I would also use 'OntModel', but it turned out that it does not fit the
conditions that are required by ONT-API developing, and it turned out that
it’s better to create a new model.
I think, there is nothing to talk about:
if you don't see the reasons for 'OntGraphModel', or ONT-API, or anything
different from 'OntModel', then just vote down (-1).
Anyway, thank you for your opinion.

On Thu, Oct 24, 2019 at 10:20 AM Piotr Nowara <pi...@gmail.com> wrote:

> Hi,
>
> why not just use an external Jena-compatible library for OWL2 support. I
> used Openllet[1] (a Pellet fork) with very good results. It does even
> support SWRL reasoning.It's very easy to set it up to work with Jena. The
> only issue with might be the AGPL license which might be not appropriate
> for commercial use.
>
> Cheers,
> Piotr
>
> [1]https://github.com/Galigator/openllet
>
> śr., 23 paź 2019 o 22:05 Claude Warren <cl...@xenei.com> napisał(a):
>
> > OK.  I finally had a few minutes to look at this code.
> >
> > I agree that supporting OWL2 would be nice.
> >
> > There seems to be a lot here.  (I have not read through it all and
> > therefore do not have a full understanding of the contribution) I too am
> > concerned about having enough developers that understand the code to be
> > able to support it.  But as more people use it more will achieve the
> level
> > of competence necessary to support it.  I believe that will come with
> time
> > and as I recall we have had questions about OWL2 support so I suspect
> there
> > is a population of developers that will contribute and support.
> >
> > I am concerned about possible code duplication.  For example there is a
> > UnionGraph class in the contribution, how does this differ from the
> > existing Union class?
> >
> > My other concern is the impact on the permissions layer.  This is a new
> > Model type and the permissions layer does not directly support it.  There
> > are additional classes like OntList that should be wrapped.   This might
> be
> > an opportunity to revisit the Permissions layer and determine if there
> is a
> > better implementation strategy.  On the other hand, I don't have the time
> > to do a full revisit.  I could, however, work with ss zuev to ensure that
> > the permissions layer provides support for the new Ontology classes.
> >
> > I know we normally vote +1, -1 or 0 but  in this case I am
> >
> > +0.5   because I am not certain of the level of support available for the
> > code being contributed.
> >
> > If there is more support from other PMC members I could be convinced to
> > change to +1
> >
> > On a side topic, do we have a documented procedure for accepting
> > contributions?  I don't recall what I did for the Permissions layer and I
> > know there have been several contributions since then.
> >
> > Claude
> >
> > On Wed, Oct 23, 2019 at 7:03 PM ss zuev <ss...@gmail.com> wrote:
> >
> > > >> PMC and community - your thoughts.
> > > > Not sure what does it mean, but it doesn't look like important.
> > >
> > > I apologize, just misunderstood this.
> > > Well, If the PMC and community decide that this feature is good to be
> > > included as a Jena part, then, I think, the discussion can be moved to
> > > Jira.
> > > It is not an urgent question.
> > > Thank you for your time.
> > >
> > >
> > > On Tue, Oct 22, 2019 at 8:44 PM ss zuev <ss...@gmail.com> wrote:
> > >
> > > > > PMC and community - your thoughts.
> > > >
> > > > Not sure what does it mean, but it doesn't look like important.
> > > >
> > > > The new home for ONT-API is the owlcs group, it is discussed [here](
> > > > https://github.com/owlcs/owlapi/issues/889).
> > > > The relationship between ONT-API and OWL-API is described in the
> > > README.md
> > > > of ONT-API.
> > > > The question was not about moving the whole project, but only part of
> > it
> > > > (OntGraphModel), sorry if I didn’t put it clearly enough.
> > > > It is the package 'com.github.owlcs.ontapi.jena' (the former
> > > > 'ru.avicomp.ontapi.jena') and the main class is 'OntGraphModel'.
> > > > All the rest parts of API are definitely not suitable to be moved
> into
> > > > Jena.
> > > > But this one - is a classic Jena Model, small enough, and I thought
> it
> > > > would be quite convenient for people who are used to the 'OntModel'.
> > > > Although it is not 'InfModel', it has rich functionality to work with
> > all
> > > > OWL2 things, which is what many people want.
> > > > In the page https://jena.apache.org/documentation/ontology/ there
> are
> > > > words about OWL1.1: "We will be addressing this in future versions
> > Jena."
> > > > so I thought OntGraphModel could be a good start to such support.
> > > >
> > > > "Copyright (c), The University of Manchester, owl.cs group." is a
> > header,
> > > > that I set a few days ago.
> > > > Instead of old one, since now the project home is owlcs. I can't see
> > any
> > > > problem here, it seemed to me a pretty good header.
> > > > And, of course, I didn't mean the moving everything as it is: this
> was
> > a
> > > > question, while moving the header would be changed to apache license,
> > and
> > > > classes/packages would be renamed. Sorry if this was unclear.
> > > >
> > > > > the provenance is unclear.
> > > >
> > > > Well, the whole provenance is definitely in the git history, no any
> > other
> > > > places exist.
> > > > Maybe it is unclear due to the moving - this operation is not
> directly
> > > > supported by the git itself, although some tools can glue the commit
> > > > history after moving.
> > > >
> > > > > So an important question is whether, from the wider Jena community,
> > > > there are people sufficiently interested to take this forward.
> > > >
> > > > Well, I can support this model, but in this case, I tend to think it
> is
> > > > better to leave the 'OntGraphModel' as a part of ONT-API (i.e. within
> > its
> > > > new home - owlcs).
> > > >
> > > > So, the question, I think, can be closed. Thank you for your time.
> > > >
> > > >
> > > > On 2019/10/18 10:29:03, ss zuev <ss...@gmail.com> wrote:
> > > > >  Hello, everyone.
> > > > > This is the question.
> > > > >
> > > > > There is a project [ONT-API](https://github.com/avicomp/ont-api),
> > > which
> > > > is
> > > > > a jena-based OWL-API implementation.
> > > > > It includes Ontology RDF Model,
> > > > > [ru.avicomp.ontapi.jena.model.OntGraphModel](
> > > > >
> > > >
> > >
> >
> https://github.com/avicomp/ont-api/blob/master/src/main/java/ru/avicomp/ontapi/jena/model/OntGraphModel.java
> > > > ),
> > > > >
> > > > > that is an analogue of org.apache.jena.ontology.OntModel but for
> OWL2
> > > > > semantic.
> > > > >
> > > > > Currently I can't continue with domain avicomp, and, therefore,I'd
> > like
> > > > to
> > > > > move somewhere the whole project or some its part.
> > > > > I think the OntGraphModel as a feature could be very convenient for
> > > Jena
> > > > > users.
> > > > >
> > > > > Few additional notes:
> > > > > ONT-API has direct tests for only this model (package
> > > > > ru.avicomp.ontapi.tests.jena),
> > > > > and total number of testcases (which might be considered as
> indirect
> > > > tests)
> > > > > is about 5500 (many of them were taken from OWL-API).
> > > > > It also has benchmarks and memmarks (but not for `OntGraphModel`).
> > > > > Also it has javadocs and usages: (my) ONT-D2RQ, ONT-MAP projects,
> and
> > > > > protege-like system (yet not in github), many other users also use
> > > > ONT-API
> > > > > somehow.
> > > > >
> > > > > Obviously, the possible moving would mean total refactoring :
> > changing
> > > > > namespaces and class names, fix docs, maybe moving methods, etc.
> > > > >
> > > > > What do you think about this?
> > > > >
> > > >
> > >
> >
> >
> > --
> > I like: Like Like - The likeliest place on the web
> > <http://like-like.xenei.com>
> > LinkedIn: http://www.linkedin.com/in/claudewarren
> >
>

Re: OWL2 support in Jena.

Posted by Piotr Nowara <pi...@gmail.com>.
Hi,

why not just use an external Jena-compatible library for OWL2 support. I
used Openllet[1] (a Pellet fork) with very good results. It does even
support SWRL reasoning.It's very easy to set it up to work with Jena. The
only issue with might be the AGPL license which might be not appropriate
for commercial use.

Cheers,
Piotr

[1]https://github.com/Galigator/openllet

śr., 23 paź 2019 o 22:05 Claude Warren <cl...@xenei.com> napisał(a):

> OK.  I finally had a few minutes to look at this code.
>
> I agree that supporting OWL2 would be nice.
>
> There seems to be a lot here.  (I have not read through it all and
> therefore do not have a full understanding of the contribution) I too am
> concerned about having enough developers that understand the code to be
> able to support it.  But as more people use it more will achieve the level
> of competence necessary to support it.  I believe that will come with time
> and as I recall we have had questions about OWL2 support so I suspect there
> is a population of developers that will contribute and support.
>
> I am concerned about possible code duplication.  For example there is a
> UnionGraph class in the contribution, how does this differ from the
> existing Union class?
>
> My other concern is the impact on the permissions layer.  This is a new
> Model type and the permissions layer does not directly support it.  There
> are additional classes like OntList that should be wrapped.   This might be
> an opportunity to revisit the Permissions layer and determine if there is a
> better implementation strategy.  On the other hand, I don't have the time
> to do a full revisit.  I could, however, work with ss zuev to ensure that
> the permissions layer provides support for the new Ontology classes.
>
> I know we normally vote +1, -1 or 0 but  in this case I am
>
> +0.5   because I am not certain of the level of support available for the
> code being contributed.
>
> If there is more support from other PMC members I could be convinced to
> change to +1
>
> On a side topic, do we have a documented procedure for accepting
> contributions?  I don't recall what I did for the Permissions layer and I
> know there have been several contributions since then.
>
> Claude
>
> On Wed, Oct 23, 2019 at 7:03 PM ss zuev <ss...@gmail.com> wrote:
>
> > >> PMC and community - your thoughts.
> > > Not sure what does it mean, but it doesn't look like important.
> >
> > I apologize, just misunderstood this.
> > Well, If the PMC and community decide that this feature is good to be
> > included as a Jena part, then, I think, the discussion can be moved to
> > Jira.
> > It is not an urgent question.
> > Thank you for your time.
> >
> >
> > On Tue, Oct 22, 2019 at 8:44 PM ss zuev <ss...@gmail.com> wrote:
> >
> > > > PMC and community - your thoughts.
> > >
> > > Not sure what does it mean, but it doesn't look like important.
> > >
> > > The new home for ONT-API is the owlcs group, it is discussed [here](
> > > https://github.com/owlcs/owlapi/issues/889).
> > > The relationship between ONT-API and OWL-API is described in the
> > README.md
> > > of ONT-API.
> > > The question was not about moving the whole project, but only part of
> it
> > > (OntGraphModel), sorry if I didn’t put it clearly enough.
> > > It is the package 'com.github.owlcs.ontapi.jena' (the former
> > > 'ru.avicomp.ontapi.jena') and the main class is 'OntGraphModel'.
> > > All the rest parts of API are definitely not suitable to be moved into
> > > Jena.
> > > But this one - is a classic Jena Model, small enough, and I thought it
> > > would be quite convenient for people who are used to the 'OntModel'.
> > > Although it is not 'InfModel', it has rich functionality to work with
> all
> > > OWL2 things, which is what many people want.
> > > In the page https://jena.apache.org/documentation/ontology/ there are
> > > words about OWL1.1: "We will be addressing this in future versions
> Jena."
> > > so I thought OntGraphModel could be a good start to such support.
> > >
> > > "Copyright (c), The University of Manchester, owl.cs group." is a
> header,
> > > that I set a few days ago.
> > > Instead of old one, since now the project home is owlcs. I can't see
> any
> > > problem here, it seemed to me a pretty good header.
> > > And, of course, I didn't mean the moving everything as it is: this was
> a
> > > question, while moving the header would be changed to apache license,
> and
> > > classes/packages would be renamed. Sorry if this was unclear.
> > >
> > > > the provenance is unclear.
> > >
> > > Well, the whole provenance is definitely in the git history, no any
> other
> > > places exist.
> > > Maybe it is unclear due to the moving - this operation is not directly
> > > supported by the git itself, although some tools can glue the commit
> > > history after moving.
> > >
> > > > So an important question is whether, from the wider Jena community,
> > > there are people sufficiently interested to take this forward.
> > >
> > > Well, I can support this model, but in this case, I tend to think it is
> > > better to leave the 'OntGraphModel' as a part of ONT-API (i.e. within
> its
> > > new home - owlcs).
> > >
> > > So, the question, I think, can be closed. Thank you for your time.
> > >
> > >
> > > On 2019/10/18 10:29:03, ss zuev <ss...@gmail.com> wrote:
> > > >  Hello, everyone.
> > > > This is the question.
> > > >
> > > > There is a project [ONT-API](https://github.com/avicomp/ont-api),
> > which
> > > is
> > > > a jena-based OWL-API implementation.
> > > > It includes Ontology RDF Model,
> > > > [ru.avicomp.ontapi.jena.model.OntGraphModel](
> > > >
> > >
> >
> https://github.com/avicomp/ont-api/blob/master/src/main/java/ru/avicomp/ontapi/jena/model/OntGraphModel.java
> > > ),
> > > >
> > > > that is an analogue of org.apache.jena.ontology.OntModel but for OWL2
> > > > semantic.
> > > >
> > > > Currently I can't continue with domain avicomp, and, therefore,I'd
> like
> > > to
> > > > move somewhere the whole project or some its part.
> > > > I think the OntGraphModel as a feature could be very convenient for
> > Jena
> > > > users.
> > > >
> > > > Few additional notes:
> > > > ONT-API has direct tests for only this model (package
> > > > ru.avicomp.ontapi.tests.jena),
> > > > and total number of testcases (which might be considered as indirect
> > > tests)
> > > > is about 5500 (many of them were taken from OWL-API).
> > > > It also has benchmarks and memmarks (but not for `OntGraphModel`).
> > > > Also it has javadocs and usages: (my) ONT-D2RQ, ONT-MAP projects, and
> > > > protege-like system (yet not in github), many other users also use
> > > ONT-API
> > > > somehow.
> > > >
> > > > Obviously, the possible moving would mean total refactoring :
> changing
> > > > namespaces and class names, fix docs, maybe moving methods, etc.
> > > >
> > > > What do you think about this?
> > > >
> > >
> >
>
>
> --
> I like: Like Like - The likeliest place on the web
> <http://like-like.xenei.com>
> LinkedIn: http://www.linkedin.com/in/claudewarren
>

Re: OWL2 support in Jena.

Posted by Claude Warren <cl...@xenei.com>.
The permissions module allows for filtering of data from graphs based on an
external access pattern.  Basically, it uses dynamic proxies to wrap the
instance of Model or Graph (and associated beasts like RDFList) so that
users can not see data they are not allowed to see.  When I wrote that
comment I thought there were classes for the Inference Graph and Models but
I was mistaken.  It simply uses the underlying secured model or graph to
execute.  So no bother there.

Claude

On Thu, Oct 24, 2019 at 12:10 PM ssz <ss...@gmail.com> wrote:

> The '*.ontapi.jena.UnionGraph' is an analogue of
> 'org.apache.jena.graph.compose.MultiUnion', not
> 'org.apache.jena.graph.compose.Union', just like 'OntGraphModel' is an
> analogue of 'OntModel'.
> There are differences between these two graphs:
> - structure. 'UnionGraph' requires one base, while 'MultiUnion' does not
> - it can be distinct or not (now it is always distinct, but for future
> release I'am planning to turn off this option, but only in OWL-API view -
> for OntGraphModel it will remain true).
> - it is safe for recursions: it can contain itself as a child, while
> 'MultiUnion' cannot (i.e. StackOverflowError).
> - it is used in other parts of ONT-API (not only in jena subsystem - i.e.
> not only in the package 'com.github.owlcs.ontapi.jena')
> - it has it is own 'GraphEventManager' with extended functionality
> - the 'UnionGraph' is a part of ONT-API, and I can controll it, what cannot
> be said about 'MultiUnion' - perhaps, this is the main reason.
>
> There could be other reasons - I can't recall right now.
> It is also possible that there were good reasons that led to the appearance
> of this graph, but now these reasons have disappeared.
> Anyway, if the investigation will prof that some ONT-API thing can be
> safely replaced with Jena-analogue, then such replacement will be
> performed.
> Migration of 'OntGraphModel' is an example of such possible replacement.
> And right now I don't see other replacement candidates.
>
> I don't know what is permissions layer in Jena; in ONT-API it is unneeded,
> but if it is required by Jena, it can be added.
>
> 'OntGraphModel' can be supported by me, whether it remains as part of
> ONT-API, or migrates to Jena, depending on ONT-API needs and bug-reports.
> And, of course, depending on free-time.
> I'm still working continuously on ONT-API, and so far I am not going to
> abandon it.
> Again, it is not an urgent question,
> some things can be done first in bounds of ONT-API, and migration can be
> done later (or not).
>
> On Wed, Oct 23, 2019 at 11:05 PM Claude Warren <cl...@xenei.com> wrote:
>
> > OK.  I finally had a few minutes to look at this code.
> >
> > I agree that supporting OWL2 would be nice.
> >
> > There seems to be a lot here.  (I have not read through it all and
> > therefore do not have a full understanding of the contribution) I too am
> > concerned about having enough developers that understand the code to be
> > able to support it.  But as more people use it more will achieve the
> level
> > of competence necessary to support it.  I believe that will come with
> time
> > and as I recall we have had questions about OWL2 support so I suspect
> there
> > is a population of developers that will contribute and support.
> >
> > I am concerned about possible code duplication.  For example there is a
> > UnionGraph class in the contribution, how does this differ from the
> > existing Union class?
> >
> > My other concern is the impact on the permissions layer.  This is a new
> > Model type and the permissions layer does not directly support it.  There
> > are additional classes like OntList that should be wrapped.   This might
> be
> > an opportunity to revisit the Permissions layer and determine if there
> is a
> > better implementation strategy.  On the other hand, I don't have the time
> > to do a full revisit.  I could, however, work with ss zuev to ensure that
> > the permissions layer provides support for the new Ontology classes.
> >
> > I know we normally vote +1, -1 or 0 but  in this case I am
> >
> > +0.5   because I am not certain of the level of support available for the
> > code being contributed.
> >
> > If there is more support from other PMC members I could be convinced to
> > change to +1
> >
> > On a side topic, do we have a documented procedure for accepting
> > contributions?  I don't recall what I did for the Permissions layer and I
> > know there have been several contributions since then.
> >
> > Claude
> >
> > On Wed, Oct 23, 2019 at 7:03 PM ss zuev <ss...@gmail.com> wrote:
> >
> > > >> PMC and community - your thoughts.
> > > > Not sure what does it mean, but it doesn't look like important.
> > >
> > > I apologize, just misunderstood this.
> > > Well, If the PMC and community decide that this feature is good to be
> > > included as a Jena part, then, I think, the discussion can be moved to
> > > Jira.
> > > It is not an urgent question.
> > > Thank you for your time.
> > >
> > >
> > > On Tue, Oct 22, 2019 at 8:44 PM ss zuev <ss...@gmail.com> wrote:
> > >
> > > > > PMC and community - your thoughts.
> > > >
> > > > Not sure what does it mean, but it doesn't look like important.
> > > >
> > > > The new home for ONT-API is the owlcs group, it is discussed [here](
> > > > https://github.com/owlcs/owlapi/issues/889).
> > > > The relationship between ONT-API and OWL-API is described in the
> > > README.md
> > > > of ONT-API.
> > > > The question was not about moving the whole project, but only part of
> > it
> > > > (OntGraphModel), sorry if I didn’t put it clearly enough.
> > > > It is the package 'com.github.owlcs.ontapi.jena' (the former
> > > > 'ru.avicomp.ontapi.jena') and the main class is 'OntGraphModel'.
> > > > All the rest parts of API are definitely not suitable to be moved
> into
> > > > Jena.
> > > > But this one - is a classic Jena Model, small enough, and I thought
> it
> > > > would be quite convenient for people who are used to the 'OntModel'.
> > > > Although it is not 'InfModel', it has rich functionality to work with
> > all
> > > > OWL2 things, which is what many people want.
> > > > In the page https://jena.apache.org/documentation/ontology/ there
> are
> > > > words about OWL1.1: "We will be addressing this in future versions
> > Jena."
> > > > so I thought OntGraphModel could be a good start to such support.
> > > >
> > > > "Copyright (c), The University of Manchester, owl.cs group." is a
> > header,
> > > > that I set a few days ago.
> > > > Instead of old one, since now the project home is owlcs. I can't see
> > any
> > > > problem here, it seemed to me a pretty good header.
> > > > And, of course, I didn't mean the moving everything as it is: this
> was
> > a
> > > > question, while moving the header would be changed to apache license,
> > and
> > > > classes/packages would be renamed. Sorry if this was unclear.
> > > >
> > > > > the provenance is unclear.
> > > >
> > > > Well, the whole provenance is definitely in the git history, no any
> > other
> > > > places exist.
> > > > Maybe it is unclear due to the moving - this operation is not
> directly
> > > > supported by the git itself, although some tools can glue the commit
> > > > history after moving.
> > > >
> > > > > So an important question is whether, from the wider Jena community,
> > > > there are people sufficiently interested to take this forward.
> > > >
> > > > Well, I can support this model, but in this case, I tend to think it
> is
> > > > better to leave the 'OntGraphModel' as a part of ONT-API (i.e. within
> > its
> > > > new home - owlcs).
> > > >
> > > > So, the question, I think, can be closed. Thank you for your time.
> > > >
> > > >
> > > > On 2019/10/18 10:29:03, ss zuev <ss...@gmail.com> wrote:
> > > > >  Hello, everyone.
> > > > > This is the question.
> > > > >
> > > > > There is a project [ONT-API](https://github.com/avicomp/ont-api),
> > > which
> > > > is
> > > > > a jena-based OWL-API implementation.
> > > > > It includes Ontology RDF Model,
> > > > > [ru.avicomp.ontapi.jena.model.OntGraphModel](
> > > > >
> > > >
> > >
> >
> https://github.com/avicomp/ont-api/blob/master/src/main/java/ru/avicomp/ontapi/jena/model/OntGraphModel.java
> > > > ),
> > > > >
> > > > > that is an analogue of org.apache.jena.ontology.OntModel but for
> OWL2
> > > > > semantic.
> > > > >
> > > > > Currently I can't continue with domain avicomp, and, therefore,I'd
> > like
> > > > to
> > > > > move somewhere the whole project or some its part.
> > > > > I think the OntGraphModel as a feature could be very convenient for
> > > Jena
> > > > > users.
> > > > >
> > > > > Few additional notes:
> > > > > ONT-API has direct tests for only this model (package
> > > > > ru.avicomp.ontapi.tests.jena),
> > > > > and total number of testcases (which might be considered as
> indirect
> > > > tests)
> > > > > is about 5500 (many of them were taken from OWL-API).
> > > > > It also has benchmarks and memmarks (but not for `OntGraphModel`).
> > > > > Also it has javadocs and usages: (my) ONT-D2RQ, ONT-MAP projects,
> and
> > > > > protege-like system (yet not in github), many other users also use
> > > > ONT-API
> > > > > somehow.
> > > > >
> > > > > Obviously, the possible moving would mean total refactoring :
> > changing
> > > > > namespaces and class names, fix docs, maybe moving methods, etc.
> > > > >
> > > > > What do you think about this?
> > > > >
> > > >
> > >
> >
> >
> > --
> > I like: Like Like - The likeliest place on the web
> > <http://like-like.xenei.com>
> > LinkedIn: http://www.linkedin.com/in/claudewarren
> >
>


-- 
I like: Like Like - The likeliest place on the web
<http://like-like.xenei.com>
LinkedIn: http://www.linkedin.com/in/claudewarren

Re: OWL2 support in Jena.

Posted by ssz <ss...@gmail.com>.
The '*.ontapi.jena.UnionGraph' is an analogue of
'org.apache.jena.graph.compose.MultiUnion', not
'org.apache.jena.graph.compose.Union', just like 'OntGraphModel' is an
analogue of 'OntModel'.
There are differences between these two graphs:
- structure. 'UnionGraph' requires one base, while 'MultiUnion' does not
- it can be distinct or not (now it is always distinct, but for future
release I'am planning to turn off this option, but only in OWL-API view -
for OntGraphModel it will remain true).
- it is safe for recursions: it can contain itself as a child, while
'MultiUnion' cannot (i.e. StackOverflowError).
- it is used in other parts of ONT-API (not only in jena subsystem - i.e.
not only in the package 'com.github.owlcs.ontapi.jena')
- it has it is own 'GraphEventManager' with extended functionality
- the 'UnionGraph' is a part of ONT-API, and I can controll it, what cannot
be said about 'MultiUnion' - perhaps, this is the main reason.

There could be other reasons - I can't recall right now.
It is also possible that there were good reasons that led to the appearance
of this graph, but now these reasons have disappeared.
Anyway, if the investigation will prof that some ONT-API thing can be
safely replaced with Jena-analogue, then such replacement will be
performed.
Migration of 'OntGraphModel' is an example of such possible replacement.
And right now I don't see other replacement candidates.

I don't know what is permissions layer in Jena; in ONT-API it is unneeded,
but if it is required by Jena, it can be added.

'OntGraphModel' can be supported by me, whether it remains as part of
ONT-API, or migrates to Jena, depending on ONT-API needs and bug-reports.
And, of course, depending on free-time.
I'm still working continuously on ONT-API, and so far I am not going to
abandon it.
Again, it is not an urgent question,
some things can be done first in bounds of ONT-API, and migration can be
done later (or not).

On Wed, Oct 23, 2019 at 11:05 PM Claude Warren <cl...@xenei.com> wrote:

> OK.  I finally had a few minutes to look at this code.
>
> I agree that supporting OWL2 would be nice.
>
> There seems to be a lot here.  (I have not read through it all and
> therefore do not have a full understanding of the contribution) I too am
> concerned about having enough developers that understand the code to be
> able to support it.  But as more people use it more will achieve the level
> of competence necessary to support it.  I believe that will come with time
> and as I recall we have had questions about OWL2 support so I suspect there
> is a population of developers that will contribute and support.
>
> I am concerned about possible code duplication.  For example there is a
> UnionGraph class in the contribution, how does this differ from the
> existing Union class?
>
> My other concern is the impact on the permissions layer.  This is a new
> Model type and the permissions layer does not directly support it.  There
> are additional classes like OntList that should be wrapped.   This might be
> an opportunity to revisit the Permissions layer and determine if there is a
> better implementation strategy.  On the other hand, I don't have the time
> to do a full revisit.  I could, however, work with ss zuev to ensure that
> the permissions layer provides support for the new Ontology classes.
>
> I know we normally vote +1, -1 or 0 but  in this case I am
>
> +0.5   because I am not certain of the level of support available for the
> code being contributed.
>
> If there is more support from other PMC members I could be convinced to
> change to +1
>
> On a side topic, do we have a documented procedure for accepting
> contributions?  I don't recall what I did for the Permissions layer and I
> know there have been several contributions since then.
>
> Claude
>
> On Wed, Oct 23, 2019 at 7:03 PM ss zuev <ss...@gmail.com> wrote:
>
> > >> PMC and community - your thoughts.
> > > Not sure what does it mean, but it doesn't look like important.
> >
> > I apologize, just misunderstood this.
> > Well, If the PMC and community decide that this feature is good to be
> > included as a Jena part, then, I think, the discussion can be moved to
> > Jira.
> > It is not an urgent question.
> > Thank you for your time.
> >
> >
> > On Tue, Oct 22, 2019 at 8:44 PM ss zuev <ss...@gmail.com> wrote:
> >
> > > > PMC and community - your thoughts.
> > >
> > > Not sure what does it mean, but it doesn't look like important.
> > >
> > > The new home for ONT-API is the owlcs group, it is discussed [here](
> > > https://github.com/owlcs/owlapi/issues/889).
> > > The relationship between ONT-API and OWL-API is described in the
> > README.md
> > > of ONT-API.
> > > The question was not about moving the whole project, but only part of
> it
> > > (OntGraphModel), sorry if I didn’t put it clearly enough.
> > > It is the package 'com.github.owlcs.ontapi.jena' (the former
> > > 'ru.avicomp.ontapi.jena') and the main class is 'OntGraphModel'.
> > > All the rest parts of API are definitely not suitable to be moved into
> > > Jena.
> > > But this one - is a classic Jena Model, small enough, and I thought it
> > > would be quite convenient for people who are used to the 'OntModel'.
> > > Although it is not 'InfModel', it has rich functionality to work with
> all
> > > OWL2 things, which is what many people want.
> > > In the page https://jena.apache.org/documentation/ontology/ there are
> > > words about OWL1.1: "We will be addressing this in future versions
> Jena."
> > > so I thought OntGraphModel could be a good start to such support.
> > >
> > > "Copyright (c), The University of Manchester, owl.cs group." is a
> header,
> > > that I set a few days ago.
> > > Instead of old one, since now the project home is owlcs. I can't see
> any
> > > problem here, it seemed to me a pretty good header.
> > > And, of course, I didn't mean the moving everything as it is: this was
> a
> > > question, while moving the header would be changed to apache license,
> and
> > > classes/packages would be renamed. Sorry if this was unclear.
> > >
> > > > the provenance is unclear.
> > >
> > > Well, the whole provenance is definitely in the git history, no any
> other
> > > places exist.
> > > Maybe it is unclear due to the moving - this operation is not directly
> > > supported by the git itself, although some tools can glue the commit
> > > history after moving.
> > >
> > > > So an important question is whether, from the wider Jena community,
> > > there are people sufficiently interested to take this forward.
> > >
> > > Well, I can support this model, but in this case, I tend to think it is
> > > better to leave the 'OntGraphModel' as a part of ONT-API (i.e. within
> its
> > > new home - owlcs).
> > >
> > > So, the question, I think, can be closed. Thank you for your time.
> > >
> > >
> > > On 2019/10/18 10:29:03, ss zuev <ss...@gmail.com> wrote:
> > > >  Hello, everyone.
> > > > This is the question.
> > > >
> > > > There is a project [ONT-API](https://github.com/avicomp/ont-api),
> > which
> > > is
> > > > a jena-based OWL-API implementation.
> > > > It includes Ontology RDF Model,
> > > > [ru.avicomp.ontapi.jena.model.OntGraphModel](
> > > >
> > >
> >
> https://github.com/avicomp/ont-api/blob/master/src/main/java/ru/avicomp/ontapi/jena/model/OntGraphModel.java
> > > ),
> > > >
> > > > that is an analogue of org.apache.jena.ontology.OntModel but for OWL2
> > > > semantic.
> > > >
> > > > Currently I can't continue with domain avicomp, and, therefore,I'd
> like
> > > to
> > > > move somewhere the whole project or some its part.
> > > > I think the OntGraphModel as a feature could be very convenient for
> > Jena
> > > > users.
> > > >
> > > > Few additional notes:
> > > > ONT-API has direct tests for only this model (package
> > > > ru.avicomp.ontapi.tests.jena),
> > > > and total number of testcases (which might be considered as indirect
> > > tests)
> > > > is about 5500 (many of them were taken from OWL-API).
> > > > It also has benchmarks and memmarks (but not for `OntGraphModel`).
> > > > Also it has javadocs and usages: (my) ONT-D2RQ, ONT-MAP projects, and
> > > > protege-like system (yet not in github), many other users also use
> > > ONT-API
> > > > somehow.
> > > >
> > > > Obviously, the possible moving would mean total refactoring :
> changing
> > > > namespaces and class names, fix docs, maybe moving methods, etc.
> > > >
> > > > What do you think about this?
> > > >
> > >
> >
>
>
> --
> I like: Like Like - The likeliest place on the web
> <http://like-like.xenei.com>
> LinkedIn: http://www.linkedin.com/in/claudewarren
>

Re: OWL2 support in Jena.

Posted by Claude Warren <cl...@xenei.com>.
OK.  I finally had a few minutes to look at this code.

I agree that supporting OWL2 would be nice.

There seems to be a lot here.  (I have not read through it all and
therefore do not have a full understanding of the contribution) I too am
concerned about having enough developers that understand the code to be
able to support it.  But as more people use it more will achieve the level
of competence necessary to support it.  I believe that will come with time
and as I recall we have had questions about OWL2 support so I suspect there
is a population of developers that will contribute and support.

I am concerned about possible code duplication.  For example there is a
UnionGraph class in the contribution, how does this differ from the
existing Union class?

My other concern is the impact on the permissions layer.  This is a new
Model type and the permissions layer does not directly support it.  There
are additional classes like OntList that should be wrapped.   This might be
an opportunity to revisit the Permissions layer and determine if there is a
better implementation strategy.  On the other hand, I don't have the time
to do a full revisit.  I could, however, work with ss zuev to ensure that
the permissions layer provides support for the new Ontology classes.

I know we normally vote +1, -1 or 0 but  in this case I am

+0.5   because I am not certain of the level of support available for the
code being contributed.

If there is more support from other PMC members I could be convinced to
change to +1

On a side topic, do we have a documented procedure for accepting
contributions?  I don't recall what I did for the Permissions layer and I
know there have been several contributions since then.

Claude

On Wed, Oct 23, 2019 at 7:03 PM ss zuev <ss...@gmail.com> wrote:

> >> PMC and community - your thoughts.
> > Not sure what does it mean, but it doesn't look like important.
>
> I apologize, just misunderstood this.
> Well, If the PMC and community decide that this feature is good to be
> included as a Jena part, then, I think, the discussion can be moved to
> Jira.
> It is not an urgent question.
> Thank you for your time.
>
>
> On Tue, Oct 22, 2019 at 8:44 PM ss zuev <ss...@gmail.com> wrote:
>
> > > PMC and community - your thoughts.
> >
> > Not sure what does it mean, but it doesn't look like important.
> >
> > The new home for ONT-API is the owlcs group, it is discussed [here](
> > https://github.com/owlcs/owlapi/issues/889).
> > The relationship between ONT-API and OWL-API is described in the
> README.md
> > of ONT-API.
> > The question was not about moving the whole project, but only part of it
> > (OntGraphModel), sorry if I didn’t put it clearly enough.
> > It is the package 'com.github.owlcs.ontapi.jena' (the former
> > 'ru.avicomp.ontapi.jena') and the main class is 'OntGraphModel'.
> > All the rest parts of API are definitely not suitable to be moved into
> > Jena.
> > But this one - is a classic Jena Model, small enough, and I thought it
> > would be quite convenient for people who are used to the 'OntModel'.
> > Although it is not 'InfModel', it has rich functionality to work with all
> > OWL2 things, which is what many people want.
> > In the page https://jena.apache.org/documentation/ontology/ there are
> > words about OWL1.1: "We will be addressing this in future versions Jena."
> > so I thought OntGraphModel could be a good start to such support.
> >
> > "Copyright (c), The University of Manchester, owl.cs group." is a header,
> > that I set a few days ago.
> > Instead of old one, since now the project home is owlcs. I can't see any
> > problem here, it seemed to me a pretty good header.
> > And, of course, I didn't mean the moving everything as it is: this was a
> > question, while moving the header would be changed to apache license, and
> > classes/packages would be renamed. Sorry if this was unclear.
> >
> > > the provenance is unclear.
> >
> > Well, the whole provenance is definitely in the git history, no any other
> > places exist.
> > Maybe it is unclear due to the moving - this operation is not directly
> > supported by the git itself, although some tools can glue the commit
> > history after moving.
> >
> > > So an important question is whether, from the wider Jena community,
> > there are people sufficiently interested to take this forward.
> >
> > Well, I can support this model, but in this case, I tend to think it is
> > better to leave the 'OntGraphModel' as a part of ONT-API (i.e. within its
> > new home - owlcs).
> >
> > So, the question, I think, can be closed. Thank you for your time.
> >
> >
> > On 2019/10/18 10:29:03, ss zuev <ss...@gmail.com> wrote:
> > >  Hello, everyone.
> > > This is the question.
> > >
> > > There is a project [ONT-API](https://github.com/avicomp/ont-api),
> which
> > is
> > > a jena-based OWL-API implementation.
> > > It includes Ontology RDF Model,
> > > [ru.avicomp.ontapi.jena.model.OntGraphModel](
> > >
> >
> https://github.com/avicomp/ont-api/blob/master/src/main/java/ru/avicomp/ontapi/jena/model/OntGraphModel.java
> > ),
> > >
> > > that is an analogue of org.apache.jena.ontology.OntModel but for OWL2
> > > semantic.
> > >
> > > Currently I can't continue with domain avicomp, and, therefore,I'd like
> > to
> > > move somewhere the whole project or some its part.
> > > I think the OntGraphModel as a feature could be very convenient for
> Jena
> > > users.
> > >
> > > Few additional notes:
> > > ONT-API has direct tests for only this model (package
> > > ru.avicomp.ontapi.tests.jena),
> > > and total number of testcases (which might be considered as indirect
> > tests)
> > > is about 5500 (many of them were taken from OWL-API).
> > > It also has benchmarks and memmarks (but not for `OntGraphModel`).
> > > Also it has javadocs and usages: (my) ONT-D2RQ, ONT-MAP projects, and
> > > protege-like system (yet not in github), many other users also use
> > ONT-API
> > > somehow.
> > >
> > > Obviously, the possible moving would mean total refactoring : changing
> > > namespaces and class names, fix docs, maybe moving methods, etc.
> > >
> > > What do you think about this?
> > >
> >
>


-- 
I like: Like Like - The likeliest place on the web
<http://like-like.xenei.com>
LinkedIn: http://www.linkedin.com/in/claudewarren

Re: OWL2 support in Jena.

Posted by ss zuev <ss...@gmail.com>.
>> PMC and community - your thoughts.
> Not sure what does it mean, but it doesn't look like important.

I apologize, just misunderstood this.
Well, If the PMC and community decide that this feature is good to be
included as a Jena part, then, I think, the discussion can be moved to
Jira.
It is not an urgent question.
Thank you for your time.


On Tue, Oct 22, 2019 at 8:44 PM ss zuev <ss...@gmail.com> wrote:

> > PMC and community - your thoughts.
>
> Not sure what does it mean, but it doesn't look like important.
>
> The new home for ONT-API is the owlcs group, it is discussed [here](
> https://github.com/owlcs/owlapi/issues/889).
> The relationship between ONT-API and OWL-API is described in the README.md
> of ONT-API.
> The question was not about moving the whole project, but only part of it
> (OntGraphModel), sorry if I didn’t put it clearly enough.
> It is the package 'com.github.owlcs.ontapi.jena' (the former
> 'ru.avicomp.ontapi.jena') and the main class is 'OntGraphModel'.
> All the rest parts of API are definitely not suitable to be moved into
> Jena.
> But this one - is a classic Jena Model, small enough, and I thought it
> would be quite convenient for people who are used to the 'OntModel'.
> Although it is not 'InfModel', it has rich functionality to work with all
> OWL2 things, which is what many people want.
> In the page https://jena.apache.org/documentation/ontology/ there are
> words about OWL1.1: "We will be addressing this in future versions Jena."
> so I thought OntGraphModel could be a good start to such support.
>
> "Copyright (c), The University of Manchester, owl.cs group." is a header,
> that I set a few days ago.
> Instead of old one, since now the project home is owlcs. I can't see any
> problem here, it seemed to me a pretty good header.
> And, of course, I didn't mean the moving everything as it is: this was a
> question, while moving the header would be changed to apache license, and
> classes/packages would be renamed. Sorry if this was unclear.
>
> > the provenance is unclear.
>
> Well, the whole provenance is definitely in the git history, no any other
> places exist.
> Maybe it is unclear due to the moving - this operation is not directly
> supported by the git itself, although some tools can glue the commit
> history after moving.
>
> > So an important question is whether, from the wider Jena community,
> there are people sufficiently interested to take this forward.
>
> Well, I can support this model, but in this case, I tend to think it is
> better to leave the 'OntGraphModel' as a part of ONT-API (i.e. within its
> new home - owlcs).
>
> So, the question, I think, can be closed. Thank you for your time.
>
>
> On 2019/10/18 10:29:03, ss zuev <ss...@gmail.com> wrote:
> >  Hello, everyone.
> > This is the question.
> >
> > There is a project [ONT-API](https://github.com/avicomp/ont-api), which
> is
> > a jena-based OWL-API implementation.
> > It includes Ontology RDF Model,
> > [ru.avicomp.ontapi.jena.model.OntGraphModel](
> >
> https://github.com/avicomp/ont-api/blob/master/src/main/java/ru/avicomp/ontapi/jena/model/OntGraphModel.java
> ),
> >
> > that is an analogue of org.apache.jena.ontology.OntModel but for OWL2
> > semantic.
> >
> > Currently I can't continue with domain avicomp, and, therefore,I'd like
> to
> > move somewhere the whole project or some its part.
> > I think the OntGraphModel as a feature could be very convenient for Jena
> > users.
> >
> > Few additional notes:
> > ONT-API has direct tests for only this model (package
> > ru.avicomp.ontapi.tests.jena),
> > and total number of testcases (which might be considered as indirect
> tests)
> > is about 5500 (many of them were taken from OWL-API).
> > It also has benchmarks and memmarks (but not for `OntGraphModel`).
> > Also it has javadocs and usages: (my) ONT-D2RQ, ONT-MAP projects, and
> > protege-like system (yet not in github), many other users also use
> ONT-API
> > somehow.
> >
> > Obviously, the possible moving would mean total refactoring : changing
> > namespaces and class names, fix docs, maybe moving methods, etc.
> >
> > What do you think about this?
> >
>

Re: OWL2 support in Jena.

Posted by ss zuev <ss...@gmail.com>.
> PMC and community - your thoughts.

Not sure what does it mean, but it doesn't look like important.

The new home for ONT-API is the owlcs group, it is discussed [here](https://github.com/owlcs/owlapi/issues/889).
The relationship between ONT-API and OWL-API is described in the README.md of ONT-API.
The question was not about moving the whole project, but only part of it (OntGraphModel), sorry if I didn’t put it clearly enough. 
It is the package 'com.github.owlcs.ontapi.jena' (the former 'ru.avicomp.ontapi.jena') and the main class is 'OntGraphModel'.
All the rest parts of API are definitely not suitable to be moved into Jena. 
But this one - is a classic Jena Model, small enough, and I thought it would be quite convenient for people who are used to the 'OntModel'. 
Although it is not 'InfModel', it has rich functionality to work with all OWL2 things, which is what many people want.
In the page https://jena.apache.org/documentation/ontology/ there are words about OWL1.1: "We will be addressing this in future versions Jena."
so I thought OntGraphModel could be a good start to such support.

"Copyright (c), The University of Manchester, owl.cs group." is a header, that I set a few days ago. 
Instead of old one, since now the project home is owlcs. I can't see any problem here, it seemed to me a pretty good header.
And, of course, I didn't mean the moving everything as it is: this was a question, while moving the header would be changed to apache license, and classes/packages would be renamed. Sorry if this was unclear.

> the provenance is unclear.

Well, the whole provenance is definitely in the git history, no any other places exist.
Maybe it is unclear due to the moving - this operation is not directly supported by the git itself, although some tools can glue the commit history after moving.

> So an important question is whether, from the wider Jena community, there are people sufficiently interested to take this forward.

Well, I can support this model, but in this case, I tend to think it is better to leave the 'OntGraphModel' as a part of ONT-API (i.e. within its new home - owlcs).

So, the question, I think, can be closed. Thank you for your time.


On 2019/10/18 10:29:03, ss zuev <ss...@gmail.com> wrote: 
>  Hello, everyone.
> This is the question.
> 
> There is a project [ONT-API](https://github.com/avicomp/ont-api), which is
> a jena-based OWL-API implementation.
> It includes Ontology RDF Model,
> [ru.avicomp.ontapi.jena.model.OntGraphModel](
> https://github.com/avicomp/ont-api/blob/master/src/main/java/ru/avicomp/ontapi/jena/model/OntGraphModel.java),
> 
> that is an analogue of org.apache.jena.ontology.OntModel but for OWL2
> semantic.
> 
> Currently I can't continue with domain avicomp, and, therefore,I'd like to
> move somewhere the whole project or some its part.
> I think the OntGraphModel as a feature could be very convenient for Jena
> users.
> 
> Few additional notes:
> ONT-API has direct tests for only this model (package
> ru.avicomp.ontapi.tests.jena),
> and total number of testcases (which might be considered as indirect tests)
> is about 5500 (many of them were taken from OWL-API).
> It also has benchmarks and memmarks (but not for `OntGraphModel`).
> Also it has javadocs and usages: (my) ONT-D2RQ, ONT-MAP projects, and
> protege-like system (yet not in github), many other users also use ONT-API
> somehow.
> 
> Obviously, the possible moving would mean total refactoring : changing
> namespaces and class names, fix docs, maybe moving methods, etc.
> 
> What do you think about this?
> 

Re: OWL2 support in Jena.

Posted by Andy Seaborne <an...@apache.org>.
PMC and community - your thoughts.

It would be good to have OWL2 support.

At the same time, it needs enough developer interest to make it sustainable.

So an important question is whether, from the wider Jena community, 
there are people sufficiently interested to take this forward.

What's the relationship with
   https://github.com/owlcs/ont-api
and
   https://github.com/owlcs/owlapi
?

 From the code history, it looks some of the code at least is
"Copyright (c), The University of Manchester, owl.cs group."
after which the provenance is unclear.

     Andy


On 18/10/2019 11:29, ss zuev wrote:
>   Hello, everyone.
> This is the question.
> 
> There is a project [ONT-API](https://github.com/avicomp/ont-api), which is
> a jena-based OWL-API implementation.
> It includes Ontology RDF Model,
> [ru.avicomp.ontapi.jena.model.OntGraphModel](
> https://github.com/avicomp/ont-api/blob/master/src/main/java/ru/avicomp/ontapi/jena/model/OntGraphModel.java),
> 
> that is an analogue of org.apache.jena.ontology.OntModel but for OWL2
> semantic.
> 
> Currently I can't continue with domain avicomp, and, therefore,I'd like to
> move somewhere the whole project or some its part.
> I think the OntGraphModel as a feature could be very convenient for Jena
> users.
> 
> Few additional notes:
> ONT-API has direct tests for only this model (package
> ru.avicomp.ontapi.tests.jena),
> and total number of testcases (which might be considered as indirect tests)
> is about 5500 (many of them were taken from OWL-API).
> It also has benchmarks and memmarks (but not for `OntGraphModel`).
> Also it has javadocs and usages: (my) ONT-D2RQ, ONT-MAP projects, and
> protege-like system (yet not in github), many other users also use ONT-API
> somehow.
> 
> Obviously, the possible moving would mean total refactoring : changing
> namespaces and class names, fix docs, maybe moving methods, etc.
> 
> What do you think about this?
>