I am trying to import a RDF-Ontology to Protégé or to webvowl. There seems to be a problem with the RDF-File, because the import doesn't work, I always get an error (parsing failed).
The ontology I want to use is FRBR-Core. In addition to FRBR-Core, there is also the ontology FRBR-Extended. Oddly,the RDF-File for FRBR-Extended can be imported to Webvowl and Protégé, so this file does work. I looked at the RDF-Files of both core and extended version, hoping that I would find a difference that explains, why one file does work and the other doesn't, but I couldn't find anything.
I copied the FRBR-Core-Ontology into the OWL Validator, to see what's wrong. The error I get is:
Does anyone understand what that means? Or does anyone know at all, what the problem with FRBR-Core is?
Thanks in advance!
Previous answer: this is correct in its description of why relative IRIs are a problem, but wrong in thinking it applies here.
The ontology iri in the file starts with
string:
, which is not a valid network protocol(edit: according to the validator. The protocol is valid but the validator is restricted to urn:, http:, https:). Therefore, the IRI is relative, meaning that it will be resolved against the base IRI if one is present, or the file location otherwise.Given that you're seeing this violation, it means none of these mechanisms was available.
IRIs in an ontology cannot be relative, they must be absolute - otherwise the assertions will change according to where the file is parsed from. This is a violation of the OWL specs, and is what is being highlighted here.
I've tried the ontology in the validator and tried the code with OWLAPI 4 validation and directly in Protege. So, the following came up:
the online validator you used is manually adding an ontology IRI, because the ontology itself does not have a declaration (Protege gives the following warning on loading:
INFO 08:02:37 Loading ontology from http://purl.org/vocab/frbr/frbr-core-20050810.rdf INFO 08:02:41 Notice: root element does not have an xml:base. Relative IRIs will be resolved against http://purl.org/vocab/frbr/frbr-core-20050810.rdf
loading from the URL of the page you ave does not work - HTML is downloaded instead. I'm not sure if this is a content negotiation issue or if the ontology was only meant to be accessible via the link inside the page. Using this link works:
There are other OWL 2 DL violations, but they shouldn't stop you from using the ontology.
Use of undeclared class: <http://web.resource.org/cc/Work> [ClassAssertion(<http://web.resource.org/cc/Work> <http://purl.org/vocab/frbr/frbr-core-20050810.rdf>) in OntologyID(OntologyIRI(<http://purl.org/vocab/frbr/frbr-core-20050810.rdf>) VersionIRI(<null>))]
Use of undeclared annotation property: <http://purl.org/dc/elements/1.1/creator>
Use of undeclared annotation property: <http://purl.org/dc/terms/issued>
Use of undeclared annotation property: <http://www.w3.org/2004/02/skos/core#changeNote>
Use of undeclared annotation property: <http://www.w3.org/2004/02/skos/core#example>
Use of undeclared annotation property: <http://www.w3.org/2004/02/skos/core#historyNote>
Use of undeclared annotation property: <http://www.w3.org/2004/02/skos/core#definition>
Use of reserved vocabulary for data property IRI: rdf:value [DataPropertyAssertion(rdf:value _:genid2147483651 "application/rdf+xml")
Use of reserved vocabulary for data property IRI: rdf:value [DataPropertyAssertion(rdf:value _:genid2147483649 "text/html")