Re: [protege-user] Question about OWL RDF-Based Semantics
Michael DeBellis <[email protected]>
| Newsgroups | gmane.comp.misc.ontology.protege.owl |
|---|---|
| Message-ID | <CALGFikf6F1d2i5XST3_7n+M1=Tn1hKH_9WQJE4sNuHQKruMpiw@mail.gmail.com> |
> > For example, the input file contained the statement > oslc:Error a rdfs:Class ; > but the saved file had the statement > oslc:Error rdf:type owl:Class ; I'm guessing you had a file that you read in to Protege that had things defined using rdfs:Class? If so then my best guess is that Protege was just doing its best to translate that file into OWL format. owl:Class and rdfs:Class are not the same thing. In a Protege ontology you shouldn't be using rdfs:Class you should always use owl:Class. It has nothing to do with which profile you use. There is a profile (in theory) called OWL Full but IMO it should be called "OWL Don't Ever Use this Because if you do kiss any reasoning goodbye" but that's sort of a long name. The point being that OWL Full (actually, I think there is a different name for it now) is something that is almost never useful because it includes things that make it impossible to use a reasoner. I think the default profile is what used to be called OWL DL but is now just called OWL2: https://www.w3.org/TR/owl2-overview/#Profiles And the various profiles: https://www.w3.org/TR/owl2-profiles/ are for when you want to put limits on your use of OWL 2 in order to get faster reasoning. To my knowledge there is no way to do this automatically in Protege. I.e., it would be a nice to have feature where you could say "I just want to use OWL 2 QL" and Protege would know to exclude the appropriate kinds of axioms but I don't think that's possible and if you want to restrict yourself to a profile other than OWL 2 you need to know what to not include yourself. Although in my experience some reasoners (e.g., AllegroGraph) can still handle OWL models that include expressions that aren't included for performance reasons without a problem. They just ignore those axioms. That's another thing about OWL profiles. AllegroGraph and probably other triplestore vendors have their own subsets of OWL based on what they've found that their customers most need vs. performance of the reasoner. Their goal is to support very large graphs and still get acceptable reasoning performance. Regarding other parts of your question: > I was aware that Protege (OWLAPI) does some modifications to the initial > input in some cases. I'm not aware of this. I think Protege looks for certain triples that define the various prefixes, the name of the ontology, etc. and may create some default triples if it can't find them but otherwise it doesn't do any modification of the file. > Are those modifications based on the RDF to DL transformations described > in that standard? As I understand it, it is more appropriate to think of it the other way. When you edit in Protege you are thinking in terms of Description Logic but what Protege generates for you is RDF/RDFS triples and when you save a file it stores that information in one of several different possible serialization formats (RDF/XML, Turtle, JSON-LD, etc.) Cheers, Michael https://www.michaeldebellis.com/blog On Sun, Jan 19, 2025 at 11:20 AM Steve Vestal via protege-user < [email protected]> wrote: > For example, the input file contained the statement > > oslc:Error a rdfs:Class ; > > but the saved file had the statement > > oslc:Error rdf:type owl:Class ; > > > On 1/19/2025 11:59 AM, Samson Tu wrote: > > Can you explain what you meant by the modifications Protégé (OWLAPI) makes to the initial input? > > Samson > > > On Jan 19, 2025, at 5:46 AM, Steve Vestal via protege-user <[email protected]> <[email protected]> wrote: > > Someone recently pointed me to the "OWL 2 Web Ontology Language RDF-Based Semantics (Second Edition)" standard. I was aware that Protege (OWLAPI) does some modifications to the initial input in some cases. Are those modifications based on the RDF to DL transformations described in that standard? Is this related to OWL Full? > > > _______________________________________________ > protege-user mailing [email protected]://mailman.stanford.edu/mailman/listinfo/protege-user > > _______________________________________________ > 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