Pregunta

Estoy construyendo un montaje de mi ontología OWL, pero al analizar la ontología, que levanta un mensaje de error en "propiedades de tipo de datos", donde se declara un tipo y se dan algunos valores. He escrito mi ontología usando v3.4 Protege.

Por ejemplo, una de las propiedades de tipo de datos que genera error es "Idioma" con el tipo "cadena" y los valores como "Inglés y persa". Las referencias se enumeran a continuación, hecha por el protegido:

<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#">

Y la propiedad "Idioma" se menciona a continuación:

<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>

Acabo de añadir una ontología a OWLGrinder. Este error se hace cuando se genera:

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?

El número delante del "_: bnode" cambia cada vez que se presiona el botón "Generar". Mediante la supresión de los valores de la propiedad "Idioma", otro error ocurre en relación con la siguiente propiedad DataType. Esto significa que cada propiedad Tipo de datos que se define (y tienen algunos valores especificados a ella) está haciendo error en OWLGrinder.

Me preguntaba si alguien podría guiar en handeling este error.

¿Fue útil?

Solución

ROWLEX OwlGrinder espera que el rango para ser un literal o una clase regular. Recomiendo para crear una clase contenedora 'LanguageList' que contiene la enumeración dentro asigno que como un rango. No he probado esto, pero espero que funcione.

Otros consejos

No estoy familiarizado con OWLGrinder, pero se puede tratar de declarar una clase denominada como ExpectedLanguages (dar a su nodo de un URI anónimo) y luego usar eso como el rango para su predicado language. Un ejemplo abreviado (en formato tortuga ):

:ExpectedLanguages
    a owl:DataRange ;
    owl:oneOf (
        "Farsi"^^xsd:string
        "English"^^xsd:string
    );
.

:languages
    rdfs:range :ExpectedLanguages ;
.

Su uso de los href="http://www.w3.org/TeamSubmission/turtle/" tipo de datos enumerado OWL requiere que el código / analizador / razonador ser OWL-DL ajustarse, como mínimo.

La razón por la _:bnodeXXX (nodo en blanco / nodo anónimo) tiene una nueva identificación cada vez se debe a que está en blanco. Sin embargo, para los propósitos de identificar dentro de un gráfico de RDF (modelo) en la memoria, un ID necesita ser generada para cada nodo anónimo cuando se carga de modo mientras que el modelo está siendo analizado cada nodo (anónimo o nombrado) puede ser identificada por lo que sus referencias de entrada y salida pueden ser identificados.

Intellidimension proporciona un SDK que puede convertir OWL-Lite, OWL-Full, o OWL-DL clases .NET. Es posible que desee echar un vistazo a eso.

Nota al margen
Creo que está confundiendo la semántica del dominio de la ontología. Parece que usted está tratando de decir que "El lenguaje puede existir solamente en el Maestro, ClassOfCourse, LearningResource, Discusión, Estudiante", cuando en realidad se está diciendo "Si el lenguaje se utiliza para describir una instancia esa instancia se puede inferir que el Maestro UnionOf , ClassOfCourse, LearningResource, discusión y Estudiante. ". Esta es una mala interpretación común de la semántica de OWL, ya que se siente como dominio debe estar restringiendo el inmueble utilizan cuando en realidad eso no es siempre la función de OWL (esquema / validación). OWL sólo se utiliza para describir lo que se debe inferirse por el uso, que no prescribe el uso.

semántica de dominio descritas en la Guía OWL.

Mediante el uso de UnionOf en el dominio de la propiedad idioma que están diciendo que "Cualquier cosa que se describe el uso de la propiedad de idioma es un maestro, o un ClassOfCourse, o una LearningResource, o una discusión, o un estudiante". Yo diría que esto no suele ser significativa.

UnionOf semántica describe en la guía OWL.

El rango es similar, ya que si se define el rango de una propiedad que sea de un tipo específico de lo que se infiere que todos los literales / recursos que se conocen por esa propiedad son del tipo definido con la declaración gama.

intervalo descrito en la guía OWL.

He copiar / pegar su ontología en http://www.mygrid.org. uk / OWL / Validador : dice que esta ontología es (al menos) no una ontología OWL-Lite. Puede ser un problema para su configuración Protege?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top