R – OWL Assembly Generation Problem (OWLGrinder)

ontologyowlrdfrowlex

I am building an assembly from my OWL ontology, but when parsing ontology, it raises an error message at "datatype properties" where a type is declared and some values are given. I've written my ontology using Protege v3.4.

For example, one of the datatype properties that raises error is "Language" with the type "string" and values like "English & Farsi". The references are listed below, made by protege:

<rdf:RDF xml:base="http://www.owl-ontologies.com/Ontology1243411901.owl"
xmlns="http://www.owl-ontologies.com/Ontology1243411901.owl#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:swrl="http://www.w3.org/2003/11/swrl#" 
xmlns:swrlb="http://www.w3.org/2003/11/swrlb#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" 
xmlns:xsp="http://www.owl-ontologies.com/2005/08/07/xsp.owl#">

And the "Language" property is mentioned below:

<owl:DatatypeProperty rdf:ID="language">
        <rdfs:range>
            <owl:DataRange>
                <owl:oneOf rdf:parseType="Resource">
                    <rdf:rest rdf:parseType="Resource">
                        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
                        <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Farsi</rdf:first>
                    </rdf:rest>
                    <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string">English</rdf:first>
                </owl:oneOf>
            </owl:DataRange>
        </rdfs:range>
        <rdfs:domain>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#Teacher"/>
                    <owl:Class rdf:about="#ClassOfCourse"/>
                    <owl:Class rdf:about="#LearningResource"/>
                    <owl:Class rdf:about="#Discussion"/>
                    <owl:Class rdf:about="#Student"/>
                </owl:unionOf>
            </owl:Class>
        </rdfs:domain>
    </owl:DatatypeProperty>

I just add one ontology to OWLGrinder. This error is made when generating:

Assembly generation failed. 
OWL property 'http://www.owl-ontologies.com/Ontology1243411901.owl#language' has a range declaration that points to _:bnode10579059 but its definition is missing. 
Are you missing an ontology which declares this class?

The number in front of "_:bnode" changes each time I press the "Generate" button.
By deleting the values from "Language" property, another error happens related to the next DataType property. It means that every DataType property that is defined (and have some values specified to it) is making error in OWLGrinder.

I was wondering if someone could guide me in handeling this error.

Best Answer

Currently ROWLEX OwlGrinder expects the range to be a literal or a regular class. I recommend to create a 'LanguageList' wrapper class that contains your enumeration inside assign that as a range. I did not test this, but I do expect it to work.

Related Topic