The OWLlink told extension provides a way for retrieving previously told KB axioms from an OWLLink reasoner. This document describes the accompanying HTTP/XML Binding of this extension.
This version of the OWLlink structural specification refers to the public OWL 2 working draft as of April 11th 2008 (http://www.w3.org/TR/2008/WD-owl2-syntax-20080411/) and will soon be superseded by an updated specification in order to align with the latest OWL 2 working draft or recommendation.
The OWLlink Working Group seeks public feedback on these Working Drafts. Please send your comments to public-comments@owllink.org or post to the public discussion forum at http://www.owllink.org/forum/.
This extension is being published as one of a set of 2 documents:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ox="http://www.w3.org/ns/owl2-xml" xmlns:ol="http://www.owllink.org/owllink-xml" xmlns:told="http://www.owllink.org/owllink-xml/ext/told-xml" targetNamespace="http://www.owllink.org/owllink-xml/ext/told-xml" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:import namespace="http://www.w3.org/ns/owl2-xml" schemaLocation="http://www.owllink.org/owl2.xsd"/> <xsd:import namespace="http://www.owllink.org/owllink-xml" schemaLocation="http://www.owllink.org/owllink-xml.xsd"/> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> <!-- REQUESTS --> <xsd:element name="GetClassAxioms" type="told:KBRequestWithOneOptionalDescription"/> <xsd:element name="GetAllGeneralClassAxioms" type="ol:KBRequest"/> <xsd:element name="GetObjectPropertyAxioms" type="told:KBRequestWithOneOptionalObjectPropertyExpression"/> <xsd:element name="GetDataPropertyAxioms" type="told:KBRequestWithOneOptionalDataPropertyExpression"/> <xsd:element name="GetAllGeneralObjectPropertyAxioms" type="ol:KBRequest"/> <xsd:element name="GetToldTypes" type="told:KBRequestWithOneOptionalIndividual"/> <xsd:element name="GetToldInstance" type="ol:KBRequestWithOneDescription"/> <xsd:element name="GetToldEquivalentIndividuals" type="told:KBRequestWithOneOptionalIndividual"/> <xsd:element name="GetToldObjectPropertyFillers" type="told:KBRequestWithOneIndividualAndObjectPropertyExprNegativeAttribute"/> <xsd:element name="GetToldObjectPropertySources" type="told:KBRequestWithOneIndividualAndObjectPropertyExprNegativeAttribute"/> <xsd:element name="GetToldObjectPropertyAssertionsForSource" type="ol:KBRequestWithOneIndividualAndNegativeAttribute"/> <xsd:element name="GetToldObjectPropertyAssertionsForFiller" type="ol:KBRequestWithOneIndividualAndNegativeAttribute"/> <xsd:element name="GetToldObjectPropertyAssertions" type="told:KBRequestWithOneOptionalObjectPropertyExpressionAndNegativeAttribute"/> <!-- the first is the source individual and the second is the target individual --> <xsd:element name="GetToldRelatedIndividuals" type="told:KBRequestWithTwoIndividualsAndNegativeAttribute"/> <xsd:element name="GetAnnotationPropertyDeclarations"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:element ref="ox:AnnotationProperty"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="GetOWLClassDeclarations"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:element ref="ox:OWLClass"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="GetIndividualDeclarations"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:element ref="ox:Individual"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="GetObjectPropertyDeclarations"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:element ref="ox:ObjectProperty"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="GetDataPropertyDeclarations"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:element ref="ox:DataProperty"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="GetDatatypeDeclarations"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:element ref="ox:Datatype"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="GetAnnotations"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:group ref="ox:OWLEntity"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="GetKB"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:attribute name="declarations" type="xsd:boolean" default="true"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <!-- ADDITIONAL REQUEST TYPES NEEDED FOR TOLD QUERIES --> <xsd:complexType name="KBRequestWithOneOptionalDescription"> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:group ref="ox:Description"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="KBRequestWithOneOptionalObjectPropertyExpression"> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:group ref="ox:ObjectPropertyExpression"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="KBRequestWithOneOptionalDataPropertyExpression"> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:group ref="ox:DataPropertyExpression"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="KBRequestWithOneOptionalIndividual"> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:element ref="ox:Individual"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="KBRequestWithOneOptionalObjectPropertyExpressionAndNegativeAttribute"> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence minOccurs="0"> <xsd:group ref="ox:ObjectPropertyExpression"/> </xsd:sequence> <xsd:attribute name="negative" type="xsd:boolean" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="KBRequestWithTwoIndividualsAndNegativeAttribute"> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence> <xsd:element ref="ox:Individual"/> <xsd:element ref="ox:Individual"/> </xsd:sequence> <xsd:attribute name="negative" type="xsd:boolean" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="KBRequestWithOneIndividualAndObjectPropertyExprNegativeAttribute"> <xsd:complexContent> <xsd:extension base="ol:KBRequest"> <xsd:sequence> <xsd:element ref="ox:Individual" maxOccurs="1" minOccurs="1"/> <xsd:group ref="ox:ObjectPropertyExpression" maxOccurs="1" minOccurs="1"/> </xsd:sequence> <xsd:attribute name="negative" type="xsd:boolean" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- the group of told requests --> <xsd:group name="ToldRequests"> <xsd:choice> <xsd:element ref="told:GetClassAxioms"/> <xsd:element ref="told:GetAllGeneralClassAxioms"/> <xsd:element ref="told:GetObjectPropertyAxioms"/> <xsd:element ref="told:GetDataPropertyAxioms"/> <xsd:element ref="told:GetAllGeneralObjectPropertyAxioms"/> <xsd:element ref="told:GetToldTypes"/> <xsd:element ref="told:GetToldInstance"/> <xsd:element ref="told:GetToldEquivalentIndividuals"/> <xsd:element ref="told:GetToldObjectPropertyFillers"/> <xsd:element ref="told:GetToldObjectPropertySources"/> <xsd:element ref="told:GetToldObjectPropertyAssertionsForSource"/> <xsd:element ref="told:GetToldObjectPropertyAssertionsForFiller"/> <xsd:element ref="told:GetToldObjectPropertyAssertions"/> <xsd:element ref="told:GetToldRelatedIndividuals"/> <xsd:element ref="told:GetAnnotationPropertyDeclarations"/> <xsd:element ref="told:GetOWLClassDeclarations"/> <xsd:element ref="told:GetIndividualDeclarations"/> <xsd:element ref="told:GetObjectPropertyDeclarations"/> <xsd:element ref="told:GetDataPropertyDeclarations"/> <xsd:element ref="told:GetDatatypeDeclarations"/> <xsd:element ref="told:GetAnnotations"/> <xsd:element ref="told:GetKB"/> </xsd:choice> </xsd:group> <!-- RESPONSES --> <!-- the group of told requests --> <xsd:group name="ToldResponses"> <xsd:choice> <xsd:element ref="told:ToldClassAxioms"/> <xsd:element ref="told:ToldGeneralClassAxioms"/> <xsd:element ref="told:ToldObjectPropertyAxioms"/> <xsd:element ref="told:ToldDataPropertyAxioms"/> <xsd:element ref="told:ToldGeneralObjectPropertyAxioms"/> <xsd:element ref="told:ToldClassAssertions"/> <xsd:element ref="told:ToldEquivalentIndividuals"/> <xsd:element ref="told:ToldDisjointIndividuals"/> <xsd:element ref="told:ToldObjectPropertyAssertions"/> <xsd:element ref="told:ToldDataPropertyAssertions"/> <xsd:element ref="told:ToldDeclarationAxioms"/> <xsd:element ref="told:ToldAnnotationAxioms"/> <xsd:element ref="told:ToldKBAxioms"/> </xsd:choice> </xsd:group> <xsd:element name="ToldClassAxioms"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:choice> <xsd:element ref="ox:SubClassOf"/> <xsd:element ref="ox:EquivalentClasses"/> <xsd:element ref="ox:DisjointClasses"/> <xsd:element ref="ox:DisjointUnion"/> </xsd:choice> </xsd:sequence> <xsd:attributeGroup ref="xml:specialAttrs"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldGeneralClassAxioms"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:choice> <xsd:element ref="ox:SubClassOf"/> <xsd:element ref="ox:EquivalentClasses"/> <xsd:element ref="ox:DisjointClasses"/> </xsd:choice> </xsd:sequence> <xsd:attributeGroup ref="xml:specialAttrs"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldObjectPropertyAxioms"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:choice> <xsd:element ref="ox:ObjectPropertyDomain"/> <xsd:element ref="ox:ObjectPropertyRange"/> <xsd:element ref="ox:FunctionalObjectProperty"/> <xsd:element ref="ox:ReflexiveObjectProperty"/> <xsd:element ref="ox:InverseFunctionalObjectProperty"/> <xsd:element ref="ox:IrreflexiveObjectProperty"/> <xsd:element ref="ox:SymmetricObjectProperty"/> <xsd:element ref="ox:TransitiveObjectProperty"/> <xsd:element ref="ox:AsymmetricObjectProperty"/> <xsd:element ref="ox:EquivalentObjectProperties"/> <xsd:element ref="ox:DisjointObjectProperties"/> <xsd:element ref="ox:SubObjectPropertyOf"/> <xsd:element ref="ox:InverseObjectProperties"/> </xsd:choice> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldDataPropertyAxioms"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:choice> <xsd:element ref="ox:DataPropertyDomain"/> <xsd:element ref="ox:DataPropertyRange"/> <xsd:element ref="ox:FunctionalDataProperty"/> <xsd:element ref="ox:EquivalentDataProperties"/> <xsd:element ref="ox:DisjointDataProperties"/> <xsd:element ref="ox:SubDataPropertyOf"/> </xsd:choice> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldGeneralObjectPropertyAxioms"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:choice> <xsd:element ref="ox:ObjectPropertyDomain"/> <xsd:element ref="ox:ObjectPropertyRange"/> <xsd:element ref="ox:FunctionalObjectProperty"/> <xsd:element ref="ox:ReflexiveObjectProperty"/> <xsd:element ref="ox:InverseFunctionalObjectProperty"/> <xsd:element ref="ox:IrreflexiveObjectProperty"/> <xsd:element ref="ox:SymmetricObjectProperty"/> <xsd:element ref="ox:TransitiveObjectProperty"/> <xsd:element ref="ox:AsymmetricObjectProperty"/> <xsd:element ref="ox:EquivalentObjectProperties"/> <xsd:element ref="ox:DisjointObjectProperties"/> <xsd:element ref="ox:SubObjectPropertyOf"/> <xsd:element ref="ox:InverseObjectProperties"/> </xsd:choice> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldClassAssertions"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="ox:ClassAssertion"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldEquivalentIndividuals"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <!-- note that there is a typo in the OWL 2 schema as of April 2008 ox:SameIndividual (instead of ox:SameIndividuals) --> <xsd:element ref="ox:SameIndividual"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldDisjointIndividuals"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="ox:DifferentIndividuals"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldObjectPropertyAssertions"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="ox:ObjectPropertyAssertion"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldDataPropertyAssertions"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="ox:DataPropertyAssertion"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldDeclarationAxioms"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="ox:Declaration"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldAnnotationAxioms"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="ox:EntityAnnotation"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ToldKBAxioms"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="ol:KBResponse"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:group ref="ox:Axiom"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> </xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ox="http://www.w3.org/ns/owl2-xml" xmlns:ol="http://www.owllink.org/owllink-xml" xmlns:ext="http://www.owllink.org/owllink-xml/ext/told-xml" targetNamespace="http://www.owllink.org/owllink-xml" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:import namespace="http://www.w3.org/ns/owl2-xml" schemaLocation="http://www.owllink.org/owl2.xsd"/> <xsd:import namespace="http://www.owllink.org/owllink-xml/ext/told-xml" schemaLocation="http://www.owllink.org/ext/told-xml-def.xsd"/> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> <xsd:redefine schemaLocation="http://www.owllink.org/owllink-xml.xsd"> <xsd:group name="Request"> <xsd:choice> <xsd:group ref="ol:Request"/> <xsd:group ref="ext:ToldRequests"/> </xsd:choice> </xsd:group> <xsd:group name="Response"> <xsd:choice> <xsd:group ref="ol:Response"/> <xsd:group ref="ext:ToldResponses"/> </xsd:choice> </xsd:group> </xsd:redefine> </xsd:schema>