# Based on official MODS 3.6 to BF 2.0 mapping (except where noted) from http://www.loc.gov/standards/mods/modsrdf/mods-bibframe-mapping.html (accessed 2/2018)
@prefix bf: .
@prefix rdf: .
@prefix rdfs: .
@prefix edtf: .
@prefix bflc: .
_:Work_1 a bf:Work ;
bf:instance _:Instance_1 .
_:Instance_1 a bf:Instance ;
bf:item _:Item_1 .
_:Item_1 a bf:Item .
# Local identifier
# druid
# {druid}
_:Item_1 bf:identifiedBy [
a bf:Local ;
rdf:value "{druid}"
] .
# Local identifier
# sourceId
# {sourceId}
_:Item_1 bf:identifiedBy [
a bf:Local ;
rdf:value "{sourceId}"
] .
# Title
# ti1:title
#
# {ti1:title}
#
_:Instance_1 bf:title [
a bf:Title ;
bf:mainTitle "{ti1:title}" ;
rdfs:label "{ti1:title}"
] .
# Name
# naX:namePart
# naX:type
# naX:usage
# roX:roleText : artist (work), architect (work), author (work), director (work), publisher (instance), sculptor (work), theater company (n/a)
# roX:roleCode
# roX:authority
# roX:authorityURI
# roX:valueURI
#
# {naX:namePart}
#
# {roX:roleText}
# {roX:roleCode}
#
#
# if roX:roleText = theater company
_:Instance_1 bf:contribution [
a bf:Contribution ;
bf:agent [
a bf:Organization ;
rdfs:label "{naX:namePart}"
] ;
bf:role [
a bf:Role ;
rdfs:label "{roX:roleText}"
]
] .
# else if naX:type = corporate
_:Work_1 bf:contribution [
a bf:Contribution ;
bf:agent [
a bf:Organization ;
rdfs:label "{naX:namePart}"
] ;
bf:role <{roX:valueURI}>
] .
# else if roX:type = personal
_:Work_1 bf:contribution [
a bf:Contribution ;
bf:agent [
a bf:Person ;
rdfs:label "{naX:namePart}"
] ;
bf:role <{roX:valueURI}>
] .
# Type of resource
# ty1:typeOfResource : mixed material, still image, text, three-dimensional object
# {ty1:typeOfResource}
### diverges from LC
# if ty1:typeOfResource = mixed material
_:Work_1 a bf:MixedMaterial .
# if ty1:typeOfResource = still image
_:Work_1 a bf:StillImage .
# if ty1:typeOfResource = text
_:Work_1 a bf:Text .
# if ty1:typeOfResource = three-dimensional object
_:Work_1 a bf:Object .
# Genre
# ge1:genre
# ge1:authority
# ge1:authorityURI
# ge1:valueURI
# {ge1:genre}
_:Work_1 bf:genreForm [
a bf:GenreForm ;
rdfs:label "{ge1:genre}" ;
bf:source <{ge1:authorityURI}>
] .
# Origin info - date created
# dt:dateCreated
# dt:dateCreatedKeyDate
# dt:dateCreatedEncoding
# dt:dateCreatedQualifier : approximate
# dt:dateCreatedPoint
# dt:dateCreated2
# dt:dateCreated2Qualifier : approximate
# dt:dateCreated2Point
# pl:placeText
#
# {dt:dateCreated}
# {dt:dateCreated2}
#
# {pl:placeText}
#
#
### confirm qualifiers when new EDTF standard published
# if dateCreated2 and no qualifiers
_:Work_1 bf:originDate "{dt:dateCreated}/{dt:dateCreated2}"^^edtf:EDTF .
# if dateCreated2 and qualifiers
_:Work_1 bf:originDate "{dt:dateCreated}~/{dt:dateCreated2}~"^^edtf:EDTF .
# if no dateCreated2 and qualifiers
_:Work_1 bf:originDate "{dt:dateCreated}~"^^edtf:EDTF .
# if no dateCreated2 and no qualifiers
_:Work_1 bf:originDate "{dt:dateCreated}"^^edtf:EDTF .
# if pl:placeText
_:Instance_1 bf:provisionActivity [
a bf:ProvisionActivity ;
bf:place [
a bf:Place ;
rdfs:label "{pl:placeText}"
]
] .
# Origin info - date issued
# dt:dateIssued
# dt:dateIssuedKeyDate
# dt:dateIssuedEncoding
# dt:dateIssuedQualifier
# dt:dateIssuedPoint
# dt:dateIssued2
# dt:dateIssued2Qualifier
# dt:dateIssued2Point
# pl:placeText
#
# {dt:dateIssued}
# {dt:dateIssued2}
#
# {pl:placeText}
#
#
### confirm qualifiers when new EDTF standard published
# if dateIssued2 and no qualifiers
_:Instance_1 bf:provisionActivity [
a bf:Publication ;
bf:date "{dt:dateIssued}/{dt:dateIssued2}"^^edtf:EDTF
] .
# if dateIssued2 and qualifiers
_:Instance_1 bf:provisionActivity [
a bf:Publication ;
bf:date "{dt:dateIssued}~/{dt:dateIssued2}~"^^edtf:EDTF
] .
# if no dateIssued2 and qualifiers
_:Instance_1 bf:provisionActivity [
a bf:Publication ;
bf:date "{dt:dateIssued}~"^^edtf:EDTF
] .
# if no dateIssued2 and no qualifiers
_:Instance_1 bf:provisionActivity [
a bf:Publication ;
bf:date "{dt:dateIssued}"^^edtf:EDTF
] .
# if pl:placeText
### diverges from LC
_:Instance_{druid} bf:provisionActivity [
a bf:Publication ;
bf:date "{dt:dateIssued}~"^^edtf:EDTF;
bf:place [
a bf:Place ;
rdfs:label "{pl:placeText}"
]
] .
# Language
# la1:text
# la1:code
# la1:authority
# la1:authorityURI
# la1:valueURI
#
# {la1:text}
# {la1:code}
#
_:Work_1 bf:language <{la1:valueURI}> .
# Form
# ph1:form
#
#
#
_:Instance_1 bf:carrier [
a bf:Carrier ;
rdfs:label "{ph1:form}"
] .
# Extent
# ph1:extent
#
# {ph1:extent}
#
_:Instance_1 bf:extent [
a bf:Extent ;
rdfs:label "{ph1:extent}"
] .
# MIME type
# ph1:internetMediaType
#
# {ph1:internetMediaType}
#
_:Instance_1 bf:digitalCharacteristic [
a bf:DigitalCharacteristic , bf:EncodingFormat ;
rdfs:label "Internet media type: {ph1:internetMediaType}"
] .
# Abstract
# ab:abstract
# {ab:abstract}
_:Work_1 bf:summary [
a bf:Summary ;
rdfs:label "{ab:abstract}"
] .
# Production credits note
# no1:note
# no1:type : creation/production credits
# {no1:note}
_:Work_1 bf:credits "{no1:note}" .
# Date note
# no2:note
# no2:type : date
# {no2:note}
_:Work_1 bf:note [
a bf:Note ;
bf:noteType "{no2:type}" ;
rdfs:label "{no2:note}"
] .
# Copyright note
# no3:note
# no3:type : copyright
# {no3:note}
### not in LC mapping
_:Work_1 bf:note [
a bf:Note ;
bf:noteType "{no3:type}" ;
rdfs:label "{no3:note}"
] .
# Subject
# su1:value
#
# {su1:value}
#
_:Work_1 bf:subject [
a bf:Topic ;
rdfs:label "{su1:value}"
] .
# Repository
# lo:repository
#
# {lo:repository}
#
_:Item_1 bf:heldBy [
a bf:Organization ;
rdfs:label "{lo:repository}"
] .
# Persistent URI
# lo:purl
#
# {lo:purl}
#
### diverges from LC mapping
_:Item_1 bf:electronicLocator [
a rdf:Resource ;
bflc:locator <{lo:purl}> ;
bf:note [
a bf:Note ;
bf:noteType "URL usage" ;
rdfs:label "primary display"
]
] .
# Administrative metadata
# rc:languageOfCataloging
# rc:languageOfCatalogingTerm
# rc:langAuthority
# rc:langAuthorityURI
# rc:langValueURI
# rc:contentSource
# rc:contentSourceAuthority
# rc:contentSourceAuthorityURI
# rc:contentSourceValueURI
#
#
# {rc:languageOfCatalogingTerm}
# {rc:languageOfCataloging}
#
# {rc:recordContentSource}
#
_:Work_1 bf:adminMetadata [
a bf:AdminMetadata ;
bf:assigner <{rc:contentSourceValueURI}> ;
bf:descriptionLanguage <{rc:langValueURI}>
] .