; ; Copyright (C) 2002 Michal Sevcenko ; ; This program is free software; you can redistribute it and/or ; modify it under the terms of the GNU Lesser General Public ; License as published by the Free Software Foundation; either ; version 2.1 of the License, or (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ; Lesser General Public License for more details. ; ; You should have received a copy of the GNU Lesser General Public ; License along with this program; if not, write to the Free Software ; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ; ; This file contains definitions of auxiliary predicates that help to ; define language representations of predicates defined within SUMO. ; The 'format' binary predicate associates a concept (either relation or ; a function) with a string. When there is a need to visualise certain ; concept in natural language, the associated string is used. The string ; generally contains a natural language description of the concept, but ; it may contain special tags which are interpreted with the browser. ; The description of these tags follows: ; ; &%token - specifies a token that will be made into a hypertext link ; to concept (relation, function) being visualized ; %1, %2, ... - this tag will be substituted with a natural language ; representation of the concept's respective argument; if the argument ; is comound (not atomic, like variable or class), it is enclosed in ; parentheses, unless the tag is postfixed with an apostrof (like %2') ; %1a{text}, %2a{text}, ... will be replaced with text, if the respective ; argument is atomic, or with an empty string otherwise ; %1c{text}, %2c{text}, ... will be replaced with text, if the respective ; argument is compound, or with an empty string otherwise ; %n{text} will be replaced either with an empty string, if a predicate ; is being rendered as positive, or 'text' otherwise; the %n tag ; can be used as a shortcut for %n{not} ; %p{text} replaced with 'text' for positive rendering and with an ; empty string for negative rendering ; %*{range}[delim] will be replaced with a list of natural-language ; representation of a subset of arguments; range specifies which ; arguments will be included - it is a comma separated list of ; numbers or ranges; for example, range '1-4,6' denotes first, ; second, third, fourth and sixth argument; the delim parameter ; specifies the delimiter which will be used to separate ; representations of arguments; both {range} and [delim] may be omited ; - range defaults to all arguments, and delim defaults to a single ; space ; %% will be replaced with a single percent character ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; BASE ONTOLOGY ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; ; Relations (format part "%1 is %n a &%part of %2") (format properPart "%1 is %n a &%proper part of %2") (format piece "%1 is %n a &%piece of %2") (format component "%1 is %n a &%component of %2") (format material "%1 is %n &%made of %2") (format member "%1 is %n a &%member of %2") (format subCollection "%1 is %n a proper &%sub-collection of %2") (format containsInformation "%1 %n{doesn't} &%contain%p{s} information %2") (format property "%1 has %n an &%attribute %2") (format attribute "%2 is %n an &%attribute of %1") ;manner (format true "%1 &%is %n %2") (format lessThan "%1 is %n &%less than %2") (format greaterThan "%1 is %n &%greater than %2") (format lessThanOrEqualTo "%1 is %n &%less than or equal to %2") (format greaterThanOrEqualTo "%1 is %n &%greater than or equal to %2") (format agent "%2 is %n an &%agent of %1") (format destination "%1 %n{doesn't} %n &%end%p{s} at %2") (format experiencer "%2 %n{doesn't} &%experience%p{s} %1") (format instrument "%2 is %n an &%instrument for %1") (format origin "%1 %n{doesn't} &%origin%p{s} at %2") (format patient "%2 is %n a &%patient of %1") (format resource "%2 is %n a &%resource for %1") (format result "%2 is %n a &%result of %1") (format probability "&%probability of %1 is %n %2") (format conditionalProbability "&%probability of %1 provided that %2 holds is %n %2") (format increasesLikelihood "%1 %n{doesn't} &%increase%p{s} likelihood of %2") (format decreasesLikelihood "%1 %n{doesn't} &%decrease%p{s} likelihood of %2") (format independentProbability "probability of %1 and %2 is %n &%independent") (format prefers "%1 %n{doesn't} &%prefer%p{s} %2 over %3") (format inScopeOfInterest "%1 is %n &%interested in %2") (format notices "%1 %n{doesn't} &%notice%p{s} %2") (format needs "%1 %n{doesn't} &%need%p{s} %2") (format wants "%1 %n{doesn't} &%want%p{s} %2") (format desires "%1 %n{doesn't} &%desire%p{s} %2") (format considers "%1 %n{doesn't} &%consider%p{s} %2") (format believes "%1 %n{doesn't} &%believe%p{s} %2") (format knows "%1 %n{doesn't} &%know%p{s} %2") (format inList "%1 is %n a &%member of %2") (format subList "%1 is %n a &%sublist of %2") (format initialList "%1 %n{doesn't} &%start%p{s} %2") (format closedOn "%1 is %n &%closed on %2") (format reflexiveOn "%1 is %n &%reflexive on %2") (format irreflexiveOn "%1 is %n &%irreflexive on %2") (format partialOrderingOn "%1 is %n &%partial ordering on %2") (format totalOrderingOn "%1 is %n &%total ordering on %2") (format trichotomizingOn "%1 is %n &%trichotomizing on %2") (format equivalenceRelationOn "%1 is %n &%equivalence relation on %2") (format distributes "%1 is %n &%distributive over %2") (format causes "%1 %n{doesn't} &%cause%p{s} %2") (format copy "%1 is %n an exact &%copy of %2") (format time "%1 %n{doesn't} exist%p{s} &%during %2") (format holdsDuring "%2' %2a{%n{doesn't} hold%p{s}} %1a{&%during} %1'") (format capability "%3 is %n &%capable to do %1 in role %2") (format exploits "%1 %n{doesn't} &%exploit%p{s} %2") (format hasPurpose "%1 has %n &%purpose %2") (format hasPurposeForAgent "%1 has %n &%purpose %2 for %3") (format hasSkill "%2 has %n &%skill to do %1") ;holdsRight (format holdsRight "%2 %p{has} %n{doesn't have} the &%right to perform %1") ;confersRight ;holdsObligation ;confersObligation (format located "%1 is %n &%located at %2") (format partlyLocated "%1 is %n &%partly located in %2") (format exactlyLocated "%1 is %n &%exactly located in %2") (format between "%2 is %n &%between %1 and %3") ;traverses ;crosses ;penetrates (format possesses "%1 %n{doesn't} &%posess%p{es} %2") ;precondition ;inhibits ;prevents ;refers ;represents ;representsForAgent ;representsInLanguage ;equivalentContentClass ;subsumesContentClass ;equivalentContentInstance ;subsumesContentInstance ;realization ;expressedInLanguage ;subPlan ;uses ;;;;;;;;;;;;;;;;;; ; Functions ;AbstractionFn ;ExtensionFn ;TruthFn (format ListFn "(%*[,])") (format ListOrderFn "%2th &%element of %1") (format ListLengthFn "&%length of %1") ;ListConcatenateFn (format WhereFn "the place &%where %1 was at %2'") (format PropertyFn "&%belongings of %1") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; STRUCTURAL ONTOLOGY ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; ; Relations (format instance "%1 is %n an &%instance of %2") (format inverse "%1 is %n &%inverse to %2") (format subclass "%1 is %n a &%subclass of %2") (format subrelation "%1 is %n a &%subrelation of %2") (format domain "%2th argument of %1 is %n an &%instance of %3") (format domainSubclass "%2th argument of %1 is %n a &%subclass of %3") (format equal "%1 is %n &%equal to %2") (format range "&%range of %1 is %n an instance of %2") (format valence "%1 %p{&%has} %n{doesn't &%have} %2 &%argument(s)") (format disjoint "%1 is %n &%disjoint from %2") (format disjointRelation "%1 and %2 are %n &%disjoint") (format contraryProperty "%1 is %n &%opposed to %2") (format exhaustiveDecomposition "%1 is %n &%covered by %*{2-}[,]") (format disjointDecomposition "%1 is %n &%disjointly decomposed into %*{2-}[,]") (format partition "%1 is %n &%exhaustively partitioned into %*{2-}[,]") (format relatedInternalConcept "%1 is %n &%internally related to %2") ;relatedExternalConcept ;synonymousExternalConcept ;subsumingExternalConcept ;subsumedExternalConcept (format name "%1 has %n &%name %2") (format subAttribute "%1 is %n a &%subattribute of %2") (format successorAttribute "%1 is %n an immediate &%successor attribute of %2") (format successorAttributeClosure "%1 is %n a &%successor attribute of %2") (format entails "%1 %n{doesn't} &%entail%p{s} %2") (format holds "%1(%*{2-}[,]) %n{doesn't} &%hold%p{s}") ;;;;;;;;;;;;;;;;;; ; Functions (format DomainFn "&%domain of %1") (format RangeFn "&%range of %1") (format AssignmentFn "%1(%*{2-}[,])") (format PowerSetFn "all &%subclasses of %1") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; MEREOTOPOLOGY ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; ; Relations (format connected "%1 is %n &%conneced to %2") (format connects "%1 &%connects %2 and %3") (format meetsSpatially "%1 %n{doesn't} &%meet%p{s} %2") (format overlapsSpatially "%1 %n{doesn't} &%overlap%p{s} with %2") (format overlapsPartially "%1 %n{doesn't} partially &%overlap%p{s} with %2") (format superficialPart "%1 is %n a &%superficial part of %2") (format surface "%1 is %n a &%surface of %2") (format interiorPart "%1 is %n a &%interior part of %2") (format hole "%1 is %n a &%hole in %2") (format fills "%1 %n{doesn't} &%fill%p{s} %2") (format completelyFills "%1 %n{doesn't} &%completely fill%p{s} %2") (format partiallyFills "%1 %n{doesn't} &%partially fill%p{s} %2") (format properlyFills "%1 %n{doesn't} &%properly fill%p{s} %2") ;;;;;;;;;;;;;;;;;; ; Functions ;MereologicalSumFn ;MereologicalProductFn ;MereologicalDifferenceFn ;PrincipalHostFn ;SkinFn ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; TEMPORAL CONCEPTS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; ; Relations (format duration "&%duration of %1 is %n %2") ;frequency (format temporalPart "%1 is %n a &%part of %2'") (format starts "%1 %n{doesn't} &%start%p{s} %2") (format finishes "%1 %n{doesn't} &%finish%p{es} %2") (format before "%1 %n{doesn't} happen%p{s} &%before %2'") (format beforeOrEqual "%1 %n{doesn't} &%happen%{s} before or at %2") (format temporallyBetween "%2 is %n &%between %1 and %3") (format temporallyBetweenOrEqual "%2 is %n &%between or at %1 and %3") (format overlapsTemporally "%2 %n{doesn't} &%overlap%p{s} %1") (format during "%1 %n{doesn't} take%p{s} place &%during %2") (format meetsTemporally "%1 %n{doesn't} &%meet%p{s} %2") (format earlier "%1 %n{doesn't} happen%p{s} &%earlier than %2") (format cooccur "%1 %n{doesn't} &%occur%p{s} at the same time as %2") (format date "&%date of %1 is %n %2") ;;;;;;;;;;;;;;;;;; ; Functions (format TemporalCompositionFn "&%decomposition of %1 into %3 %2s") (format BeginFn "the &%beginning of %1'") (format EndFn "the &%end of %1'") (format TimeIntervalFn "&%interval between %1 and %2") (format WhenFn "the &%time when %1 exists") (format PastFn "&%before %1'") (format ImmediatePastFn "immediately &%before %1'") (format FutureFn "&%after %1'") (format ImmediateFutureFn "immediately &%after %1'") (format YearFn "%1 of %2") (format MonthFn "%1 of %2") (format DayFn "%1 of %2") (format HourFn "%1 of %2") (format MinuteFn "%1 of %2") (format SecondFn "%1 of %2") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; SET/CLASS THEORY ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; ; Relations (format subset "%1 is %n a &%subset of %2") (format element "%1 is %n an &%element of %2") ;;;;;;;;;;;;;;;;;; ; Functions ;UnionFn ;IntersectionFn ;RelativeComplementFn ;ComplementFn ;GeneralizedUnionFn ;GeneralizedIntersectionFn ;CardinalityFn ;KappaFn ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; OBJECTS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; ; Relations ;developmentalForm (format inhabits "%1 %n{doesn't} &%live%p{s} in %2") (format parent "%2 is %n a &%parent of %1") (format mother "%2 is %n a &%mother of %1") (format father "%2 is %n a &%father of %1") (format sibling "%1 is %n a &%sibling of %2") ;authors ;editor ;publishes (format version "%1 is %n a &%version of %2") ;engineeringSubcomponent ;connectedEngineeringComponents ;connectsEngineeringComponents ;familyRelation (format employs "%1 %n{doesn't} &%employ%p{s} %2") ;subOrganizations ;occupiesPosition ;citizen ;;;;;;;;;;;;;;;;;; ; Functions ;EditionFn ;SeriesVolumeFn ;PeriodicalIssueFn ;OrganizationFn ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; PROCESSES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; ; Relations (format subProcess "%1 is %n a &%subprocess of %2") (format path "%2 is %n &%path along with %1 occurs") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; QUALITIES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; ; Relations (format orientation "%1 is %n %3 to %2") ;direction (format birthTime "%1 is %n born at %2") (format deathTime "%1 %n{doesn't} die%p{s} at %2") ;modalProperty ;;;;;;;;;;;;;;;;;; ; Functions ;RelativeTimeFn ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; UNITS OF MEASURE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; ; Relations (format measure "the &%measure of %1 is %n %2") ;age (format length "the &%length of %1 is %n %2") ;width ;diameter ;height ;distance (format larger "%1 is %n &%larger than %2") ;smaller (format monetaryValue "&%value of %1 is %n %2") ;;;;;;;;;;;;;;;;;; ; Functions (format MeasureFn "%1 %2(s)") ;KiloFn ;MegaFn ;GigaFn ;TeraFn ;MilliFn ;MicroFn ;NanoFn ;PicoFn ;IntervalFn ;RecurrentTimeIntervalFn ;MagnitudeFn ;DensityFn ;SpeedFn ;VelocityFn (format WealthFn "&%value of belongings of %1") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; NUMERIC FUNCTIONS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; ; Relations (format identityElement "%2 is %n an &%identity element of %1") ;;;;;;;;;;;;;;;;;; ; Functions (format MultiplicationFn "%*[*]") (format AdditionFn "(%*[+])") (format SubtractionFn "(%*[-])") (format DivisionFn "%*[/]") ;AbsoluteValueFn ;ArcCosineFn ;ArcSineFn ;ArcTangentFn ;CeilingFn ;CosineFn ;DenominatorFn ;ExponentiationFn ;FloorFn ;GreatestCommonDivisorFn ;ImaginaryPartFn ;IntegerSquareRootFn ;LeastCommonMultipleFn ;LogFn ;MaxFn ;MinFn ;NumeratorFn ;RationalNumberFn ;RealNumberFn ;ReciprocalFn (format RemainderFn "%1 &%mod %2") ;RoundFn ;SignumFn ;SineFn ;SquareRootFn ;TangentFn ;IdentityFn (format SuccessorFn "(%1+1)") (format PredecessorFn "(%1+2)") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; GRAPH THEORY ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; ; Relations (format links "%3 %n{doesn't} &%link%p{s} %1 and %2") (format graphPart "%1 is %n a &%part of %2") (format subGraph "%1 is %n a &%subgraph of %2") (format pathLength "the &%length of %1 is %n %2") ;arcWeight ;;;;;;;;;;;;;;;;;; ; Functions ;InitialNodeFn ;TerminalNodeFn (format BeginNodeFn "the &%beginning of %1") (format EndNodeFn "the &%end of %1") ;PathWeightFn ;MinimalWeightedPathFn ;MaximalWeightedPathFn ;GraphPathFn ;CutSetFn ;MinimalCutSetFn