Introduction and Specification of ASN "Profiles"

Last update:
2017-03-27
Editors:
Joseph Chapmann (D2L)
Stuart A. Sutton (Information School, University of Washington)

Abstract

The ASN profiling language provides communities and organizations with the means to define profiles of the ASN to meet particular needs through inclusion of additional properties and classes from other namespaces and definition of constraints on data patterns. ASN profiling is based on the Dublin Core's conceptualization of application profiles and description set templating as well as refinements to these conceptualizations developed by the U.S. Library of Congress to support BIBFRAME profiling.


Table of Contents


1. Introduction

The ASN Description Framework (ASN-DF) is a graph-based metamodel for creation of 1-n ASN profiles for the description of competency frameworks defined by national, regional and organizational bodies (jurisdictions). The ASN-DF assumes that no single, tightly defined schema for describing competency frameworks will meet all needs. Instead, the ASN-DF provides the means to "profile" the ASN through extension, refinement and augmentation to meet particular needs. It is through such profiling of the ASN that different jurisdictions and entities define their own solutions while maintaining the ability for their metadata to be harmonized across profiles. ASN Profiles also provide the means for local constraints on acceptable data (i.e., defining data "rules" on specific RDF graphs) to be communicated to others. To achieve these goals, the ASN-DF provides a small vocabulary of classes and properties and a set of mechanisms for tailoring an ASN Profile to handle particular jurisdictional, organizational or application needs.

[ASIDE: A "profile" in the sense meant here is a means of instantiating "closed world assumptions" in a given context.]

[ASIDE: In similar vein, the ASN DF defines a vocabulary/ontology and encourages multiple other (unrelated) entities to create and maintain extension and refinement sets of constraints on the ASN vocabulary/ontology without violating it.]

This ASN Briefing will illustrate development of new ASN profiles using the mechanisms provided by the ASN-DF. An example of the United States Profile in JSON can be viewed here.

For a general introduction to the ASN-DF, it's uses, properties and classes, see ASN-DF Schema.


2. Basic Structure

A jurisdiction's ASN Profile is an information model for describing competency frameworks that is based in the ASN-DF and particularized for the jurisdiction through the processes of:

  1. refinement (definition of subclasses and subproperties of existing ASN classes and properties);

  2. extension (use of properties and classes either newly created for use with the specific ASN Profile or reused from other ontologies); and

  3. value constraints (restricting the permissible value datatypes or classes).

The result of these processes of refinement, extension and value constrain definition is a declarative specification of the particular "RDF data shape" required for a jurisdiction's RDF data to be deemed "conforming". The resulting "shape" provides implementers with both a means of unambiguously communicating about the Profile and developing mechanisms for validation of data conforming to it. By being declarative and stating the validation intent rather than the validation method, an ASN Profile description is useful in many different implementation scenarios including development of data validation mechanisms using deployed solutions such as Stardog ICV, IBM's Resource Shapes, TopQuadrant's SPIN (a W3C Member Submission), and SPARQL.

An ASN Profile document has two fundamental parts: (1) a set of template-defining tables based in the ASN Profile Grammar (see section 3 below) that describe the Profile's permissible resource classes, the object and datatype properties associated with those classes, and the constrains on permissible property values (i.e., value vocabularies and datatypes); and (2) a JSON serialization of the resulting constraints defined in the tables.

FIG 1. below illustrates the basic templating structure of an ASN Profile document:

  1. a profile template for describing the Profile itself;

  2. resource templates describing the resource classes making up the Profile;

  3. an array of property templates defined for each resource class that are used to describe the possible metadata structure of a "record" conforming to the Profile; and

  4. value constraint templates defining constraints to be applied to properties that restrict the permitted values associated with the property templates.


3. Detailed Application Profile Description Grammar

The following Extended Backus-Nuar Form describes the syntax used in Appendix A to describe the essential ASN Profile syntax elements for defining the templates. The ASN grammar extends the BIBFRAME grammar defined in BIBFRAME Profiles: Introduction and Specification through addition of the allowedValueURI value constraint to support specification of "pick lists" of resource classes.

 Profile ::= id | title | description | date | contact | remark | resourceTemplates*
 resourceTemplates ::= id | resourceURI | resourceLabel | remark | propertyTemplates*
 propertyTemplates::= propertyURI | propertyLabel | mandatory | repeatable? | type |
                      valueConstraint | remark
 valueConstraint ::= valueLanguage | languageURI | languageLabel| valueDataType | valueTemplateRefs |
                     allowedValueURI | editable | defaultURI | remark
 valueDataType ::= dataTypeURI | dataTypeLabel | dataTypeLabelHint | remark
 valueTemplateRefs ::= editable | defaultURI | defaultLabel
 mandatory ::= "true" | "false"
 repeatable ::= "true" | "false"
 editable ::= "true" | "false"
 id ::= URI
 resourceURI ::= URI
 propertyURI ::= URI
 languageURI ::= URI
 dataTypeURI ::= URI
 valueTemplateRefs ::= URI
 allowedValueURI ::= URI
 defaultURI ::= URI
 type ::= literal | resource
 literal ::= valueLanguage | languageURI | languageLabel | valueDataType
 resource ::= valueTemplateRefs | editable | defaultURI

4. Use of Contextual Classes

Many jurisdictions and other entities that create competency frameworks have existing authority files, controlled vocabularies, taxonomies and thesauri defining acceptable values for concepts such as education levels and subjects. These vocabularies provide significant jurisdiction-specific context to the Profile; and, therefore, they should be used to constrain data values. Such authority files and controlled vocabularies may be currently expressed as simple text terms or be modeled as contextual classes using a description language like W3C's Simple Knowledge Organization System (SKOS). We strong recommend that consideration be given to modeling a Profile's key vocabularies as skos:ConceptScheme classes with individual concepts of the class skos:Concept.

When controlled vocabularies and authority files are modeled as a skos:ConceptScheme with concepts defined as skos:Concept, instead of expressing a U.S. education level as being "Grade 5", the value can be identified as a member of a concept class using the U.S. URI <http://purl.org/ASN/scheme/ASNEducationLevel/5> from the ASN-US Education Level Vocabulary. Similarly, the subject concept of "Statistics & probability" could be more usefully named as <http://vocabulary.curriculum.edu.au/scot/2570> from the Australian Schools Online Thesaurus (ScOT) . Expressing these various concept terms as members of formal classes makes it possible to use them as Linked Data "glue" and guarantees uniformity of use and machine readability that is lacking with terms encoded as plain literals.

Therefore, every effort should be made in developing an ASN Profile to convert "strings" to "things"—i.e., from literals to linkable resources identified by resolvable URI.


Appendix A:
ASN-DF Profile Element Tables & Examples

Profile Template

Identifier

Nameid
SummaryUnique identifier for the profile
ValueText

Title

Nametitle
SummaryTextual title associated with the profile
ValueText

Description

Namedescription
SummaryTextual description associated with the profile
ValueText

Date

Namedate
SummaryDate associated with the profile
ValueText

Contact

Namecontact
SummaryContact information associated with the profile
ValueText

Remark

Nameremark
SummaryComment or guiding statement intended to be presented as supplementary information in user display
ValueText

Resource Templates

NameresourceTemplates
SummaryAn array representing one or more Resource Templates (see section 2.3. below)
ValueArray

Example A: Profile Description

{
  "Profile": {
       "id": "asnUS:Profile",
       "title": "ASN Profile: U.S. Competency Framework Schema",
       "description": "An ASN profile for competency framework description 
                      reflecting the descriptions in the ASN-US database",
       "date": "2005-01-01",
       "contact": "Joseph Chapman, Desire2Learn; Stuart Sutton, University of Washington",
       "remark": "Partially developed through NSF funding."
       "resourceTemplates": [
             { ... }
       ]
    }
}

Resource Template

Identifier

Nameid
SummaryIdentifier associated with the resource template.
Valuetext
DefaultNone

Resource Identifier

NameresourceIdentifier
SummaryURI of the RDF resource associated with the resource template.
ValueURI
DefaultNone

Resource Label

NameresourceLabel
SummaryLocalized label associated with the resource.
ValueText
DefaultNone

Property Templates

NamepropertyTemplates
SummaryAn array representing one or more Property Templates (see section 2.4. below).
ValueArray

Contact

Namecontact
SummaryContact information associated with the profile.
ValueText

Remark

Nameremark
SummaryComment or guiding statement intended to be presented as supplementary information in user display. A common use for this is to notify a user of code lists or schemata associated with the expected value of this resource.
ValueText

Example B: Resource Template

...
"resourceTemplate": [
    {
       "id": "asnUS:StandardDocument",
       "resourceLabel": "Standard Document",
       "resourceURI": "http://purl.org/ASN/schema/core/StandardDocument",
       "propertyTemplates": [
             { ... }
       ]
    }
...

Example C: Resource Template

...
"resourceTemplate": [
    {
       "id": "asnUS:Statement",
       "resourceLabel": "Statement",
       "resourceURI": "http://purl.org/ASN/schema/core/Statement",
       "propertyTemplates": [
             { ... }
       ]
    }
...

Property Template

Identifier

NamepropertyURI
SummaryURI of the RDF property being described.
ValueURI
DefaultNone

Property Label

NamepropertyLabel
SummaryPreferred, human readable label associated with this property.
ValueText
DefaultNone

Mandatory

Namemandatory
SummaryIndication that the property is mandatory.
Value"true" or "false"
Defaultfalse

Repeatable

Namerepeatable
SummaryIndication that the property is repeatable.
Value"true" or "false"
Defaulttrue

Type

Nametype
SummaryType or value (literal / resource) that is allowed by this property.
ValueText or URI
Defaultliteral

Value Constrant

NamevalueConstraint
SummaryConstraint associated with the value (see section 2.5 and section 2.6 below).
ValueSub-description

Remark

Nameremark
SummaryComment or guiding statement intended to be presented as supplementary information in user display.
ValueText

Example D: Property Template (mandatory / literal)

...
      "propertyTemplate": [
         { ... },
         {
              "propertyURI": "http://purl.org/dc/elements/1.1/title",
              "propertyLabel": "Title",
              "mandatory": "true",
              "type": "literal"
         },
         { ... }
      ]
...

Example E: Property Template (optional / resource)

...
      "propertyTemplate": [
         { ... },
         {
              "propertyURI": "http://purl.org/gem/qualifiers/hasChild",
              "propertyLabel": "Has Child",
              "type": "resource",
              "valueConstraint": {
              ...
              }
         },
         { ... }
      ]
...

Value Constraint

Language

NamevalueLanguage
SummaryLanguage specified for a literal.
ValueText
DefaultNone

Language URI

NamelanguageURI
SummaryURI associated with the language of the literal.
ValueURI
DefaultNone

Language Label

NamelanguageLabel
SummaryPreferred, human readable label associated with the language of the literal.
ValueSub-description
DefaultNone

Datatype

NamevalueDataType
SummaryDescription specifying a datatype for a literal.
ValueSub-description
DefaultNone

Value Template Reference(s)

NamevalueTemplateRefs
SummaryAn array of one or more resource template identifiers (see section 2.3 above) of the resource templates that define the expected value.
ValueURI
DefaultNone

Use Values From

NameuseValuesFrom
SummaryAn array of identifiers that identify value lists from which acceptable values should come. Scheme URIs are expected, but differing communities may develop differing solutions.
ValueURI
DefaultNone

allowedValueURI

NameallowedValueURI
SummaryAn array of identifiers from which an acceptable value should be selected.
ValueURI
DefaultNone

Editable

Nameeditable
SummaryWhether the value provided for the property is meant to be modified by a cataloguer. If not, the specified default value is in effect fixed.
ValueURI
DefaultNone

Remark

Nameremark
SummaryComment or guiding statement intended to be presented as supplementary information in user display.
ValueText

Example F: Value Constrain referencing the Value URI of another Resource Template in the Profile

...
     "propertyTemplates": [
         { ... },
         {
              "propertyURI": "http://purl.org/dc/terms/isPartOf",
              "propertyLabel": "Is Part Of",
              "type": "resource",
              "valueConstraint": {
                    "valueTemplateRefs": [
                   	"asnUS:StandardDocument"
                   	]
              }
         },
         { ... }
     ]
...

Example G: Value Constrain referencing an enumerated list of acceptable value URI

...
	 "propertyTemplates": [
         { ... },
         {
              "propertyURI": "http://purl.org/dc/terms/license",
              "propertyLabel": "License",
              "type": "resource",
              "valueConstraint": {
                   "repeatable": "false",
                   "mandatory": "true",
                   "allowedValueURI": [
                        "http://creativecommons.org/licenses/by/4.0/",
                        "http://creativecommons.org/licenses/by-nc/4.0/",
                        "http://creativecommons.org/licenses/by-nd/4.0/",
                        "http://creativecommons.org/licenses/by-nc-nd/4.0/",
                        "http://creativecommons.org/licenses/by-sa/4.0/",
                        "http://creativecommons.org/licenses/by-nc-sa/4.0/",
                        "http://creativecommons.org/publicdomain/zero/1.0/" 
                        ]
              }
        },
    	{ ... }
     ]
...		

Example H: Value Constrain referencing one or more value set(s) (controlled vocabularies and authority file classes)from which values must be taken

...
	 "propertyTemplates": [
         { ... },
         {
              "propertyURI": "http://purl.org/ASN/schema/core/publicationStatus",
              "propertyLabel": "Publication Status",
              "type": "resource",
              "valueConstraint": {
                   "repeatable": "false",
                   "mandatory": "true",
                   "usesValuesFrom": [
                        "http://purl.org/ASN/scheme/ASNPublicationStatus/", 
                        ]
              }
        },
    	{ ... }
     ]
...	 

Value Data Type

DataType ID

NamedataTypeURI
SummaryURI associated with the DataType
ValueURI
DefaultNone

DataType Label

NamedataTypeLabel
SummaryPreferred, human readable label associated with the DataType.
ValueText
DefaultNone

DataType Label Hint

NamedataTypeLabelHint
SummaryShort, human readable label primarily for display purposes.
ValueText
DefaultNone

Remark

Nameremark
SummaryComment or guiding statement intended to be presented as supplementary information in user display.
ValueText

Example I: Data Value Type

...
      "propertyTemplates": [
         { ... },
         {
              "propertyURI": "http://purl.org/dc/terms/dateValid",
              "propertyLabel": "Date Modified",
              "type": "literal",
              "valueConstraint": {
                   "valueDataType": {
                        "resourceURI": "http://www.w3.org/2001/XMLSchema#date",
                        "valueLabel": "ISO 8601"
                   }
              }
         },
         { ... }
      ]
...

Appendix B: ASN-D2L Profile Specification

{
  "Profile": {
       "id": "asnUS:Profile",
       "title": "ASN Profile: U.S. Competency Framework Schema",
       "description": "An ASN profile for competency framework description as used by the ASN-US database",
       "date": "2005-01-01",
       "contact": "Joseph Chapman, Desire2Learn; Stuart Sutton, University of Washington",
       "remark": "Partially developed through NSF funding.",
       "resourceTemplates": [
          {
             "id": "asn:StandardDocument",
             "resourceLabel": "Standard Document",
             "resourceURI": "http://purl.org/ASN/schema/core/StandardDocument",
             "propertyTemplates": [
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/alignFrom",
                    "propertyLabel": "Aligned From",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:StandardDocument" 
                            ]
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/alignTo",
                    "propertyLabel": "Aligned To",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:StandardDocument" 
                            ]
                    }
                 },
                 {
                    "propertyURI": "http://www.loc.gov/loc.terms/relators/AUT",
                    "propertyLabel": "Author",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false"
                 },
                 {
                    "propertyURI": "http://purl.org/dc/terms/dateCopyrighted",
                    "propertyLabel": "Date Copyrighted",
                    "type": "literal",
                    "valueConstraint": {
                        "valueDataType": {
                           "resourceURI": "http://www.w3.org/2001/XMLSchema#date",
                           "valueLabel": "ISO 8601"
                        }
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/dc/terms/dateValid",
                    "propertyLabel": "Date Valid",
                    "type": "literal",
                    "valueConstraint": {
                        "valueDataType": {
                           "resourceURI": "http://www.w3.org/2001/XMLSchema#date",
                           "valueLabel": "ISO 8601"
                        }
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/dc/term/description",
                    "propertyLabel": "Description",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "true",
                    "valueConstraint": {
                        "valueLanguage": "en"
                        }
                 }, 
                 {
                    "propertyURI": "http://purl.org/dc/terms/educationLevel",
                    "propertyLabel": "Education Level",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "true",
                        "mandatory": "true",
                        "usesValuesFrom": [
                            "http://purl.org/ASN/scheme/ASNEducationLevel/",
                             ]
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/gem/qualifiers/hasChild",
                    "propertyLabel": "Has Child",
                    "repeatable": "true",
                    "mandatory": "true",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:Statement" 
                            ]
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/gem/qualifiers/identifier",
                    "propertyLabel": "Identifier",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false"
                 },                  
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/jurisdiction",
                    "propertyLabel": "Jurisdiction",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "false",
                        "mandatory": "true",
                        "usesValuesFrom": [
                            "http://purl.org/ASN/scheme/ASNJurisdiction/", 
                            "http://id.loc.gov/vocabulary/countries/",
                            ]
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/dc/elements/1.1/language",
                    "propertyLabel": "Language",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "false",
                        "mandatory": "true",
                        "usesValuesFrom": [
                            "http://id.loc.gov/vocabulary/iso639-1/" 
                            ],
                        "defaultURI": "http://id.loc.gov/vocabulary/iso639-1/en"    
                    }
                 }, 
                 {
                    "propertyURI": "http://purl.org/dc/terms/license",
                    "propertyLabel": "License",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "false",
                        "mandatory": "true",
                        "allowedValueURI": [
                             "http://creativecommons.org/licenses/by/4.0/",
                             "http://creativecommons.org/licenses/by-nc/4.0/",
                             "http://creativecommons.org/licenses/by-nd/4.0/",
                             "http://creativecommons.org/licenses/by-nc-nd/4.0/",
                             "http://creativecommons.org/licenses/by-sa/4.0/",
                             "http://creativecommons.org/licenses/by-nc-sa/4.0/",
                             "http://creativecommons.org/publicdomain/zero/1.0/" 
                            ]
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/localSubject",
                    "propertyLabel": "Local Subject",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false",
                    "valueConstraint": {
                        "valueLanguage": "en"
                        }
                 },
                 {
                    "propertyURI": "http://www.w3.org/2004/02/skos/core#note",
                    "propertyLabel": "Note",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false",
                    "valueConstraint": {
                        "valueLanguage": "en"
                        }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/publicationStatus",
                    "propertyLabel": "Publication Status",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "false",
                        "mandatory": "true",
                        "usesValuesFrom": [
                            "http://purl.org/ASN/scheme/ASNPublicationStatus/", 
                            ]
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/dc/elements/1.1/publisher",
                    "propertyLabel": "Pubisher",
                    "type": "literal",
                    "repeatable": "false",
                    "mandatory": "false"
                 },                 
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/repositoryDate",
                    "propertyLabel": "Repository Date",
                    "type": "literal",
                    "repeatable": "false",
                    "mandatory": "true",                    
                    "valueConstraint": {
                        "valueDataType": {
                           "resourceURI": "http://www.w3.org/2001/XMLSchema#date",
                           "valueLabel": "ISO 8601"
                        }
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/dc/terms/rights",
                    "propertyLabel": "Rights",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false",
                    "valueConstraint": {
                        "valueLanguage": "en"
                        }
                 }, 
                 {
                    "propertyURI": "http://purl.org/dc/terms/rightsHolder",
                    "propertyLabel": "Rights Holder",
                    "type": "literal",
                    "repeatable": "false",
                    "mandatory": "false"
                 },
                 {
                    "propertyURI": "http://purl.org/dc/terms/source",
                    "propertyLabel": "Source",
                    "type": "literal",
                    "repeatable": "false",
                    "mandatory": "true"
                 },
                 {
                    "propertyURI": "http://purl.org/dc/terms/subject",
                    "propertyLabel": "Subject",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "false",
                        "mandatory": "true",
                        "usesValuesFrom": [
                            "http://purl.org/ASN/scheme/ASNTopics/", 
                            ]
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/dc/elements/1.1/title",
                    "propertyLabel": "Title",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "true",
                    "valueConstraint": {
                        "valueLanguage": "en"
                        }
                 },                 
             ]
          },
          {
             "id": "http://purl.org/ASN/schema/core/Statement",
             "resourceLabel": "Statement",
             "resourceURI": "http://purl.org/ASN/schema/core/Statement",
             "propertyTemplates": [
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/alignFrom",
                    "propertyLabel": "Aligned From",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:Statement" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/alignto",
                    "propertyLabel": "Aligned To",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "http://purl.org/ASN/schema/core/Statement" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/altStatementNotation",
                    "propertyLabel": "Alternate Statement Notation",
                    "type": "literal",
                    "repeatable": "false",
                    "mandatory": "false"
                 },                 
                 {
                    "propertyURI": "http://www.loc.gov/loc.terms/relators/AUT",
                    "propertyLabel": "Author",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false"
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/authorityStatus",
                    "propertyLabel": "Authority Status",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "false",
                        "mandatory": "true",
                        "usesValuesFrom": [
                             "http://purl.org/ASN/scheme/ASNAuthorityStatus/", 
                        ]
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/broadAlignment",
                    "propertyLabel": "Broad Alignment",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "http://purl.org/ASN/schema/core/Statement" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/comment",
                    "propertyLabel": "Comment",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false",
                    "valueConstraint": {
                        "valueLanguage": "en"
                        }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/comprisedOf",
                    "propertyLabel": "Comprised Of",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource"
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/conceptKeyword",
                    "propertyLabel": "Concept Key Word",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false",
                    "valueConstraint": {
                        "valueLanguage": "en"
                        }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/conceptTerm",
                    "propertyLabel": "Concept Term",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "true",
                        "mandatory": "false",
                        "usesValuesFrom": [
                             "http://vocabulary.curriculum.edu.au/scot/",
                             "http://dbpedia.org/resource/",
                             "https://www.freebase.com/",
                             "http://id.loc.gov/authorities/subjects/",
                             "http://id.loc.gov/authorities/names/",
                             "http://viaf.org/viaf/",
                             "http://vocab.getty.edu/tgn/",
                             "http://vocab.getty.edu/att/",
                             "http://vocab.getty.edu/ulan/"
                        ]
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/crossSubjectReference",
                    "propertyLabel": "Cross-Subject Reference",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:Statement" 
                            ]
                       }
                 }, 
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/derivedFrom",
                    "propertyLabel": "Derived From",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:Statement" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://purl.org/dc/term/description",
                    "propertyLabel": "Description",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "true",
                    "valueConstraint": {
                        "valueLanguage": "en"
                        }
                 },
                 {
                    "propertyURI": "http://purl.org/dc/terms/educationLevel",
                    "propertyLabel": "Education Level",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "true",
                        "mandatory": "true",
                        "usesValuesFrom": [
                             "http://purl.org/ASN/scheme/ASNEducationLevel/",
                        ]
                    }
                 }, 
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/exactAlignment",
                    "propertyLabel": "Exact Alignment",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:Statement" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://www.w3.org/2004/02/skos/core#exactMatch",
                    "propertyLabel": "Has Exact Match",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "http://purl.org/ASN/schema/core/Statement" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://purl.org/gem/qualifiers/hasChild",
                    "propertyLabel": "Has Child",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:Statement" 
                            ]
                       }
                 }, 
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/indexingStatus",
                    "propertyLabel": "Indexing Status",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "true",
                        "mandatory": "true",
                        "usesValuesFrom": [
                             "http://purl.org/ASN/scheme/ASNIndexingStatus/",
                        ]
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/gem/qualifiers/isChildOf",
                    "propertyLabel": "Is Child Of",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:Statement",
                            "asn:StandardSocument" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://purl.org/gem/qualifiers/isChildOf",
                    "propertyLabel": "Is Part Of",
                    "repeatable": "true",
                    "mandatory": "true",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:StandardDocument" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://purl.org/dc/terms/isVersionOf",
                    "propertyLabel": "Is Version Of",
                    "repeatable": "false",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:Statement" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://purl.org/dc/elements/1.1/language",
                    "propertyLabel": "Language",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "false",
                        "mandatory": "true",
                        "usesValuesFrom": [
                            "http://id.loc.gov/vocabulary/iso639-1/" 
                            ],
                        "defaultURI": "http://id.loc.gov/vocabulary/iso639-1/en"    
                    }
                 }, 
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/listID",
                    "propertyLabel": "List ID",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false"
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/localSubject",
                    "propertyLabel": "Local Subject",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false",
                    "valueConstraint": {
                        "valueLanguage": "en"
                        }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/majorAlignment",
                    "propertyLabel": "Major Alignment",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:Statement" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/minorAlignment",
                    "propertyLabel": "Minor Alignment",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:Statement" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/narrowAlignment",
                    "propertyLabel": "Narrow Alignment",
                    "repeatable": "true",
                    "mandatory": "false",
                    "type": "resource",
                    "valueConstraint": {
                        "valueTemplateRefs": [ 
                            "asn:Statement" 
                            ]
                       }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/skillEmbodied",
                    "propertyLabel": "Skills Embodied",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "true",
                        "mandatory": "false",
                        "usesValuesFrom": [
                             "http://purl.org/ASN/schema/core/SkillsEmbodied"
                        ]
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/dc/terms/spatial",
                    "propertyLabel": "Spatial",
                    "type": "literal",
                    "valueConstraint": {
                        "valueDataType": {
                           "resourceURI": "http://www.w3.org/2001/XMLSchema#date",
                           "valueLabel": "ISO 8601"
                        }
                    }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/statementLabel",
                    "propertyLabel": "Statement Label",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false",
                    "valueConstraint": {
                        "valueLanguage": "en"
                        }
                 },
                 {
                    "propertyURI": "http://purl.org/ASN/schema/core/statementNotation",
                    "propertyLabel": "Statement Notation",
                    "type": "literal",
                    "repeatable": "true",
                    "mandatory": "false"
                 },
                 {
                    "propertyURI": "http://purl.org/dc/terms/subject",
                    "propertyLabel": "Subject",
                    "type": "resource",
                    "valueConstraint": {
                        "repeatable": "false",
                        "mandatory": "true",
                        "usesValuesFrom": [
                            "http://purl.org/ASN/scheme/ASNTopics/", 
                            ]
                    }
                 },                 
             ]
          }
      ]
   }
}

References

[1] BIBFRAME Profiles: Introduction and Specification (Draft—5 May 2014)
http://www.loc.gov/bibframe/docs/bibframe-profiles.html

Revisions