You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »


Overview

This document includes general discussions about the overall approach and descriptions of known existing change management approaches for various institutions.


General Discussion on Approaches

Question: Which might be easier...  When data is changed, approaches to identifying changes...  

  • a diff between the new and old record - challenging with RDF because the graph is unordered, so doing the comparison can require extra processing.  There would need to be some scaffolding to create some structure.  Diffs are applied in order.  Diff UI to show what has changed makes understanding the impact of the changes easier to understand.
  • list the changes


How to distinguish the impact of changes?  Determines how much info to present.  Human users want to focus in on impactful changes.


Best practices questions:

  • format of the notification and how granular it needs to be
  • for systems that cache authoritative data, what would be updated based on the changes (partial changes vs. entire caches data)


Two audiences of the stream:

  • machine/cache
    • cache wants everything up to date all the time
    • applications that cache may need to take action when a change occurs
  • human
    • wants to avoid noise of non-impactful changes
    • wants attention drawn to impactful changes where they may need to take action

Action based workflows...

  • What types of changes require significant action when they occur?




Change management documents produced by authoritative providers

Library of Congress

LOC implements Activity Stream and has types.

  • URI belongs to a scheme when active (e.g. subject scheme).  This is identified by a triple.  The scheme triple is removed when it is deprecated.
  • Sometimes a term may move from one authority (e.g. subject) to another (e.g. genre).  Adds a triple identifying the new term (e.g. use_instead predicate).  Complicated when the change is a split.  Which term's URI should be used for use_instead?


Activity Stream is under development and is likely going to be a change management feed using JSON-LD.  Currently, LOC is using an Atom Feed to provide some basic change management info.



Change management processing by downstream users




Change document specification approaches

rdflib

Reference: https://rdrr.io/cran/rdflib/man/rdflib-package.html

This is an R package used to manipulate triples.  Worth looking at how it specifies changes.

  • add - rdf_add - could be used to express adding a triple
  • delete - do not see a spec for removing a triple

rdf_add

Reference: https://rdrr.io/cran/rdflib/man/rdf_add.html

rdf_add could be used to specify adding a triple.

Example:

rdf <- rdf()
rdf_add(rdf, 
    subject="http://www.dajobe.org/",
    predicate="http://purl.org/dc/elements/1.1/language",
    object="en")
    
## non-URI string in subject indicates a blank subject
## (prefixes to "_:b0")
rdf_add(rdf, "b0", "http://schema.org/jobTitle", "Professor") 

## identically a blank subject.  
## Note rdf is unchanged when we add the same triple twice.
rdf_add(rdf, "b0", "http://schema.org/jobTitle", "Professor", 
        subjectType = "blank") 
        
## blank node with empty string creates a default blank node id
rdf_add(rdf, "", "http://schema.org/jobTitle", "Professor")   
                    

## Subject and Object both recognized as URI resources:
rdf_add(rdf, 
        "https://orcid.org/0000-0002-1642-628X",
        "http://schema.org/homepage", 
        "http://carlboettiger.info")  

 ## Force object to be literal, not URI resource        
rdf_add(rdf, 
        "https://orcid.org/0000-0002-1642-628X",
        "http://schema.org/homepage", 
        "http://carlboettiger.info",
        objectType = "literal")  
        




  • No labels