Query Naming
This section is non-normative.
Introduction
Some key inverses are specified in the VF core, for flexibility of different technical implementations. Many are not. This section is to provide guidance on naming for those that are not explicitly specified, as well as other basic and more involved queries, to facilitate standard api naming.
This document is NOT meant to imply that all of these named methods should be implemented in any particular application api. Most implementations will want to use only a fraction of these.
Status: Many of these queries are not tested, and there will certainly be other useful queries. If anyone has recommended changes or additions, please start an issue or pull request, or just let us know in the Welcome chat (links on the home page).
Observation layer
Agent
(also subclasses Person, Organization, EcologicalAgent)
main queries:
agent
agents
myAgent
person
persons
organization
organizations
inverse queries:
processes (Process.inScopeOf)
inventoriedEconomicResources (EconomicResource.primaryAccountable)
commitmentsAsProvider (Commitment.provider)
commitmentsAsReceiver (Commitment.receiver)
economicEventsAsProvider (EconomicEvent.provider)
economicEventsAsReceiver (EconomicEvent.receiver)
intentsAsProvider (Intent.provider)
intentsAsReceiver (Intent.receiver)
claimsAsProvider (Claim.provider)
claimsAsReceiver (Claim.receiver)
other queries:
plans (if there is any Process.inScopeOf in a Plan)
economicEvents (EconomicEvent.provider or .receiver or .inputOf.inScopeOf or .outputOf.inScopeOf)
commitments (Commitment.provider or .receiver or .receiver or .inputOf.inScopeOf or .outputOf.inScopeOf)
intents (Intent.provider or .receiver or .receiver or .inputOf.inScopeOf or .outputOf.inScopeOf)
claims (Claim.provider or .receiver)
proposals (a related Intent.provider or Intent.receiver)
proposalsTo (Proposals.proposed where ProposedTo.proposedTo is the Agent)
Process
main queries:
process
processes
inverse queries:
other queries:
economicEvents (EconomicEvent.inputOf or .outputOf)
commitments (Commitment.inputOf or .outputOf)
intents (Intent.inputOf or .outputOf)
unplannedEconomicEvents (all EconomicEvent.inputOf or .outputOf that don't fulfill a Commitment)
unplannedInputs (all EconomicEvent.inputOf that don't fulfill a Commitment)
unplannedOutputs (all EconomicEvent.outputOf that don't fulfill a Commitment)
involvedAgents (all .provider or .receiver on .hasInput or .hasOutput Commitments or EconomicEvents or Intents, and self.inScopeOf)
workingAgents (all EconomicEvent.provider on a .hasInput EconomicEvent with action equal to work)
previous (EconomicEvent.inputOf)
next (EconomicEvent.outputOf)
EconomicEvent
main queries:
economicEvent
economicEvents
inverse queries:
other queries:
reciprocalEvents (EconomicEvents.realizationOf the same Agreement with opposite provider, receiver)
previous (Process, EconomicEvent, EconomicResource, see Track and Trace for logic)
next (Process, EconomicEvent, EconomicResource, see Track and Trace for logic)
trace (ordered incoming value flows, see Track and Trace for logic)
track (ordered outgoing value flows, see Track and Trace for logic)
EconomicResource
main queries:
economicResource
economicResources
inverse queries:
intents (Intent.resourceInventoriedAs)
commitments (Commitment.resourceInventoriedAs)
economicEventsFrom (All economic events with the economic resource in the EconomicEvent.resourceInventoriedAs)
economicEventsTo (All economic events with the economic Resource in the EconomicEvent.toResourceInventoriedAs)
other queries:
economicEvents (either EconomicEvent.resourceInventoriedAs or .toResourceInventoriedAs)
previous (EconomicEvent, see Track and Trace for logic)
next (EconomicEvent, see Track and Trace for logic)
trace (ordered incoming value flows, see Track and Trace for logic)
track (ordered outgoing value flows, see Track and Trace for logic)
Plan layer
Proposal
main queries:
proposal
proposals
offers (Proposals where .purpose is offer)
requests (Proposals where .purpose is request)
other queries:
isOffer (boolean, true if .purpose is offer)
isRequest (boolean, true if .purpose is request)
isWithin (Proposal.eligibleLocation)
Intent
main queries:
intent
intents
inverse queries:
satisfiedBy (EconomicEvent.satisfies and Commitment.satisfies)
Agreement
main queries:
agreement
agreements
inverse queries:
unplannedEconomicEvents (EconomicEvent.realizationOf)
other queries:
involvedAgents (any .provider, .receiver on Commitment or EconomicEvent)
economicEvents (EconomicEvent.realizationOf, and any EconomicEvents that fulfill Commitments that are .clauseOf or .reciprocalClauseOf the Agreement)
Commitment
main queries:
commitment
commitments
inverse queries:
fulfilledBy (EconomicEvent.fulfills)
other queries:
involvedAgents (Commitment.provider, .receiver)
Claim
main queries:
claim
claims
inverse queries:
settledBy (EconomicEvent.settles)
Plan
main queries:
plan
plans
inverse queries:
other queries:
inScopeOf (all the .plannedWithin Process.inScopeOf)
involvedAgents (all the .plannedWithin Process.involvedAgents)
startDate (earliest .plannedWithin Process.hasBeginning)
endDate (latest .plannedWithin Process.hasEnd)
finished (all the .plannedWithin Process.finished are true)
Knowledge layer
ResourceSpecification
main queries:
resourceSpecification
resourceSpecifications
inverse queries:
conformingResources (EconomicResource.conformsTo)
conformingEconomicEvents (EconomicEvent.resourceConformsTo)
conformingCommitments (Commitment.resourceConformsTo)
conformingIntents (Intent.resourceConformsTo)
conformingClaims (Claim.resourceConformsTo)
conformingRecipeFlows (RecipeFlow.resourceConformsTo)
ProcessSpecification
main queries:
processSpecification
processSpecifications
inverse queries:
conformingProcesses (Process.basedOn)
conformingRecipeProcesses (RecipeProcess.processConformsTo)
commitmentsRequiringStage (Commitment.stage)
resourcesCurrentlyAtStage (EconomicResource.stage)
recipeFlowsRequiringStage (RecipeFlow.stage)
RecipeFlow
main queries:
recipeFlow
reciprFlows
RecipeExchange
main queries:
recipeExchange
recipeExchanges
RecipeProcess
main queries:
recipeProcess
recipeProcesses
Action
main queries:
action
actions
Last updated
Was this helpful?