Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent conventions regarding owl:NamedIndividual #28

Closed
uscholdm opened this issue Jun 17, 2022 · 16 comments
Closed

Inconsistent conventions regarding owl:NamedIndividual #28

uscholdm opened this issue Jun 17, 2022 · 16 comments

Comments

@uscholdm
Copy link

People using Protege to build ontologies end up with all individuals being explicit instances of owl:NamedIndividual. Other tools, and certainly, text editors used to develop ontologies do not. So here is the sort of thing that happens.

  1. Jill creates and ontology with a bunch of classes and properties and 10 instances in a text editor, runs it through the serializer and commits it to git. There are no instances of owl:NamedIndividual.
  2. Jane loads the ontology into Protege, to fix a typo in a single skos:definition for one of the classes and saves the ontology, serializes it and commits it to git.

Git thinks there are 11 changes, when there is really only one that matters.
SUGGESTION: have an option to suppress all instances of owl:NamedIndividual

@trojczak
Copy link
Collaborator

Hi, @uscholdm!
At the first glance, I think it is possible to implement this, but I have to spend more time confirming it. Are you still interested in having this change in rdf-toolkit?

@uscholdm
Copy link
Author

Yes, very much so, thank you.

@abcoates
Copy link
Contributor

I believe it should be the case that you can add owl:NamedIndividual as a type to any individual that isn't anonymous, i.e. which has a URI or QName assigned to it.

@uscholdm
Copy link
Author

I believe it should be the case that you can add owl:NamedIndividual as a type to any individual that isn't anonymous, i.e. which has a URI or QName assigned to it.

Perhaps, but I'm interested in getting rid of them all, as they are superfluous to my needs and make collaborative ontology development becaues some tools add them and some do not. Protege adds them. Some people may like them, so maybe options to include all or remove all or leave exactly as they are? Others may like those options.

@ElisaKendall
Copy link

I would rather make it optional - we preserve these as an explicit declaration in FIBO, our pharma effort, and the IOF manufacturing ontology effort. But an option that removes them and/or preserves them might be useful.

@trojczak
Copy link
Collaborator

Hi, @uscholdm!

Could you provide an example of an ontology that doesn't use owl:NamedIndividual for defining named individuals? It would be helpful to make sure that we think about the same expected output.

@rjyounes
Copy link

rjyounes commented Nov 17, 2022

This option has been added to the master branch. When do you plan to release it and update the jar file at the download link?

@trojczak
Copy link
Collaborator

Hi, @rjyounes! I've added a new release for the newest version of RDF Toolkit: https://github.com/edmcouncil/rdf-toolkit/releases/tag/v1.14.0
Hope this helps.

@rjyounes
Copy link

That's great! Thanks very much, @trojczak.

@rjyounes
Copy link

I am not able to get this to work. I'm using the following command:

java -jar rdf-toolkit-1.14.0.jar -sdt explicit -dtd -ibn -sni -s gistCore.ttl -t gistCore.tmp.ttl

The output file and input file are identical except for whitespace. I'm attaching both files for reference.

gist.zip

@trojczak
Copy link
Collaborator

Hi, @rjyounes!
To make sure that we are on the same page, could you provide the following examples of serializations (fragments with one example individual should be enough):

  1. containing the input serialization (how it looks before using Protege),
  2. after saving file with Protege,
  3. how it should look after running RDF Toolkit on the file serialized by Protege.

Thanks!

@rjyounes
Copy link

Hi @trojczak,

I don't generally use Protege, but I'm attaching a zip file with four files:

  • namedIndividual.ttl: Hand-written turtle file with owl:NamedIndividual assertion.
  • namedIndividual.serialized: Above file after serialization.
  • namedIndividual.protege.ttl: Output from Protege after loading namedIndividual.ttl.
  • namedIndividual.protege.serialized.ttl: Above file after serialization.

I'm running rdf-toolkit with this command:

java -jar rdf-toolkit-1.14.1.jar -tfmt turtle -sdt explicit  -ibn -sni -s namedIndividual.ttl -t namedIndividual.serialized.ttl

namedIndividual.zip

Thanks for your help.

Rebecca

@smeapa

This comment was marked as off-topic.

@mereolog
Copy link
Contributor

@rjyounes we believe that we have rectified the problem - could you check?

@trojczak
Copy link
Collaborator

Hi, @rjyounes! I've added a new release with the change @mereolog mentioned: https://github.com/edmcouncil/rdf-toolkit/releases/tag/v1.14.2

@rjyounes
Copy link

rjyounes commented Feb 1, 2023

Hi @trojczak that did the trick - thank you!

@mereolog mereolog closed this as completed Feb 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants