fiokg

SAWGraph FRS KG

The FRS (Facility Registry Service) KG is the part of the SAWGraph project that stores data about facilities from EPA's Facility Registry service (FRS) together with their NAICS industry classification and the spatial location.

294.9M triples
109 classes
68 properties
18.4M subjects

The FRS KG is a core component of the SAWGraph (Safe Agricultural Products and Water Graph) project, an NSF-funded Proto-OKN initiative to monitor and trace PFAS and other contaminants in the nation's food and water systems. This knowledge graph integrates comprehensive facility (i.e. industrial, federal, and utility facilities) and industry classification data for the coterminous United States (48 states) from EPA's Facility Registry Service (FRS), which provides an integrated source of environmental information about over 826,000 regulated facilities across air, water, and waste programs. The graph is built on top of the Facilities and Industries Ontology (FIO) that offers hierarchically structured NAICS industries and generalized links to facilities. The FRS KG currently contains 2.6 million entities and over 10 million triples, structuring data around facilities, environmental records (monitoring, permits, enforcement), and NAICS industry codes. Each facility is spatially indexed to S2 cells (Level 13; from the Spatial KG) and Level 3 administrative regions (county subdivisions; using DataCommons URIs) using KnowWhereGraph’s spatial relations and linked to environmental interest types, compliance systems, and temporal tracking records. The dataset employs standard vocabularies including Dublin Core, PROV-O, GeoSPARQL, and Schema.org. The graph supports SPARQL queries such as for environmental compliance research, contaminant pathway analysis, and facility-industry profiling.

Retrieve all chemical manufacturing facilities (NAICS code 325) and their 6-digit industry code.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX fio: <http://w3id.org/fio/v1/fio#>
PREFIX naics: <http://w3id.org/fio/v1/naics#> 
PREFIX epa-frs: <http://w3id.org/fio/v1/epa-frs#>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX kwg-ont: <http://stko-kwg.geog.ucsb.edu/lod/ontology/>

SELECT ?fac ?faclabel ?code ?codelabel  WHERE {
  VALUES ?subsector {naics:NAICS-325}
  ?fac rdf:type fio:Facility ;
       fio:ofIndustry ?code .
  ?code rdf:type naics:NAICS-IndustryCode; 
    fio:subcodeOf ?subsector.

  # also retrieve any labels associated with the facility and industry 
  OPTIONAL { ?fac rdfs:label ?faclabel . }
  OPTIONAL { ?code rdfs:label ?codelabel . }
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v3("?code"):::projected 
  v5("?codelabel"):::projected 
  v2("?fac"):::projected 
  v4("?faclabel"):::projected 
  v1("?subsector")
  c2([fio:Facility]):::iri 
  c4([fio-naics:NAICS-IndustryCode]):::iri 
  bind0[/VALUES ?subsector/]
  bind0-->v1
  bind00([fio-naics:NAICS-325])
  bind00 --> bind0
  v2 --"a"-->  c2
  v2 --"fio:ofIndustry"-->  v3
  v3 --"a"-->  c4
  v3 --"fio:subcodeOf"-->  v1
  subgraph optional0["(optional)"]
  style optional0 fill:#bbf,stroke-dasharray: 5 5;
    v2 -."rdfs:label".->  v4
  end
  subgraph optional1["(optional)"]
  style optional1 fill:#bbf,stroke-dasharray: 5 5;
    v3 -."rdfs:label".->  v5
  end
SPARQL Endpoint https://apps.okn.us/fiokg/sparql
Triple Pattern Fragments https://apps.okn.us/ldf/fiokg
ClassEntities
PropertyTriples