Endpoint: MijnProductCatalogus20230413

Edit Request log Archive Delete

Your specially constructed endpoint is right here.

Request URL: https://translate.lab.semantic-treehouse.nl/api/15

Format: xml

Output format: turtle

Response URL: https://httpbin.org/post

Headers: RML:
@prefix rml: <http://semweb.mmlab.be/ns/rml#> .
@prefix ql: <http://semweb.mmlab.be/ns/ql#> .
@prefix rr: <http://www.w3.org/ns/r2rml#> .

[]
  rml:logicalSource [
    rml:source "http://www.example.com/root" ;
    rml:referenceFormulation ql:XPath ;
    rml:iterator "/MijnProductCatalogus"
  ] ;
  rr:subjectMap [
    rr:termType rr:BlankNode ;
    rr:class <http://ns.ketenstandaard.nl/sales/v005#PriceCatalogueType>
  ] ;
  rr:predicateObjectMap [
    rr:predicate <http://ns.ketenstandaard.nl/sales/v005#PriceCatalogueType_Currency> ;
    rr:objectMap [ rml:reference "PrijsValuta" ]
  ], [
    rr:predicate <http://ns.ketenstandaard.nl/sales/v005#PriceCatalogueType_Grouping> ;
    rr:objectMap [
      rr:parentTriplesMap [
        rml:logicalSource [
          rml:source "http://www.example.com/root" ;
          rml:referenceFormulation ql:XPath ;
          rml:iterator "/MijnProductCatalogus/Producten"
        ] ;
        rr:subjectMap [
          rr:termType rr:BlankNode ;
          rr:class <http://ns.ketenstandaard.nl/sales/v005#GroupingType>
        ] ;
        rr:predicateObjectMap [
          rr:predicate <http://ns.ketenstandaard.nl/sales/v005#GroupingType_TradeItemLine> ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:XPath ;
                rml:iterator "/MijnProductCatalogus/Producten/Product"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class <http://ns.ketenstandaard.nl/sales/v005#TradeItemLineType>
              ] ;
              rr:predicateObjectMap [
                rr:predicate <http://ns.ketenstandaard.nl/sales/v005#TradeItemLineType_PriceInformation> ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:XPath ;
                      rml:iterator "/MijnProductCatalogus/Producten/Product/Prijs"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class <http://ns.ketenstandaard.nl/sales/v005#PriceInformationType_Catalogue>
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate <http://ns.ketenstandaard.nl/sales/v005#PriceInformationType_Catalogue_GrossPrice> ;
                      rr:objectMap [ rml:reference "Bruto" ]
                    ], [
                      rr:predicate <http://ns.ketenstandaard.nl/sales/v005#PriceInformationType_Catalogue_NetPrice> ;
                      rr:objectMap [ rml:reference "Netto" ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ], [
                rr:predicate <http://ns.ketenstandaard.nl/sales/v005#TradeItemLineType_TradeItemIdentification> ;
                rr:objectMap [
                  rr:parentTriplesMap [
                    rml:logicalSource [
                      rml:source "http://www.example.com/root" ;
                      rml:referenceFormulation ql:XPath ;
                      rml:iterator "/MijnProductCatalogus/Producten/Product/ID"
                    ] ;
                    rr:subjectMap [
                      rr:termType rr:BlankNode ;
                      rr:class <http://ns.ketenstandaard.nl/sales/v005#TradeItemIdentificationType>
                    ] ;
                    rr:predicateObjectMap [
                      rr:predicate <http://ns.ketenstandaard.nl/sales/v005#TradeItemIdentificationType_GTIN> ;
                      rr:objectMap [ rml:reference "GTIN" ]
                    ]
                  ] ;
                  rr:joinCondition [
                    rr:child "." ;
                    rr:parent ".."
                  ]
                ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ], [
          rr:predicate <http://ns.ketenstandaard.nl/sales/v005#GroupingType_Supplier> ;
          rr:objectMap [
            rr:parentTriplesMap [
              rml:logicalSource [
                rml:source "http://www.example.com/root" ;
                rml:referenceFormulation ql:XPath ;
                rml:iterator "/MijnProductCatalogus/Producten/Leverancier"
              ] ;
              rr:subjectMap [
                rr:termType rr:BlankNode ;
                rr:class <http://ns.ketenstandaard.nl/sales/v005#PartyWithContactAndCertificateType_InformationPC>
              ] ;
              rr:predicateObjectMap [
                rr:predicate <http://ns.ketenstandaard.nl/sales/v005#PartyWithContactAndCertificateType_InformationPC_Name> ;
                rr:objectMap [ rml:reference "Naam" ]
              ]
            ] ;
            rr:joinCondition [
              rr:child "." ;
              rr:parent ".."
            ]
          ]
        ]
      ] ;
      rr:joinCondition [
        rr:child "." ;
        rr:parent ".."
      ]
    ]
  ], [
    rr:predicate <http://ns.ketenstandaard.nl/sales/v005#PriceCatalogueType_MessageDate> ;
    rr:objectMap [ rml:reference "VerzendDatum" ]
  ] .
XML Schema:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="https://example.org/messages/MijnPrijsCatalogus#" xmlns:sth="https://ns.semantic-treehouse.nl/message#" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="https://example.org/messages/MijnPrijsCatalogus#" xmlns:ns0="http://example.org/messages#MijnPrijsCatalogus" xmlns:ns1="https://example.org/messages/MijnPrijsCatalogus" xmlns:ns2="https://example.org/messages/MijnPrijsCatalogus" xmlns:ns3="https://example.org/messages/prijscatalogus" xmlns:ns4="http://www.w3.org/2001/XMLSchema">
<!--===== Root element definition =====-->
<xs:element name="MijnProductCatalogus" type="PriceCatalogueType"/>
<!--===== ComplexType definitions =====-->
<xs:complexType name="PriceCatalogueType">
  <xs:sequence>
    <xs:element name="VerzendDatum" type="ns4:date">
      <xs:annotation>
        <xs:documentation>
          <sth:definition>Datum waarop het bericht is aangemaakt. </sth:definition>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="PrijsValuta" type="ns4:string">
      <xs:annotation>
        <xs:documentation>
          <sth:definition>Code van de munteenheid waarin de bedragen in het bericht zijn uitgedrukt. </sth:definition>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="Producten" maxOccurs="unbounded" type="GroupingType">
      <xs:annotation>
        <xs:documentation>
          <sth:definition>Niveau in het bericht waar binnen artikelregels gegroepeerd kunnen worden per leverancier. </sth:definition>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="GroupingType">
  <xs:sequence>
    <xs:element name="Leverancier" type="PartyWithContactAndCertificateType_InformationPC">
      <xs:annotation>
        <xs:documentation>
          <sth:definition>Partij die goederen en/of diensten verkoopt en levert. </sth:definition>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="Product" minOccurs="0" maxOccurs="unbounded" type="TradeItemLineType">
      <xs:annotation>
        <xs:documentation>
          <sth:definition>Niveau in het bericht waar artikelen worden gespecificeerd. </sth:definition>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="TradeItemLineType">
  <xs:sequence>
    <xs:element name="ID" type="TradeItemIdentificationType">
      <xs:annotation>
        <xs:documentation>
          <sth:definition>Gegevens ter identificatie van een artikel.</sth:definition>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="Prijs" type="PriceInformationType_Catalogue">
      <xs:annotation>
        <xs:documentation>
          <sth:definition>Gegevens over de prijs van een artikel. Als alleen de 'Netto prijs' is gevuld dan is de nettoprijs leidend en vervallen de condities. Als alleen de 'Bruto prijs' is gevuld dan geldt: nettoprijs = brutoprijs + condities. Geadviseerd wordt om niet 'Netto prijs' en 'Bruto prijs' te vullen, als beide toch zijn ingevuld dan is de 'Netto prijs' leidenden vervallen de condities</sth:definition>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="PartyWithContactAndCertificateType_InformationPC">
  <xs:sequence>
    <xs:element name="Naam" type="ns4:string">
      <xs:annotation>
        <xs:documentation>
          <sth:definition>Tekstveld met de naam van de partij of locatie. </sth:definition>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="PriceInformationType_Catalogue">
  <xs:sequence>
    <xs:element name="Bruto">
      <xs:annotation>
        <xs:documentation>
          <sth:definition>Bedrag dat wordt gevraagd voor de levering van een product of dienst, exclusief kortingen en toeslagen en exclusief BTW. Met de meegegeven kortingen/toeslagen kan de netto prijs berekend worden. Als het veld 'Indicatie prijs op aanvraag' gelijk is aan 'J' dan is de brutoprijs slechts een richtprijs tbv calculaties. Rekenregel: [Prijs van één besteleenheid] = [Brutoprijs] / [Aantal per prijs] * [Omrekenfactor prijseenheid naar eenheidafname]. Zie ook Procesbeschrijving.</sth:definition>
        </xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:decimal">
          <xs:pattern value="[0-9]{1,13}"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:element>
    <xs:element name="Netto">
      <xs:annotation>
        <xs:documentation>
          <sth:definition>Bedrag dat wordt gevraagd voor de levering van een product of dienst, inclusief kortingen en toeslagen enexclusief BTW</sth:definition>
        </xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:decimal">
          <xs:pattern value="[0-9]{1,13}"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:element>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="TradeItemIdentificationType">
  <xs:sequence>
    <xs:element name="GTIN" type="ns4:string">
      <xs:annotation>
        <xs:documentation>
          <sth:definition>Global Trade Item Number (GTIN), een wereldwijd uniek nummer ter identificatie van het artikel. </sth:definition>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
</xs:complexType>
<!--===== SimpleType definitions =====-->
</xs:schema>
JSON Schema: