The Easiest Way to Save and Share Code Snippets on the web

Untitled

ascii

last edit: Jul, 18th 2012 | jump to bottom

@prefix : 		<http://www.knoodl.com/EIW/RDBMappingOntology/instances/DITPR#> .
@prefix rr: 	<http://www.w3.org/ns/r2rml#> .
@prefix irb: 	<https://www.commonvocabulary.army.mil/ui/groups/IRBAnalytics/vocab/IRB_Domain_Ontology/entry/> .
@prefix rdf: 	<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: 	<http://www.w3.org/2000/01/rdf-schema#> .
@prefix map: 	<http://revelytix.com/spyder/vocab/mapping/> .
@prefix xsd: 	<http://www.w3.org/2001/XMLSchema#> .
 
 
## Main System Map - Everything contained in the SYSTEM Table.  Untested
 
:SystemMap
	a rr:TriplesMapClass
	; rr:SQLQuery """
	SELECT APPLIC_ID, ACRONYM, APPLIC_NAME, BCMPNT_CD, 
	CASE 
	WHEN ISYS_BUS_FUNC = 'F' THEN 'Financial Management'
	WHEN ISYS_BUS_FUNC = 'A' THEN 'Acquisition'
	WHEN ISYS_BUS_FUNC = 'S' THEN 'Industrial Based Security'
	WHEN ISYS_BUS_FUNC = 'L' THEN 'Logistics and Materiel Readiness'
	WHEN ISYS_BUS_FUNC = 'I' THEN 'Installations and Environment'
	WHEN ISYS_BUS_FUNC = 'H' THEN 'Human Resources Management'
	WHEN ISYS_BUS_FUNC = 'M' THEN 'Foreign Military Sales'
	WHEN ISYS_BUS_FUNC = 'E' THEN 'Enterprise IT Infrastructure'
	ELSE 'Unknown'
	END AS BUSINESS_FUNCTION,
	CASE 
	WHEN ISYS_MOD_COTS = 'Y' THEN 'Yes'
	WHEN ISYS_MOD_COTS = 'N' THEN 'No'
	ELSE 'Unknown'
	END AS COTS_MOD
	FROM SYSTEM"""
	; rr:subjectMap [
		rr:class irb:System
		; rr:template "https://www.commonvocabulary.army.mil/ui/groups/IRBAnalytics/vocab/IRB_Domain_Ontology/entry/System-{APPLIC_ID}"
		; rr:termtype "IRI"
	]
 
## Predicate Object Maps contained in the SYSTEM Table
 
	; rr:predicateObjectMap [
		rr:predicateMap [ rr:predicate irb:hasSystemID ]
		; rr:objectMap 	[ rr:column "APPLIC_ID" ; rr:datatype xsd:string ]
	]
 
	; rr:predicateObjectMap [
		rr:predicateMap [ rr:predicate irb:hasSystemAcronym ]
		; rr:objectMap 	[ rr:column "ACRONYM" ; rr:datatype xsd:string ]
	]
 
	; rr:predicateObjectMap [
		rr:predicateMap [ rr:predicate irb:hasSystemName ]
		; rr:objectMap 	[ rr:column "APPLIC_NAME" ; rr:datatype xsd:string ]
	]
 
	; rr:predicateObjectMap [
		rr:predicateMap [ rr:predicate irb:hasBusinessFunction ]
		; rr:objectMap 	[ rr:column "BUSINESS_FUNCTION" ; rr:datatype xsd:string ]
	]
 
	; rr:predicateObjectMap [
		rr:predicateMap [ rr:predicate irb:hasModifiedCOTSStatus ]
		; rr:objectMap 	[ rr:column "COTS_MOD" ; rr:datatype xsd:string ]
	]
 
## Referenced Predicate Object Maps Contained Elsewhere
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasComponent ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :ComponentMap
			; rr:joinCondition "child.{BCMPNT_CD} = parent.{BCMPNT_CD}"
		]
	]
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasFunctionalDomain ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :FunctionalDomainMap
			; rr:joinCondition "child.{APPLIC_ID} = parent.{APPLIC_ID}"
		]
	]
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasMissionArea ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :MissionAreaMap
			; rr:joinCondition "child.{APPLIC_ID} = parent.{APPLIC_ID}"
		]
	] ; 
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasBEAComplianceStatus ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :BEAComplianceMap
			; rr:joinCondition "child.{APPLIC_ID} = parent.{APPLIC_ID}"
		]
	]
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasBPRPerformedStatus ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :BPRPerformedMap
			; rr:joinCondition "child.{APPLIC_ID} = parent.{APPLIC_ID}"
		]
	]
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasLatestBEAVersion ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :BEAVersionMap
			; rr:joinCondition "child.{APPLIC_ID} = parent.{APPLIC_ID}"
		]
	]
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasOV5Activity ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :OV5_Map
			; rr:joinCondition "child.{APPLIC_ID} = parent.{APPLIC_ID}"
		]
	]
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasOV6CProcess ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :OV6C_Map
			; rr:joinCondition "child.{APPLIC_ID} = parent.{APPLIC_ID}"
		]
	]
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasNDAAExemption ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :NDAAExemptionMap
			; rr:joinCondition "child.{APPLIC_ID} = parent.{APPLIC_ID}"
		]
	]
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasCertificationYear ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :CertificationYearMap
			; rr:joinCondition "child.{APPLIC_ID} = parent.{APPLIC_ID}"
		]
	]
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasCertificationID ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :CertificationIDMap
			; rr:joinCondition "child.{APPLIC_ID} = parent.{APPLIC_ID}"
		]
	]
 
	; rr:refPredicateObjectMap [
		rr:refPredicateMap [ rr:predicate irb:hasBEAComplianceBoolean ]
		; rr:refObjectMap  [
			rr:parentTriplesMap :BEAComplianceBooleanMap
			; rr:joinCondition "child.{APPLIC_ID} = parent.{APPLIC_ID}"
		]
	]
.	
 
## Ref Predicate Object Maps for Properties
 
:CERTREQ_Query
	a map:SQLPattern
	; rdfs:label "CERT_REQ"
	; map:opaque "true"
	; map:pattern
		"""SELECT APPLIC_ID, CERTRQ_REF_YR, CERTRQ_REF_ID, CERTRQ_BEA_VRSN, CERTRQ_NDAA_BEA, CERTRQ_NDAA_BPR, 
			CASE
			WHEN cert.CERTRQ_NDAA_CATBC = 'B' THEN 'Critical Capability'
			WHEN cert.CERTRQ_NDAA_CATBC = 'C' THEN 'Adverse Impact'
			WHEN cert.CERTRQ_NDAA_CATBC = 'N' THEN 'Neither'
			ELSE 'Unknown'
			END AS NDAA_EXEMPT_CAT
			FROM SYS_CERT_REQ cert , 
			(SELECT MAX(CERTRQ_ID) AS maxID, APPLIC_ID AS ID 
			FROM SYS_CERT_REQ GROUP BY APPLIC_ID ) maxCert  
			WHERE CERT.CERTRQ_ID = maxCERT.maxID 
			AND CERT.APPLIC_ID = maxCert.ID"""
	; map:columns "APPLIC_ID CERTRQ_REF_YR CERTRQ_REF_ID CERTRQ_BEA_VRSN CERTRQ_NDAA_BEA CERTRQ_NDAA_BPR NDAA_EXEMPT_CAT"
	.
 
:BEAComplianceBooleanMap
	a rr:TriplesMapClass
	; map:source :CERTREQ_Query
	; rr:subjectMap [ rr:column "CERTRQ_NDAA_BEA" ; rr:datatype xsd:string ]
	.
 
:BPRPerformedMap
	a rr:TriplesMapClass
	; map:source :CERTREQ_Query
	; rr:subjectMap [ rr:column "CERTRQ_NDAA_BPR" ; rr:datatype xsd:string ]
	.
 
:BEAVersionMap
	a rr:TriplesMapClass
	; map:source :CERTREQ_Query
	; rr:subjectMap [ rr:column "CERTRQ_BEA_VRSN" ; rr:datatype xsd:string ]
	.
 
:NDAAExemptionMap
	a rr:TriplesMapClass
	; map:source :CERTREQ_Query
	; rr:subjectMap [ rr:column "NDAA_EXEMPT_CAT" ; rr:datatype xsd:string ]
	.
 
:CertificationYearMap
	a rr:TriplesMapClass
	; map:source :CERTREQ_Query
	; rr:subjectMap [ rr:column "CERTRQ_REF_YR" ; rr:datatype xsd:string ]
	.
 
:CertificationIDMap
	a rr:TriplesMapClass
	; map:source :CERTREQ_Query
	; rr:subjectMap [ rr:column "CERTRQ_REF_ID" ; rr:datatype xsd:string ]
	.
 
## Other subjectMaps used by refPredicateObjectMaps.
 
:ComponentMap
	a rr:TriplesMapClass
	; rr:SQLQuery "SELECT BCMPNT_CD, BCMPNT_NAME, BCMPNT_ACRONYM,  REPLACE( REPLACE( REPLACE( REPLACE(REPLACE(BCMPNT_ACRONYM, ' ', '%20'), '(', '%28'), ')', '%29'), '/', '%2F'), '&', '%26') AS URI_CD  FROM REF_COMPONENT"
	; rr:subjectMap [ rr:class irb:Component 
		; rr:template "https://www.commonvocabulary.army.mil/ui/groups/IRBAnalytics/vocab/IRB_Domain_Ontology/entry/Component-{URI_CD}"
		;  rr:termtype "IRI" ]
 
	; rr:predicateObjectMap [
		rr:predicateMap [ rr:predicate irb:hasComponentName ]
		; rr:objectMap  [ rr:column "BCMPNT_NAME" ; rr:datatype xsd:string ]
	]
 
	; rr:predicateObjectMap [
		rr:predicateMap [ rr:predicate irb:hasComponentAcronym ]
		; rr:objectMap  [ rr:column "BCMPNT_ACRONYM" ; rr:datatype xsd:string ]
	]
	.
 
:FunctionalDomainMap
	a rr:TriplesMapClass
	; rr:SQLQuery """SELECT SYS.APPLIC_ID, REF.DOMAIN_ACRONYM, REF.DOMAIN_FORMAL_NAME
		FROM SYS_DOMAIN SYS
		JOIN REF_DOMAIN REF
		ON SYS.DOMAIN_ID = REF.DOMAIN_ID
		WHERE SYS.DOMAIN_ROLE = 'PRIMARY'"""
	;  rr:subjectMap [ rr:class irb:FunctionalDomain
		; rr:template "https://www.commonvocabulary.army.mil/ui/groups/IRBAnalytics/vocab/IRB_Domain_Ontology/entry/FunctionalDomain-{DOMAIN_ACRONYM}"
		; rr:termtype "IRI" ] 
 
	; rr:predicateObjectMap [
		rr:predicateMap [ rr:predicate irb:hasFunctionalDomainAcronym ]
		; rr:objectMap  [ rr:column "DOMAIN_ACRONYM" ; rr:datatype xsd:string ]
	]
 
	; rr:predicateObjectMap [
		rr:predicateMap [ rr:predicate irb:hasFunctionalDomainName ]
		; rr:objectMap  [ rr:column "DOMAIN_FORMAL_NAME" ; rr:datatype xsd:string ]
	]
	.
 
## Does this need to return REF.DOMAIN_FORMAL_NAME?
:MissionAreaMap
	a rr:TriplesMapClass
	; rr:SQLQuery """SELECT SYS.APPLIC_ID, REF.DOMAIN_MSN_AREA_CD, REF.DOMAIN_FORMAL_NAME
		FROM SYS_DOMAIN SYS
		JOIN REF_DOMAIN REF
		ON SYS.DOMAIN_ID = REF.DOMAIN_ID
		WHERE SYS.DOMAIN_ROLE = 'PRIMARY'"""
	; rr:subjectMap [ rr:class irb:MissionArea
		; rr:template "https://www.commonvocabulary.army.mil/ui/groups/IRBAnalytics/vocab/IRB_Domain_Ontology/entry/MissionArea-{DOMAIN_MSN_AREA_CD}"
		; rr:termtype "IRI" ] 
 
	; rr:predicateObjectMap [
		rr:predicateMap [ rr:predicate irb:hasMissionAreaAcronym ]
		; rr:objectMap  [ rr:column "DOMAIN_MSN_AREA_CD" ; rr:datatype xsd:string ]
	]
	.
 
## BEA Compliance Status
 
:BEAComplianceQuery
	a map:SQLPattern
		; rdfs:label "CERT_REQ"
		; map:opaque "true"
		; map:pattern """SELECT cert.APPLIC_ID AS APPLIC_ID, r.BEA_CMPLNC_TITLE AS BEA_COMPLIANCE
			FROM SYS_CERT_STATUS cert, REF_BEA_COMPLIANCE r, 
			(SELECT MAX(CERTRQ_ID) AS maxID, APPLIC_ID AS AP_ID
			FROM SYS_CERT_STATUS
			GROUP BY APPLIC_ID) maxCert
			WHERE cert.CERTRQ_ID = maxCert.maxID
			AND cert.APPLIC_ID = maxCert.AP_ID
			AND cert.CERTST_BEA_CMPLNC = r.BEA_CMPLNC_CD"""
		; map:columns "APPLIC_ID BEA_COMPLIANCE"
.
 
:BEAComplianceMap
	a rr:TriplesMapClass
	; map:source :BEAComplianceQuery
	; rr:subjectMap [ rr:column "BEA_COMPLIANCE" ; rr:datatype xsd:string ]
	.
 
## OV-5 Activity
:OV5_Map
	a rr:TriplesMapClass ;
	rr:SQLQuery """SELECT DISTINCT s.APPLIC_ID, SYSTEM_OA
					FROM REF_OPERATIONAL_ACTIVITY r , SYS_OPERATIONAL_ACTIVITY s 
					WHERE s.OA_ID = r.OA_ID 
					AND ((s.OA_TYPE = 'AS IS') OR (s.OA_TYPE = 'BOTH'))
					AND r.BEA_VERSION > '6.9'
					AND r.OA_LVL_ID < 2""" ;
	rr:subjectMap [ rr:column "SYSTEM_OA" ; rr:datatype xsd:string ]
.
 
## OV-6c Process 
:OV6C_Map
	a rr:TriplesMapClass ;
	rr:SQLQuery """SELECT DISTINCT s.APPLIC_ID AS APPLIC_ID, r.SYSTEM_PROCESS AS SYSTEM_PROCESS
					FROM SYS_OV6C s, REF_OV6C_PROCESS r 
					WHERE s.OV_ID = r.OV_ID 
					AND r.BEA_VERSION > '6.9'""" ;
	rr:subjectMap [ rr:column "SYSTEM_PROCESS" ; rr:datatype xsd:string ]
.
527 views