CITE THIS NOTEBOOK: Wolfram R&D LIVE: Wolfram Resource System—Repositories & Archives by Bob Sandheinrich. Wolfram Community DEC 15 2022.
CITE THIS NOTEBOOK: Wolfram R&D LIVE: Wolfram Resource System—Repositories & Archives by Bob Sandheinrich. Wolfram Community DEC 15 2022.
Agenda
Agenda
◼
Introduction
◼
Consumer Use
◼
Developer Use
◼
Paclet Repository Development
◼
Advanced Topics and Future Repositories
Introduction
Introduction
A bit of terminology
A bit of terminology
ResourceObject
ResourceObject
A resource object represents content that is ready-to-use in the Wolfram Language.
In[]:=
ResourceObject["Space Shuttle 3D Model"]
Out[]=
ResourceObject
There are two primary benefits to turning content into resource objects.
◼
Attaching Metadata
◼
Distribution
Repository
Repository
Repositories are collections of similar resource objects. All resources in a repository share the same:
◼
Type of content
◼
Metadata schema
◼
Website
◼
Integration into the Wolfram Language
Resource System
Resource System
The resource system is the full collection of technology for use, creation and distribution of resource objects including public repositories deployed to the Wolfram Cloud.
Repositories
Repositories
◼
Data Repository (2017)
◼
Neural Net Repository (2018)
◼
Function Repository (2019)
◼
Paclet Repository (2022)
Finding Resource Objects
Finding Resource Objects
Search or browse on the web
Search or browse on the web
Out[]=
Search in the language
Search in the language
In[]:=
ResourceSearch["wordle"]
Out[]=
EntityRegister[ResourceData["GDB-9 Database"]];
Using Resource Objects
Using Resource Objects
Each repository has its own integration into the Wolfram Language.
In[]:=
ResourceData["Space Shuttle 3D Model"]
Out[]=
In[]:=
NetModel["Wolfram Sentence Splitter Net for TextSentences WL 12.0 V2"]
Out[]=
NetChain
In[]:=
AudioIdentify,All,3
Out[]=
,,
In[]:=
ResourceFunction["BirdSay"]
Out[]=
In[]:=
Out[]=
In[]:=
PacletInstall["Bob/ContentBrowser"]
Out[]=
PacletObject
Each of these functions is using a ResourceObject from a resource system repository.
In[]:=
ResourceObject/@{"Space Shuttle 3D Model","Wolfram Sentence Splitter Net for TextSentences WL 12.0 V2","Wolfram AudioIdentify V1 Trained on AudioSet Data","BirdSay","Bob/ContentBrowser"}
Details
Details
ResourceObject[“name”] looks for resources at locations along $ResourceSystemPath
In[]:=
$ResourceSystemPath
If it finds a resource remotely it retrieves only the metadata.
In[]:=
rebels=ResourceObject["Paul Revere's Social Network in Colonial Boston"]
Out[]=
ResourceObject
In[]:=
rebels["ContentElementLocations"]
Out[]=
The first time you use a resource, the content is downloaded and stored locally for faster subsequent use:
In[]:=
AbsoluteTiming[ResourceData[rebels,"Dataset"]]
Out[]=
1.31378,
Creating Resource Objects
Creating Resource Objects
Creating a resource object from content typically uses a definition notebook.
Definition notebooks allow the creator to:
◼
Specify metadata
◼
Validate content and metadata
◼
Distribute the resource
◼
Store on the local computer
◼
Deploy to the Wolfram Cloud
◼
Submit for publication in a repository
Each repository has its own set of standards and guidelines to follow when creating and submitting resources.
Most repositories have a review team made of Wolfram staff which examines the submission and send comments and edits back and forth with the creator.
Wolfram Language Paclet Repository
Wolfram Language Paclet Repository
Newly released and open for business!
A lot of information is available about paclets, paclet development and the paclet repository (see final slide)
Creating a new paclet
Creating a new paclet
Programmatically
Programmatically
PacletTools provides a suite of functions for programmatically developing paclets.
CreatePaclet builds a standard directory structure
With a Definition Notebook
With a Definition Notebook
Converting an existing paclet for WLPR
Converting an existing paclet for WLPR
Developing for WLPR
Developing for WLPR
Requirements
Requirements
◼
PublisherID in names: Paclet, Symbol Context, Stylesheet and Palette paths
Conventions (required for featured paclets)
Conventions (required for featured paclets)
◼
All user symbols documented
◼
All definition notebook fields filled in accurately
Advanced Topics
Advanced Topics
Private Resource Systems
Private Resource Systems
◼
Custom, private resources systems can be part of an Enterprise Private Cloud (EPC)
Resource System Diagram
Resource System Diagram
Likely Future Repositories
Likely Future Repositories
◼
Color Palettes
◼
Plot Themes
◼
Examples
◼
Stylesheets
More Information
More Information
Links
Links
Videos on Paclets, Paclet Development, Paclet Repository
Videos on Paclets, Paclet Development, Paclet Repository
◼
Wolfram Technology Conference 2022 Talks:
Documentation Links
Documentation Links
