Below is an example of a Transfer File, with explanations at the righthand side.
It results from mapping data residing in a user application to the RDF/XML format defined in ISO 15926-7. The population_import API method pulls this data from that mapping result file, validates its compliance with ISO 15926, converts it to quads, and stores it in the "populations" section of the addressed façade. The result of that storing can be seen here.
Below the first table we show a second table in which we define a second Transfer File. In this file we send the information that vessel V-6060 now has a nominal volume capacity of 60 m3, rather than the 50 m3 in the first message. We do that, in order to be able to show what happens with the first, then obsolete, template.
The colors mean:
| the standard heading | |
| the transmission data | |
| the payload |
The first transfer:
|
<rdf:RDF |
Opening |
|
xml:base="http://www.pqr-ltd.com/4502/me03" xmlns="http://www.pqr-ltd.com/4502/me03#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:part2="http://dm.rdlfacade.org/data#" xmlns:part4="http://rdl.rdlfacade.org/data#" xmlns:part7="http://tpl.rdlfacade.org/data#" xmlns:oim="http://oim.rdlfacade.org/data#"> |
Transfer of result of mapping of data in user application ME03 to the System Façade "me03" for that application. The standard heading, where the "baseURI" is that of the destination Façade. |
|
<owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://dm.rdlfacade.org/data"/> <owl:imports rdf:resource="http://rdl.rdlfacade.org/data"/> <owl:imports rdf:resource="http://tpl.rdlfacade.org/data"/> <owl:imports rdf:resource="http://oim.rdlfacade.org/data"/> <owl:imports rdf:resource="http://oim.xyz-corp.com/data"/> </owl:Ontology> |
Publishing, from the "ME03" vessel engineering system of the PQR Ltd EPC contractor to their "me03" system façade, of the following information: 1) vessel V-6060 has a nominal volume capacity of 50 m3.
"Imports" means that a SPARQL query can get at the data as if they were residing in the façade with the baseURI (see above). |
|
<part2:MultidimensionalObject rdf:ID="ST-TRANSFER-ves20080116T170000Z"> <rdf:type rdf:resource="http://oim.rdlfacade.org/data#ST-TRANSFER_FILE-0099-001"/> <part7:addressee rdf:resource="http://www.pqr-ltd.com/p4502/me03"/> <part7:sender rdf:resource="http://www.pqr-ltd.com/4502/app_me03/mapping"/> <part7:context rdf:resource="http://www.pqr-ltd.com/p4502/cons#COTWP-438800"/> <part7:transmission rdf:resource="#ACT-ves324820"/> <part7:transmissionDT rdf:resource="#XSDT_20080116T170000Z"/> <part7:physicalFile rdf:resource="#MPO-ves439821-20080116T170000Z"/> <part7:payload rdf:resource="#RXL-ves234439"/> <part7:payload rdf:resource="#RXL-ves234440"/> </part2:MultidimensionalObject> |
An instance of the specialization of ST-0099 as listed in the OIM Façade: ST-TRANSFER_FILE-0099-001 It gives the URI of the mapping output file of the sending application, and that of the addressed system façade. The (optional) "context" is something that caused the information to start to exist like a project, Change Order, etc. The "transmission" is the activity shown below, and the "transmissionDT" the date-time of that transmission. The "physicalFile" is the actual file being transmitted. The "payload" defines the information we transfer. |
|
<part2:Activity rdf:ID="ACT-ves324820"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#RDS9652247"/> </part2:Activity> |
This is the transmitting activity. No need for a temporal part, it last a few seconds. The type of activity is defined in the Reference Data Library. |
|
<part2:MaterializedPhysicalObject rdf:ID="MPO-ves439821"> <rdf:type rdf:resource="#RXL-ves234439"/> </part2:MaterializedPhysicalObject> |
MPO-ves439821 is the physical file, in terms of bits and bytes, that is transmitted. It is classified with its "payload", that is an instance of ClassOfInformationRepresentation. |
|
<part2:MultidimensionalObject rdf:ID="ST-ves232399"> <rdf:type rdf:resource="http://oim.rdlfacade.org/data#ST-POSSIBLE_INDIVIDUAL-1002-001"/> <part7:temporalWhole rdf:resource="#MPO-ves439821"/> <part7:temporalPart rdf:resource="#MPO-ves439821-20080116T170000Z"/> <part7:context rdf:resource="http://www.xyz-corp.com/rdl#COTWP-233291"/> <part7:beginning rdf:resource="#XSDT_20080116T170000Z"/> </part2:MultidimensionalObject> |
Actually it is a temporal part of above MPO-ves439821 that is being transmitted. Another temporal part is, for example, the one that is stored in the Populations section of the receiving façade. This instance of an OIM specialization of ST-1002 creates the temporal part, beginning at the XSDT date-time given. Notice that temporal parts are not declared explicitly. They inherit their type from their temporal whole. |
|
<part2:ClassOfInformationRepresentation rdf:ID="XSDT_20080116T170000Z"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#XmlSchemaDateTime"/> <part2:content rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime"> 2008-01-16T17:00:00Z </part2:content> </part2:ClassOfInformationRepresentation> |
This is the date-time at which the transmission actually started. It is dynamically inserted at the occurrence of that event. Note that: - a date-time is defined as an owl:Class - only the Gregorian calendar and a UTC time shall be used. |
|
<!--FIRST PAYLOAD COMPONENT--> <part2:ClassOfInformationRepresentation rdf:ID="RXL-ves234439"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#REF900001"/> <part4:containedIn rdf:resource="#ST-TRANSFER-ves20080116T170000Z"/> <part4:archiveLocation rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI"> http://www.pqr-ltd.com/4502/me03/archive/RXL-ves234439.xml </part4:archiveLocation> <part2:content rdf:parseType="Literal"> <rdf:RDF xml:base="http://www.pqr-ltd.com/4502/me03" xmlns="http://www.pqr-ltd.com/4502/me03#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:part2="http://dm.rdlfacade.org/data#" xmlns:part4="http://rdl.rdlfacade.org/data#" xmlns:part7="http://tpl.rdlfacade.org/data#" xmlns:oim="http://oim.rdlfacade.org/data#"> <owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://dm.rdlfacade.org/data"/> <owl:imports rdf:resource="http://rdl.rdlfacade.org/data"/> <owl:imports rdf:resource="http://tpl.rdlfacade.org/data"/> <owl:imports rdf:resource="http://oim.rdlfacade.org/data"/> <owl:imports rdf:resource="http://oim.xyz-corp.com/data"/> </owl:Ontology> |
This is a special construct that is called rdf:XMLLiteral. In the Reference Data Library it has been defined as RdfXmlLiteral, a subclassOf &part2:ClassOfInformationRepresentation. We first make a reference to the transfer file ID
Then we define the URI where the 'content' (below) will be stored after execution of the populate API method.
In the 'content' property we now "wrap" the listing that is the actual "payload" of this Transfer File (all the above is necessary overhead). The rdf:parseType="Literal" is being used for that.
When this Transfer File is being parsed, this 'content' can simply be fetched and converted to quads in the Data section of the receiving façade. This is a task of the populate API method.
|
|
<part2:MultidimensionalObject rdf:ID="ST-ves267634"> <rdf:type rdf:resource="http://oim.rdlfacade.org/data#ST-VESSEL-3401-002"/> <rdfs:label xml:lang="en"> vessel V-6060 has a nominal volume capacity of 50 m3 </rdfs:label> <part7:temporalWhole rdf:resource="http://www.pqr-ltd.com/p4502/cons#FPO-pcs347621"/> <part7:possessor rdf:resource="#FPO-ves347621-20080116T102537Z"/> <part7:context rdf:resource="http://www.pqr-ltd.com/p4502/cons#COTWP-438800"/> <part7:beginning rdf:resource="#XSDT_20080116T102537Z"/> <part7:propertyType rdf:resource="http://rdl.rdlfacade.org/data#RDS658578"/> <part7:numericalValue rdf:resource="#XSFL_50"/> <part7:unitOfMeasure rdf:resource="http://rdl.rdlfacade.org/data#RDS994572"/> </part2:MultidimensionalObject> |
Shorthand template instance ST-ves267634 is a member of an OIM specialization of generic template class ST-3401. The "temporalWhole" is defined in the Project Façade ("cons"), and referred here. The temporal part is defined here, on the fly. It shall not be explicitly declared. The (optional) "context" is some change order or the like. The information represented by this template instance began to be valid on January 16th 2008 at 10:25:37am "Zulu" time (= UTC, = GMT (give or take a few microseconds)). RDS658578 = Nominal Volume Capacity (faked ID, still) XSFL_50 is a (XML Schema)float of 50 RDS994572 = m3 (faked ID, still) |
|
<part2:ClassOfInformationRepresentation rdf:ID="XSDT_20080116T102537Z"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#XmlSchemaDateTime"/> <part2:content rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime"> 2008-01-16T10:25:37Z </part2:content> </part2:ClassOfInformationRepresentation> |
The date-time that the information, represented by above template instance ST-ves267634, became valid. |
|
<part2:ClassOfInformationRepresentation rdf:ID="XSFL_50"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#XmlSchemaFloat"/> <part2:content rdf:datatype="http://www.w3.org/2001/XMLSchema#float">50 </part2:content> </part2:ClassOfInformationRepresentation> |
The XML Schema float that quantifies the property in template ST-ves267634. Note that the underscore, used for all XSxx, serves to allow for negative values (e.g. XSFL_-10.5). |
|
</rdf:RDF> </part2:content> </part2:ClassOfInformationRepresentation> |
The closing of the 'content' property of RXL-ves234439, and of that RXL-ves234439 itself. |
|
<!--SECOND PAYLOAD COMPONENT--> <part2:ClassOfInformationRepresentation rdf:ID="RXL-ves234440"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#REF900001"/> <part4:containedIn rdf:resource="#ST-TRANSFER-ves20080116T170000Z"/> <part4:archiveLocation rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI"> http://www.pqr-ltd.com/4502/me03/archive/RXL-ves234440.xml</part4:archiveLocation> <part2:content rdf:parseType="Literal"> <rdf:RDF xml:base="http://www.pqr-ltd.com/4502/me03" xmlns="http://www.pqr-ltd.com/4502/me03#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:part2="http://dm.rdlfacade.org/data#" xmlns:part4="http://rdl.rdlfacade.org/data#" xmlns:part7="http://tpl.rdlfacade.org/data#" xmlns:oim="http://oim.rdlfacade.org/data#"> <owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://dm.rdlfacade.org/data"/> <owl:imports rdf:resource="http://rdl.rdlfacade.org/data"/> <owl:imports rdf:resource="http://tpl.rdlfacade.org/data"/> <owl:imports rdf:resource="http://oim.rdlfacade.org/data"/> <owl:imports rdf:resource="http://oim.xyz-corp.com/data"/> </owl:Ontology> |
It depends on the physical implementation of the facade how large an individual quad may be. Based on that information these payload blobs shall be sized. For this example we assumed that it was really small, meaning that for each and every template you would need a separate XMLLiteral. Just to show how it is done. |
|
<part2:MultidimensionalObject rdf:ID="ST-ves267674"> <rdf:type rdf:resource="http://oim.rdlfacade.org/data#ST-THING-1601-001"/> <rdfs:label xml:lang="en">vessel V-6060 is classified as horizontal vessel</rdfs:label> <part7:temporalWhole rdf:resource="http://www.pqr-ltd.com/p4502/cons#FPO-pcs347621"/> <part7:classifiedIndividual rdf:resource="#FPO-ves347621-20080121T102634Z"/> <part7:context rdf:resource="http://www.pqr-ltd.com/p4502/cons#COTWP-438800"/> <part7:beginning rdf:resource="#XSDT_20080121T162634Z"/> <part7:incidentalClass rdf:resource="http://www.15926.org/2006/02/rdl#RDS292004"/> </part2:MultidimensionalObject> |
Shorthand template instance ST-ves267674 is a member of an OIM specialization of generic template class ST-1601 ("Incidental classification of something").
RDS292004 = Horizontal Pressure Vessel |
|
<part2:ClassOfInformationRepresentation rdf:ID="XSDT_20080121T162634Z"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#XmlSchemaDateTime"/> <part2:content rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime"> 2008-01-21T10:26:34Z </part2:content> </part2:ClassOfInformationRepresentation> |
January 12th, 2008 at 4:26:34am UTC |
|
</rdf:RDF> </part2:content> </part2:ClassOfInformationRepresentation> |
|
|
</rdf:RDF> |
Closing |
The second transfer, changing the nom. volume capacity to 60 m3:
|
<rdf:RDF |
Opening |
|
xml:base="http://www.pqr-ltd.com/4502/me03" xmlns="http://www.pqr-ltd.com/4502/me03#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:part2="http://dm.rdlfacade.org/data#" xmlns:part4="http://rdl.rdlfacade.org/data#" xmlns:part7="http://tpl.rdlfacade.org/data#" xmlns:oim="http://oim.rdlfacade.org/data#"> |
Transfer of result of mapping of data in user application ME03 to the System Façade "me03" for that application. The standard heading, where the "baseURI" is that of the destination Façade. |
|
<owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://dm.rdlfacade.org/data"/> <owl:imports rdf:resource="http://rdl.rdlfacade.org/data"/> <owl:imports rdf:resource="http://tpl.rdlfacade.org/data"/> <owl:imports rdf:resource="http://oim.rdlfacade.org/data"/> <owl:imports rdf:resource="http://oim.xyz-corp.com/data"/> </owl:Ontology> |
Publishing, from the "ME03" vessel engineering system of the PQR Ltd EPC contractor to their "me03" system façade, of the following information: 1) vessel V-6060 has a nominal volume capacity of 60 m3.
"Imports" means that a SPARQL query can get at the data as if they were residing in the façade with the baseURI (see above). |
|
<part2:MultidimensionalObject rdf:ID="ST-TRANSFER-ves20080120T170000Z"> <rdf:type rdf:resource="http://oim.rdlfacade.org/data#ST-TRANSFER_FILE-0099-001"/> <part7:addressee rdf:resource="http://www.pqr-ltd.com/p4502/me03"/> <part7:sender rdf:resource="http://www.pqr-ltd.com/4502/app_me03/mapping"/> <part7:context rdf:resource="http://www.pqr-ltd.com/p4502/cons#COTWP-438841"/> <part7:transmission rdf:resource="#ACT-ves324841"/> <part7:transmissionDT rdf:resource="#XSDT_20080120T170000Z"/> <part7:physicalFile rdf:resource="#MPO-ves439822-20080120T170000Z"/> <part7:payload rdf:resource="#RXL-ves234441"/> </part2:MultidimensionalObject> |
An instance of the specialization of ST-0099 as listed in the OIM Façade: ST-TRANSFER_FILE-0099-001 It gives the URI of the mapping output file of the sending application, and that of the addressed system façade. The (optional) "context" is something that caused the information to start to exist like a project, Change Order, etc. The "transmission" is the activity shown below, and the "transmissionDT" the date-time of that transmission. The "physicalFile" is the actual file being transmitted. The "payload" defines the information we transfer. |
|
<part2:Activity rdf:ID="ACT-ves324841"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#RDS9652247"/> </part2:Activity> |
This is the transmitting activity. No need for a temporal part, it last a few seconds. The type of activity is defined in the Reference Data Library. |
|
<part2:MaterializedPhysicalObject rdf:ID="MPO-ves439822"> <rdf:type rdf:resource="#RXL-ves234441"/> </part2:MaterializedPhysicalObject> |
MPO-ves439822 is the physical file, in terms of bits and bytes, that is transmitted. It is classified with its "payload", that is an instance of ClassOfInformationRepresentation. |
|
<part2:MultidimensionalObject rdf:ID="ST-ves232454"> <rdf:type rdf:resource="http://oim.rdlfacade.org/data#ST-POSSIBLE_INDIVIDUAL-1002-001"/> <part7:temporalWhole rdf:resource="#MPO-ves439822"/> <part7:temporalPart rdf:resource="#MPO-ves439822-20080120T170000Z"/> <part7:context rdf:resource="http://www.xyz-corp.com/rdl#COTWP-233291"/> <part7:beginning rdf:resource="#XSDT_20080120T170000Z"/> </part2:MultidimensionalObject> |
Actually it is a temporal part of above MPO-ves439821 that is being transmitted. Another temporal part is, for example, the one that is stored in the Populations section of the receiving façade. This instance of an OIM specialization of ST-1002 creates the temporal part, beginning at the XSDT date-time given. Note that temporal parts are not declared explicitly. They inherit their type from their temporal whole. |
|
<part2:ClassOfInformationRepresentation rdf:ID="XSDT_20080120T170000Z"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#XmlSchemaDateTime"/> <part2:content rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime"> 2008-01-20T17:00:00Z </part2:content> </part2:ClassOfInformationRepresentation> |
This is the date-time at which the transmission actually started. It is dynamically inserted at the occurrence of that event. Note that: - a date-time is defined as an owl:Class - only the Gregorian calendar and a UTC time shall be used. |
|
<part2:ClassOfInformationRepresentation rdf:ID="RXL-ves234441"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#REF900001"/> <part4:containedIn rdf:resource="#ST-TRANSFER-ves20080120T170000Z"/> <part4:archiveLocation rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI"> http://www.pqr-ltd.com/4502/me03/archive/RXL-ves234441.xml</part4:archiveLocation> <part2:content rdf:parseType="Literal"> <rdf:RDF xml:base="http://www.pqr-ltd.com/4502/me03" xmlns="http://www.pqr-ltd.com/4502/me03#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:part2="http://dm.rdlfacade.org/data#" xmlns:part4="http://rdl.rdlfacade.org/data#" xmlns:part7="http://tpl.rdlfacade.org/data#" xmlns:oim="http://oim.rdlfacade.org/data#"> <owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://dm.rdlfacade.org/data"/> <owl:imports rdf:resource="http://rdl.rdlfacade.org/data"/> <owl:imports rdf:resource="http://tpl.rdlfacade.org/data"/> <owl:imports rdf:resource="http://oim.rdlfacade.org/data"/> <owl:imports rdf:resource="http://oim.xyz-corp.com/data"/> </owl:Ontology> |
This is a special construct that is called rdf:XMLLiteral. In the Reference Data Library it has been defined as RdfXmlLiteral, a subclassOf &part2:ClassOfInformationRepresentation.
In the 'content' property we now "wrap" the listing that is the actual "payload" of this Transfer File (all the above is necessary overhead). The rdf:parseType="Literal" is being used for that.
When this Transfer File is being parsed, this 'content' can simply be fetched and converted to quads in the Data section of the receiving façade. This is a task of the populate API method.
|
|
<part2:MultidimensionalObject rdf:ID="ST-ves267723"> <rdf:type rdf:resource="http://oim.rdlfacade.org/data#ST-VESSEL-3401-002"/> <rdfs:label xml:lang="en"> vessel V-6060 has a nominal volume capacity of 60 m3 </rdfs:label> <part7:temporalWhole rdf:resource="http://www.pqr-ltd.com/p4502/cons#FPO-pcs347621"/> <part7:possessor rdf:resource="#FPO-ves347621-20080120T100500Z"/> <part7:context rdf:resource="http://www.pqr-ltd.com/p4502/cons#COTWP-438800"/> <part7:beginning rdf:resource="#XSDT_20080120T100500Z"/> <part7:propertyType rdf:resource="http://rdl.rdlfacade.org/data#RDS658578"/> <part7:numericalValue rdf:resource="#XSFL_60"/> <part7:unitOfMeasure rdf:resource="http://rdl.rdlfacade.org/data#RDS994572"/> </part2:MultidimensionalObject> |
Shorthand template instance ST-ves267723 is a member of an OIM specialization of generic template class ST-3401. The "temporalWhole" is defined in the Project Façade ("cons"), and referred here. The temporal part is defined here, on the fly. It shall not be explicitly declared. The (optional) "context" is some change order or the like. The information represented by this template instance began to be valid on January 20th 2008 at 10:05:00am "Zulu" time (= UTC, = GMT (give or take a few microseconds)). RDS658578 = Nominal Volume Capacity (faked ID, still) XSFL_60 is a (XML Schema)float of 60 RDS994572 = m3 (faked ID, still) |
|
<part2:ClassOfInformationRepresentation rdf:ID="XSDT_20080120T100500Z"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#XmlSchemaDateTime"/> <part2:content rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime"> 2008-01-20T10:05:00Z </part2:content> </part2:ClassOfInformationRepresentation> |
The date-time that the information, represented by above template instance ST-ves267723, became valid. |
|
<part2:ClassOfInformationRepresentation rdf:ID="XSFL_60"> <rdf:type rdf:resource="http://rdl.rdlfacade.org/data#XmlSchemaFloat"/> <part2:content rdf:datatype="http://www.w3.org/2001/XMLSchema#float">60 </part2:content> </part2:ClassOfInformationRepresentation> |
The XML Schema float that quantifies the property in template ST-ves267723. Note that the underscore, used for all XSxx, serves to allow for negative values (e.g. XSFL_-10.5). |
|
</rdf:RDF> </part2:content> </part2:ClassOfInformationRepresentation> |
The closing of the 'content' property of RXL-ves234441, and of that RXL-ves234441 itself. |
|
</rdf:RDF> |
Closing |