A Vocabulary of Government Service – Part II

A Second Cycle of Developing a Vocabulary of Government Service

At the end of our first cycle of developing a vocabulary of government service, we had arrived at the following Graph:

Source Node Target Node Relation
Schema Thing hasSubclass
Thing Intangible hasSubclass
Intangible Service hasSubclass
Service GovernmentService hasSubclass
Thing additionalType hasProperty
Thing alternateName hasProperty
Thing description hasProperty
Thing image hasProperty
Thing name hasProperty
Thing potentialAction hasProperty
Thing sameAs hasProperty
Thing url hasProperty
Service availableChannel hasProperty
Service produces hasProperty
Service provider hasProperty
Service serviceArea hasProperty
Service serviceAudience hasProperty
Service serviceType hasProperty
GovernmentService serviceOperator hasProperty
additionalType URL hasRange
alternateName Text hasRange
availableChannel ServiceChannel hasRange
description Text hasRange
image URL hasRange
name Text hasRange
potentialAction Action hasRange
produces Thing hasRange
provider Organization hasRange
sameAs URL hasRange
serviceArea AdministrativeArea hasRange
serviceAudience Audience hasRange
serviceOperator Organization hasRange
serviceType Text hasRange
url URL hasRange

Table 1. Graph of a vocabulary of government service (Cycle 1).

Our second cycle through Schema.org to enrich  our vocabulary further looks to incorporate fully any Class that had defined the Range of some Property at the end of Cycle 1.  There are fifteen rows  in Table 1 where Relation = hasRange – though there are only eight unique Classes (URL, Text, ServiceChannel, Action, Thing, OrganizationAdministrativeArea, and Audience) occupying the Target Node.

Figure 1 illustrates our initial pathway from Schema -> Thing -> Intangible -> Service -> GovernmentService within Schema.org  – as well as the positions of these eight additional Classes within the Inheritance Hierarchy:

GovernmentService Classes at end of Cycle 1

Figure 1. Initial pathway from Schema -> Thing -> Intangible – > Service -> Government Service plus the position of Classes that defined the Range of Properties of Classes along this initial pathway.

These eight additional Classes fall into three categories:

  1. Classes that are included already in the vocabulary (e.g. Thing).
  2. Classes that are datatypes (e.g.  URL, Text) and whose inclusion would add no new Properties to the vocabulary.
  3. Classes that represent new entities (e.g. ServiceChannel, Action, OrganizationAdministrativeArea, and Audience) and whose inclusion would add new Properties to the vocabulary.

Only the third sort of Class offers an avenue for enriching our vocabulary.

Let’s take Class ServiceChannel as an example of how we want to proceed:

The first step is to take account of ServiceChannel’s position in Schema.org’s hierarchy of Classes. On its website, Schema.org asserts the equivalent of:

  • Thing, Intangible, hasSubclass
  • Intangible, ServiceChannel, hasSubclass

Here we note that the first assertion is already part of the vocabulary (Table 4 – Row 1); however, the second assertion is not and its addition to our Graph would enhance our vocabulary.

The second step is to take account of the Properties of Class ServiceChannel:

Properties from Class ServiceChannel
Property Range Description
availableLanguage Language A language someone may use with the item.
processingTime Duration Estimated processing time for the service using this channel.
providesService Service The service provided by this channel.
serviceLocation Place The location (e.g. civic structure, local business, etc.) where a person can go to access the service.
servicePhone ContactPoint The phone number to use to access the service.
servicePostalAddress PostalAddress The address for accessing the service by mail.
serviceSmsNumber ContactPoint The number to access the service by text message.
serviceUrl URL The website to access the service.

Table 2. Properties of Class ServiceChannel.

These eight Properties (availableLanguage, processingTime, providesService, serviceLocation, servicePhone, servicePostalAddress, serviceSmsNumber, serviceUrl) of Class ServiceChannel are new and so will be added to our vocabulary. Note that Class ServiceChannel also inherits all of the Properties of its superordinate Class Thing – but that these Properties are already included in our vocabulary and do not represent an opportunity for enhancement.

The third and final step is to take account of the Ranges of Class ServiceChannel‘s Properties – thereby adding five Classes (Language, Duration, Place, ContactPoint, and PostalAddress) to our vocabulary – (note that Class Service and Class URL are already included).

Quantitative Impact on Vocabulary

We may quantify the impact of adding any Class (ServiceChannel, Action, OrganizationAdministrativeArea, and Audience) to our vocabulary in Cycle 2 by using our vocabulary at the end Cycle 1 as a baseline:

  1. How many unique assertions of the form “Node_iNode_j, hasSubclass” are associated with the Class and how many of them are new?
  2. How many unique assertions of the form “Node_iNode_j, hasProperty” are associated with the Class and how many of them are new?
  3. How many unique assertions of the form “Node_iNode_j, hasRange” are associated with the Class and how many of them are new?
  4. How many unique Classes are referenced in #1 – #3 above and how many of them are new?
  5. How many unique Properties are referenced in #1 – #3 above are how many of them are new?

In the case of Class ServiceChannel, we observe:

  • There are two assertions of the form “Node_iNode_j, hasSubclass” – one assertion is already included in the vocabulary at the end of Cycle 1; one assertion is new and would be an enhancement to the vocabulary.
  • There are fifteen unique assertions of the form “Node_iNode_j, hasProperty” – eight unique assertions that derive from Class Thing are already included in the vocabulary; eight assertions that derive from Class ServiceChannel itself are new and would be enhancements to the vocabulary.
  • There are twenty-one unique assertions of the form “Node_iNode_j, hasRange”; thirteen unique assertions are already included in the vocabulary; eight unique assertions are new and would be enhancements to the vocabulary.
  • There are nineteen unique Classes standing in form Node_i or Node_j in assertions of the form “Node_i,Node_j, hasSubclass”, or Node_i in assertions of the form “Node_i,Node_j, hasProperty”; five of these unique Classes (Language, Duration, Place, ContactPoint, PostalAddress) are new.
  • There are twenty-four unique Properties of the form Node_j in assertions of the form “Node_i,Node_j, hasProperty” – eight of these unique Properties are new.

Note that this method of enriching our vocabulary of government service depends entirely on the structure of Schema.org – there is no model of government service that comes into the exercise.

Applying steps #1 – #5 above to the other Classes that had defined the Range of some Property in Cycle 1, we observe the following impacts of adding these Classes individually or altogether to our vocabulary:

New Assertions New Nodes
 Added Range hasSubclass hasProperty hasRange Classes Properties
ServiceChannel 1 8 8 5 8
Action 1 11 13 6 11
Organization 1 33 39 15 33
AdministrativeArea 2 15 19 11 15
Audience 1 2 2 0 2
Altogether 6 69 69 25 58

Table 3. Introduction of new components into vocabulary for GovernmentService in Cycle 2.

The Graph of our vocabulary at the end of Cycle 2 includes 25 + 58 = 83 additional Nodes and 6 + 69 + 69 = 144 additional assertions about the relations between these Nodes and/or between these Nodes and the Nodes of our vocabulary at the end of Cycle 1:

Assertions included in Cycle 1
Source Node Target Node Relation
Thing Intangible hasSubClass
Intangible Service hasSubClass
Service GovernmentService hasSubClass
Thing additionalType hasProperty
Thing alternateName hasProperty
Thing description hasProperty
Thing image hasProperty
Thing name hasProperty
Thing potentialAction hasProperty
Thing sameAs hasProperty
Thing url hasProperty
Service availableChannel hasProperty
Service produces hasProperty
Service provider hasProperty
Service serviceArea hasProperty
Service serviceAudience hasProperty
Service serviceType hasProperty
GovernmentService serviceOperator hasProperty
additionalType URL hasRange
alternateName Text hasRange
availableChannel ServiceChannel hasRange
description Text hasRange
image URL hasRange
name Text hasRange
potentialAction Action hasRange
produces Thing hasRange
provider Organization hasRange
sameAs URL hasRange
serviceArea AdministrativeArea hasRange
serviceAudience Audience hasRange
serviceOperator Organization hasRange
serviceType Text hasRange
url URL hasRange
Assertions added in Cycle 2
Thing Action hasSubClass
Thing Organization hasSubClass
Thing Place hasSubClass
Intangible Audience hasSubClass
Intangible ServiceChannel hasSubClass
Place AdministrativeArea hasSubClass
Action actionStatus hasProperty
Action agent hasProperty
Action endTime hasProperty
Action error hasProperty
Action instrument hasProperty
Action location hasProperty
Action object hasProperty
Action participant hasProperty
Action result hasProperty
Action startTime hasProperty
Action target hasProperty
Audience audienceType hasProperty
Audience geographicArea hasProperty
Organization address hasProperty
Organization aggregateRating hasProperty
Organization brand hasProperty
Organization contactPoint hasProperty
Organization department hasProperty
Organization dissolutionDate hasProperty
Organization duns hasProperty
Organization email hasProperty
Organization employee hasProperty
Organization event hasProperty
Organization faxNumber hasProperty
Organization founder hasProperty
Organization foundingDate hasProperty
Organization foundingLocation hasProperty
Organization globalLocationNumber hasProperty
Organization hasPOS hasProperty
Organization interactionCount hasProperty
Organization isicV4 hasProperty
Organization legalName hasProperty
Organization location hasProperty
Organization logo hasProperty
Organization makesOffer hasProperty
Organization member hasProperty
Organization memberOf hasProperty
Organization naics hasProperty
Organization owns hasProperty
Organization producer hasProperty
Organization review hasProperty
Organization seeks hasProperty
Organization subOrganization hasProperty
Organization taxID hasProperty
Organization telephone hasProperty
Organization vatID hasProperty
Place address hasProperty
Place aggregateRating hasProperty
Place containedIn hasProperty
Place event hasProperty
Place faxNumber hasProperty
Place geo hasProperty
Place globalLocationNumber hasProperty
Place hasMap hasProperty
Place interactionCount hasProperty
Place isicV4 hasProperty
Place logo hasProperty
Place openingHoursSpecification hasProperty
Place photo hasProperty
Place review hasProperty
Place telephone hasProperty
ServiceChannel availableLanguage hasProperty
ServiceChannel processingTime hasProperty
ServiceChannel providesService hasProperty
ServiceChannel serviceLocation hasProperty
ServiceChannel servicePhone hasProperty
ServiceChannel servicePostalAddress hasProperty
ServiceChannel serviceSmsNumber hasProperty
ServiceChannel serviceUrl hasProperty
actionStatus ActionStatusType hasRange
address PostalAddress hasRange
agent Organization hasRange
agent Person hasRange
aggregateRating AggregateRating hasRange
audienceType Text hasRange
availableLanguage Language hasRange
brand Organization hasRange
brand Brand hasRange
contactPoint ContactPoint hasRange
containedIn Place hasRange
department Organization hasRange
dissolutionDate Date hasRange
duns Text hasRange
email Text hasRange
employee Person hasRange
endTime DateTime hasRange
error Thing hasRange
event Event hasRange
faxNumber Text hasRange
founder Person hasRange
foundingDate Date hasRange
foundingLocation Place hasRange
geo GeoCoordinates hasRange
geo GeoShape hasRange
geograhicArea AdministrativeArea hasRange
globalLocationNumber Text hasRange
hasMap Map hasRange
hasMap URL hasRange
hasPOS Place hasRange
instrument Thing hasRange
interactionCount Text hasRange
isicV4 Text hasRange
legalName Text hasRange
location PostalAddress hasRange
location Place hasRange
logo URL hasRange
logo ImageObject hasRange
makesOffer Offer hasRange
member Organization hasRange
member Person hasRange
memberOf Organization hasRange
memberOf ProgramMembership hasRange
naics Text hasRange
object Thing hasRange
openingHoursSpecification OpeningHoursSpecification hasRange
owns OwnershipInfo hasRange
owns Product hasRange
participant Organization hasRange
participant Person hasRange
photo Photograph hasRange
photo ImageObject hasRange
processingTime Duration hasRange
producer Person hasRange
providesService Service hasRange
result Thing hasRange
review Review hasRange
seeks Demand hasRange
serviceLocation Place hasRange
servicePhone ContactPoint hasRange
servicePostalAddress PostalAddress hasRange
serviceSmsNumber ContactPoint hasRange
serviceUrl URL hasRange
startTime DateTime hasRange
subOrganization Organization hasRange
target EntryPoint hasRange
taxID Text hasRange
telephone Text hasRange
vatID Text hasRange

Table 4. Graph of vocabulary for describing service that is provided by a government organization (Cycle 2).

Our vocabulary for describing a service provided by a government organization now looks something like this (interactive version here):

Schema.org GovernmentService Cycle 2

Figure 5. Visualization of Graph of GovernmentService (Cycle 2), where o = Property, D = Domain, and R = Range (end of Cycle 1) and o = Property and R = Range (end of Cycle 2), terminating Property nodes with Range = Datatype.

After only two cycles through Schema.org, we see that our vocabulary of government service is already threatening to become unwieldy – the number of assertions in our Graph has increased dramatically, and many of the assertions added in Cycle 2 are less clearly relevant to describing government service. Proceeding with ingesting additional Classes and Properties into our vocabulary, using this methodology in a third, fourth, fifth Cycle of development, is an interesting exercise, but increasingly unproductive for our purposes.

Moving forward, then, we will adopt a model of service to guide our development of a vocabulary of government service using Schema.org.

Coming Up:

Part III: The Architecture of Service: the Service Organization and Service Channel

Part IV: The Service Audience and Administrative Area

Part V: The Service Action