105 lines
4.6 KiB
Plaintext
105 lines
4.6 KiB
Plaintext
|
The current protocol schema advertises mapped concepts as part of the capabilities response. Here's the related part in the XML Schema:
|
||
|
|
||
|
<verbatim>
|
||
|
<xsd:element name="concepts">
|
||
|
<xsd:complexType>
|
||
|
<xsd:sequence>
|
||
|
<xsd:element name="conceptNameServers">
|
||
|
<xsd:complexType>
|
||
|
<xsd:sequence>
|
||
|
<xsd:element name="server" type="externalResourceType" maxOccurs="unbounded">
|
||
|
</xsd:element>
|
||
|
</xsd:sequence>
|
||
|
</xsd:complexType>
|
||
|
</xsd:element>
|
||
|
<xsd:element name="schema" maxOccurs="unbounded">
|
||
|
<xsd:complexType>
|
||
|
<xsd:sequence>
|
||
|
<xsd:element name="mappedConcept" maxOccurs="unbounded">
|
||
|
<xsd:complexType>
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="qualifiedConceptReferenceType">
|
||
|
<xsd:attribute name="searchable" type="xsd:boolean" use="optional" default="true"/>
|
||
|
<xsd:attribute name="mandatory" type="xsd:boolean" use="optional" default="false"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
</xsd:element>
|
||
|
</xsd:sequence>
|
||
|
<xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
|
||
|
<xsd:attribute name="location" type="xsd:anyURI" use="required"/>
|
||
|
</xsd:complexType>
|
||
|
</xsd:element>
|
||
|
</xsd:sequence>
|
||
|
</xsd:complexType>
|
||
|
</xsd:element>
|
||
|
</verbatim>
|
||
|
|
||
|
The suggested changes to support semantic mapping are:
|
||
|
|
||
|
* Concepts are now classes, properties or relationships.
|
||
|
* Properties and relationships (associations) are defined inside classes.
|
||
|
* All types of concepts are defined under a single <mapping> element.
|
||
|
* The <schema> element (unbounded) was replaced by a <source> element, specifying only namespace and location for each ontology referenced by concepts in the <mapping>.
|
||
|
* Any mapped class, property or relationship must be defined in one of the source ontologies.
|
||
|
|
||
|
<verbatim>
|
||
|
<xsd:element name="concepts">
|
||
|
<xsd:complexType>
|
||
|
<xsd:sequence>
|
||
|
<xsd:element name="conceptNameServers">
|
||
|
<xsd:complexType>
|
||
|
<xsd:sequence>
|
||
|
<xsd:element name="server" type="externalResourceType" maxOccurs="unbounded">
|
||
|
</xsd:element>
|
||
|
</xsd:sequence>
|
||
|
</xsd:complexType>
|
||
|
</xsd:element>
|
||
|
<xsd:element name="source" maxOccurs="unbounded">
|
||
|
<xsd:complexType>
|
||
|
<xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
|
||
|
<xsd:attribute name="location" type="xsd:anyURI" use="required"/>
|
||
|
</xsd:complexType>
|
||
|
</xsd:element>
|
||
|
<xsd:element name="mapping">
|
||
|
<xsd:complexType>
|
||
|
<xsd:sequence>
|
||
|
<xsd:element name="class" maxOccurs="unbounded">
|
||
|
<xsd:complexType>
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="qualifiedConceptReferenceType">
|
||
|
<xsd:sequence>
|
||
|
<xsd:element name="property" maxOccurs="unbounded">
|
||
|
<xsd:complexType>
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="qualifiedConceptReferenceType">
|
||
|
<xsd:attribute name="searchable" type="xsd:boolean" use="optional" default="true"/>
|
||
|
<xsd:attribute name="mandatory" type="xsd:boolean" use="optional" default="false"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
</xsd:element>
|
||
|
<xsd:element name="relationship" maxOccurs="unbounded">
|
||
|
<xsd:complexType>
|
||
|
<xsd:complexContent>
|
||
|
<xsd:extension base="qualifiedConceptReferenceType">
|
||
|
<xsd:attribute name="myRole" type="xsd:string" use="required"/>
|
||
|
<xsd:attribute name="withClass" type="xsd:qualifiedConceptIdType" use="required"/>
|
||
|
<xsd:attribute name="othersRole" type="xsd:string" use="required"/>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
</xsd:element>
|
||
|
</xsd:sequence>
|
||
|
</xsd:extension>
|
||
|
</xsd:complexContent>
|
||
|
</xsd:complexType>
|
||
|
</xsd:element>
|
||
|
</xsd:sequence>
|
||
|
</xsd:complexType>
|
||
|
</xsd:element>
|
||
|
</xsd:sequence>
|
||
|
</xsd:complexType>
|
||
|
</xsd:element>
|
||
|
</verbatim>
|