Re: [protege-user] How to Create Sub-Property
Michael DeBellis <[email protected]>
| Newsgroups | gmane.comp.misc.ontology.protege.owl |
|---|---|
| Message-ID | <CALGFikeMRG+Q7N=K9PZC1CdcU3RRD2-gwC1KdBx62xrtaN5C-w@mail.gmail.com> |
> > My expectation is that properties from the ontologies for which I've > created prefix mappings would show up there. That's not correct. Just because you have a mapping in Protege doesn't mean you can see all the entities that exist in an ontology that has the base IRI as the mapping. You still need to bring some or all of those entities into your ontology. There are a few ways to do this: 1) Manually. Don't recommend this but you can literally copy an IRI like: IRI http://purl.org/dc/terms/creator and add that as a property in your ontology.This is more for special cases where you may only need a few entities and you need them ASAP to continue a task. If you do this you won't get all the annotations that are associated with that entity. E.g., things like Equivalent Property = http://xmlns.com/foaf/0.1/maker. You can copy some or all of those annotations by hand as well and I've done that in a few situations but that is not a good way to do it. 2) Import the ontology you want to use. This is the more common way. You probably know there is an Import Ontology subtab in the Active Ontology tab in Protege. After you import the ontology you can then delete entities that you don't need (at least at that time). What you do after that is debatable and the way I do it probably isn't something everyone would agree on but what I usually do after importing an ontology is use: Refactor>Merge Ontologies and merge the ontology I just imported into my main ontology. What I do after that is: 2.1) Add documentation to an annotation property on the ontology itself that says something like "reused ontology Foo from https://FooBar.com 2.2) Delete the ontology I imported from that same subtab on Active Ontologies. The reason I do 2.2 is if I don't and I send the ontology to someone else, actually even for my own use, it can slow down your loading because every time you load it has to go out to the Internet. If you do the merge, the IRIs for the reused vocabulary don't change, its just that you have explicitly add them to your ontology rather than requiring others to wait for Protege to load the ontology from somewhere on the Internet. Also, an issue that comes up is how do you handle changes to the ontology you imported? Do you want to add changes from the vocabulary to the version you have in yours or are you fine just using the entities as they existed and don't care if the reusable vocabulary changes. I think there are some tools in the OBO foundry https://obofoundry.org/resources that help you do this process when you want to incorporate one vocabulary and keep consistent with it. I think the people at Semantic Arts also have tools for this for their Gist Upper Model: https://www.semanticarts.com/gist/ . But I've never used either of them. Since you are a new Protege user, you might find this tutorial useful. It is a revision of the original Pizza tutorial that is one of the most common simple examples used to teach people how to build ontologies. I also added sections on SWRL, SHACL, and SPARQL that weren't in the original tutorial: https://www.michaeldebellis.com/post/new-protege-pizza-tutorial One last thing: I don't understand your domain of course but I just thought I would mention you might want to re-think if you even need your own property called creator and can't just use the DCT one. Cheers, Michael https://www.michaeldebellis.com/blog On Fri, Sep 12, 2025 at 7:29 AM Tim McIver <[email protected]> wrote: > Hello, > > I'm a new Protege user. I'm attempting to design a custom ontology for a > linked data application. > > My current goal is to create a property `creator` that I wish to be a > sub-property of `dct:creator`, the term from the Dublin Core Terms > ontology. I have added `dct` as prefix under "Ontology Prefixes" with a > mapping to http://purl.org/dc/terms/. I created my `creator` property as > a Data Property and I attempted to make it a sub-property of > `dct:creator` but when I attempt to do this, there is no `dct:creator` > option in the dialog box. My expectation is that properties from the > ontologies for which I've created prefix mappings would show up there. > > My research suggests that I must import the ontologies that I'd like to > use this way. Is this correct? I found this SO answer describing the > process: https://stackoverflow.com/a/44266590. Is this still the method > I should use? > > Tim > > _______________________________________________ > protege-user mailing list > [email protected] > https://mailman.stanford.edu/mailman/listinfo/protege-user > _______________________________________________ protege-user mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/protege-user