An XML Schema for SQL-based RDB2RDF Mapping (Revision 1)

From RDB2RDF
Jump to: navigation, search

XML Schema for SQL-based Mapping

<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="RDFTermType">
  <xs:simpleType>
   <xs:restriction base="xs:string">
      <xs:enumeration value="IRI"/>
      <xs:enumeration value="bNode"/>
      <xs:enumeration value="Literal"/>
   </xs:restriction>
  </xs:simpleType>
</xs:element>
<xs:element name="RDFSubjectTermType">
  <xs:simpleType>
   <xs:restriction base="xs:string">
      <xs:enumeration value="IRI"/>
      <xs:enumeration value="bNode"/>
   </xs:restriction>
  </xs:simpleType>
</xs:element>
<xs:element name="ClassMap">
<xs:complexType>
  <xs:attribute name="ClassName" type="xs:string"/>
  <xs:attribute name="GraphName" type="xs:string"/>
  <xs:element name="SQLDefString" type="xs:string" use="required"/>
  <xs:element name="InstanceIdMap" minOccurs="1" maxOccurs="1">
  <xs:complexType>
    <xs:attribute name="DBColumnName" type="xs:string" use="required"/>
    <xs:attribute name="RDFTerm" type="RDFSubjectTermType"/>
    <xs:attribute name="InverseExpr" type="xs:string"/>
  </xs:complexType>
  </xs:element>
  <xs:element name="RDFTypeURIPropertyMap" minOccurs="0">
  <xs:complexType>
    <xs:attribute name="RDFTypeURIPropertyName" type="xs:string" use="required"/>
    <xs:attribute name="DBColumnName" type="xs:string" use="required"/>
    <xs:attribute name="InverseExpr" type="xs:string"/>
  </xs:complexType>
  </xs:element>
  <xs:element name="GraphURIPropertyMap" minOccurs="0">
  <xs:complexType>
    <xs:attribute name="GraphURIPropertyName" type="xs:string" use="required"/>
    <xs:attribute name="DBColumnName" type="xs:string" use="required"/>
    <xs:attribute name="InverseExpr" type="xs:string"/>
  </xs:complexType>
  </xs:element>
  <xs:element name="ComputedPropertyMap" minOccurs="0">
  <xs:complexType>
    <xs:attribute name="ComputedPropertyName" type="xs:string" use="required"/>
    <xs:attribute name="DBColumnName" type="xs:string" use="required"/>
    <xs:attribute name="InverseExpr" type="xs:string"/>
  </xs:complexType>
  </xs:element>
  <xs:element name="PropertyMap" minOccurs="0">
  <xs:complexType>
    <xs:attribute name="PropertyName" type="xs:string" use="required"/>
    <xs:attribute name="PropertyNameIsComputedPropertyMap" type="xs:boolean"/>
    <xs:attribute name="DBColumnName" type="xs:string" use="required"/>
    <xs:attribute name="RDFTerm" type="RDFTermType"/>
    <xs:attribute name="Datatype" type="string"/>
    <xs:attribute name="Language" type="string"/>
    <xs:attribute name="InverseExpr" type="xs:string"/>
    <xs:element name="GraphURI" minOccurs="0"/>
  </xs:complexType>
  </xs:element>
  <xs:element name="ForeignKeyPropertyMap" minOccurs="0">
  <xs:complexType>
    <xs:attribute name="ForeignKeyPropertyName" type="xs:string" use="required"/>
    <xs:attribute name="ParentClassName" type="xs:string" use="required"/>
    <xs:attribute name="JoinCondition" type="xs:string" use="required"/>
  </xs:complexType>
  </xs:element>
</xs:complexType>
</xs:element>
</xs:schema>