View unanswered posts | View active topics It is currently Fri Apr 20, 2018 2:20 pm



Reply to topic  [ 2 posts ] 
 Proto Templates 
Author Message

Joined: Sun Jan 22, 2012 9:14 pm
Posts: 189
Proto-templates are a very basic form of templates. They provide a layer of abstraction immediately
above the relational entity types of ISO 15926-2 by hiding the reified relationships of
ISO 15926-2.

Each proto-template is constructed of two First Order Logic axioms. The first axiom provides a short form for the
relational entity type. The proto-template predicate is called a proto-triple.
Code:
ApprovalTriple(x,y,z) <-> Approval(x) & hasApproved(x,y) & hasApprover(x,z) .
ApprovalTemplate(x,y) <-> exists z(ApprovalTriple(z,x,y)) .

ArrangementOfIndividualTriple(x,y,z) <-> ArrangementOfIndividual(x) & hasPart(x,y) & hasWhole(x,z) .
ArrangementOfIndividualTemplate(x,y) <-> exists z(ArrangementOfIndividualTriple(z,x,y)) .

AssemblyOfIndividualTriple(x,y,z) <-> AssemblyOfIndividual(x) & hasPart(x,y) & hasWhole(x,z) .
AssemblyOfIndividualTemplate(x,y) <-> exists z(AssemblyOfIndividualTriple(z,x,y)) .

BeginningTriple(x,y,z) <-> Beginning(x) & hasPart(x,y) & hasWhole(x,z) .
BeginningTemplate(x,y) <-> exists z(BeginningTriple(z,x,y)) .

BoundaryOfNumberSpaceTriple(x,y,z) <-> BoundaryOfNumberSpace(x) & hasSubclass(x,y) & hasSuperclass(x,z) .
BoundaryOfNumberSpaceTemplate(x,y) <-> exists z(BoundaryOfNumberSpaceTriple(z,x,y)) .

BoundaryOfPropertySpaceTriple(x,y,z) <-> BoundaryOfPropertySpace(x) & hasSubclass(x,y) & hasSuperclass(x,z) .
BoundaryOfPropertySpaceTemplate(x,y) <-> exists z(BoundaryOfPropertySpaceTriple(z,x,y)) .

CauseOfEventTriple(x,y,z) <-> CauseOfEvent(x) & hasCaused(x,y) & hasCauser(x,z) .
CauseOfEventTemplate(x,y) <-> exists z(CauseOfEventTriple(z,x,y)) .

ClassificationTriple(x,y,z) <-> Classification(x) & hasClassified(x,y) & hasClassifier(x,z) .
ClassificationTemplate(x,y) <-> exists z(ClassificationTriple(z,x,y)) .

ClassOfApprovalTriple(x,y,z) <-> ClassOfApproval(x) & hasClassOfApproved(x,y) & hasClassOfApprover(x,z) .
ClassOfApprovalTemplate(x,y) <-> exists z(ClassOfApprovalTriple(z,x,y)) .

ClassOfArrangementOfIndividualTriple(x,y,z) <-> ClassOfArrangementOfIndividual(x) & hasClassOfPart(x,y) & hasClassOfWhole(x,z) .
ClassOfArrangementOfIndividualTemplate(x,y) <-> exists z(ClassOfArrangementOfIndividualTriple(z,x,y)) .

ClassOfAssemblyOfIndividualTriple(x,y,z) <-> ClassOfAssemblyOfIndividual(x) & hasClassOfPart(x,y) & hasClassOfWhole(x,z) .
ClassOfAssemblyOfIndividualTemplate(x,y) <-> exists z(ClassOfAssemblyOfIndividualTriple(z,x,y)) .

ClassOfCauseOfBeginningOfClassOfIndividualTriple(x,y,z) <-> ClassOfCauseOfBeginningOfClassOfIndividual(x) & hasClassOfBegun(x,y) & hasClassOfCauser(x,z) .
ClassOfCauseOfBeginningOfClassOfIndividualTemplate(x,y) <-> exists z(ClassOfCauseOfBeginningOfClassOfIndividualTriple(z,x,y)) .

ClassOfCauseOfEndingOfClassOfIndividualTriple(x,y,z) <-> ClassOfCauseOfEndingOfClassOfIndividual(x) & hasClassOfCauser(x,y) & hasClassOfEnded(x,z) .
ClassOfCauseOfEndingOfClassOfIndividualTemplate(x,y) <-> exists z(ClassOfCauseOfEndingOfClassOfIndividualTriple(z,x,y)) .

ClassOfClassificationTriple(x,y,z) <-> ClassOfClassification(x) & hasClassOfClassified(x,y) & hasClassOfClassifier(x,z) .
ClassOfClassificationTemplate(x,y) <-> exists z(ClassOfClassificationTriple(z,x,y)) .

ClassOfClassOfCompositionTriple(x,y,z) <-> ClassOfClassOfComposition(x) & hasClassOfClassOfPart(x,y) & hasClassOfClassOfWhole(x,z) .
ClassOfClassOfCompositionTemplate(x,y) <-> exists z(ClassOfClassOfCompositionTriple(z,x,y)) .

ClassOfClassOfDefinitionTriple(x,y,z) <-> ClassOfClassOfDefinition(x) & hasClassOfPattern(x,y) & hasClassOfRepresented(x,z) .
ClassOfClassOfDefinitionTemplate(x,y) <-> exists z(ClassOfClassOfDefinitionTriple(z,x,y)) .

ClassOfClassOfDescriptionTriple(x,y,z) <-> ClassOfClassOfDescription(x) & hasClassOfPattern(x,y) & hasClassOfRepresented(x,z) .
ClassOfClassOfDescriptionTemplate(x,y) <-> exists z(ClassOfClassOfDescriptionTriple(z,x,y)) .

ClassOfClassOfIdentificationTriple(x,y,z) <-> ClassOfClassOfIdentification(x) & hasClassOfPattern(x,y) & hasClassOfRepresented(x,z) .
ClassOfClassOfIdentificationTemplate(x,y) <-> exists z(ClassOfClassOfIdentificationTriple(z,x,y)) .

ClassOfClassOfRelationshipWithSignatureTriple(x,y,z) <-> ClassOfClassOfRelationshipWithSignature(x) & hasClassOfEnd1(x,y) & hasClassOfEnd2(x,z) .
ClassOfClassOfRelationshipWithSignatureTemplate(x,y) <-> exists z(ClassOfClassOfRelationshipWithSignatureTriple(z,x,y)) .

ClassOfClassOfRepresentationTriple(x,y,z) <-> ClassOfClassOfRepresentation(x) & hasClassOfPattern(x,y) & hasClassOfRepresented(x,z) .
ClassOfClassOfRepresentationTemplate(x,y) <-> exists z(ClassOfClassOfRepresentationTriple(z,x,y)) .

ClassOfClassOfRepresentationTranslationTriple(x,y,z) <-> ClassOfClassOfRepresentationTranslation(x) & hasClassOfFirst(x,y) & hasClassOfSecond(x,z) .
ClassOfClassOfRepresentationTranslationTemplate(x,y) <-> exists z(ClassOfClassOfRepresentationTranslationTriple(z,x,y)) .

ClassOfClassOfResponsibilityForRepresentationTriple(x,y,z) <-> ClassOfClassOfResponsibilityForRepresentation(x) & hasClassOfClassOfControlled(x,y) & hasController(x,z) .
ClassOfClassOfResponsibilityForRepresentationTemplate(x,y) <-> exists z(ClassOfClassOfResponsibilityForRepresentationTriple(z,x,y)) .

ClassOfClassOfUsageOfRepresentationTriple(x,y,z) <-> ClassOfClassOfUsageOfRepresentation(x) & hasClassOfClassOfUsed(x,y) & hasUser(x,z) .
ClassOfClassOfUsageOfRepresentationTemplate(x,y) <-> exists z(ClassOfClassOfUsageOfRepresentationTriple(z,x,y)) .

ClassOfCompositionOfIndividualTriple(x,y,z) <-> ClassOfCompositionOfIndividual(x) & hasClassOfPart(x,y) & hasClassOfWhole(x,z) .
ClassOfCompositionOfIndividualTemplate(x,y) <-> exists z(ClassOfCompositionOfIndividualTriple(z,x,y)) .

ClassOfConnectionOfIndividualTriple(x,y,z) <-> ClassOfConnectionOfIndividual(x) & hasClassOfSide1(x,y) & hasClassOfSide2(x,z) .
ClassOfConnectionOfIndividualTemplate(x,y) <-> exists z(ClassOfConnectionOfIndividualTriple(z,x,y)) .

ClassOfContainmentOfIndividualTriple(x,y,z) <-> ClassOfContainmentOfIndividual(x) & hasClassOfLocated(x,y) & hasClassOfLocator(x,z) .
ClassOfContainmentOfIndividualTemplate(x,y) <-> exists z(ClassOfContainmentOfIndividualTriple(z,x,y)) .

ClassOfDefinitionTriple(x,y,z) <-> ClassOfDefinition(x) & hasPattern(x,y) & hasRepresented(x,z) .
ClassOfDefinitionTemplate(x,y) <-> exists z(ClassOfDefinitionTriple(z,x,y)) .

ClassOfDescriptionTriple(x,y,z) <-> ClassOfDescription(x) & hasPattern(x,y) & hasRepresented(x,z) .
ClassOfDescriptionTemplate(x,y) <-> exists z(ClassOfDescriptionTriple(z,x,y)) .

ClassOfDimensionForShapeTriple(x,y,z) <-> ClassOfDimensionForShape(x) & hasClassOfDimension(x,y) & hasClassOfShape(x,z) .
ClassOfDimensionForShapeTemplate(x,y) <-> exists z(ClassOfDimensionForShapeTriple(z,x,y)) .

ClassOfDirectConnectionTriple(x,y,z) <-> ClassOfDirectConnection(x) & hasClassOfSide1(x,y) & hasClassOfSide2(x,z) .
ClassOfDirectConnectionTemplate(x,y) <-> exists z(ClassOfDirectConnectionTriple(z,x,y)) .

ClassOfFeatureWholePartTriple(x,y,z) <-> ClassOfFeatureWholePart(x) & hasClassOfPart(x,y) & hasClassOfWhole(x,z) .
ClassOfFeatureWholePartTemplate(x,y) <-> exists z(ClassOfFeatureWholePartTriple(z,x,y)) .

ClassOfFunctionalMappingTriple(x,y,z) <-> ClassOfFunctionalMapping(x) & hasCodomain(x,y) & hasDomain(x,z) .
ClassOfFunctionalMappingTemplate(x,y) <-> exists z(ClassOfFunctionalMappingTriple(z,x,y)) .

ClassOfIdentificationTriple(x,y,z) <-> ClassOfIdentification(x) & hasPattern(x,y) & hasRepresented(x,z) .
ClassOfIdentificationTemplate(x,y) <-> exists z(ClassOfIdentificationTriple(z,x,y)) .

ClassOfIndirectConnectionTriple(x,y,z) <-> ClassOfIndirectConnection(x) & hasClassOfSide1(x,y) & hasClassOfSide2(x,z) .
ClassOfIndirectConnectionTemplate(x,y) <-> exists z(ClassOfIndirectConnectionTriple(z,x,y)) .

ClassOfIndirectPropertyTriple(x,y,z) <-> ClassOfIndirectProperty(x) & hasClassOfPossessor(x,y) & hasPropertySpace(x,z) .
ClassOfIndirectPropertyTemplate(x,y) <-> exists z(ClassOfIndirectPropertyTriple(z,x,y)) .

ClassOfIndividualUsedInConnectionTriple(x,y,z) <-> ClassOfIndividualUsedInConnection(x) & hasClassOfConnection(x,y) & hasClassOfUsage(x,z) .
ClassOfIndividualUsedInConnectionTemplate(x,y) <-> exists z(ClassOfIndividualUsedInConnectionTriple(z,x,y)) .

ClassOfIntendedRoleAndDomainTriple(x,y,z) <-> ClassOfIntendedRoleAndDomain(x) & hasClassOfPlayer(x,y) & hasPlayed(x,z) .
ClassOfIntendedRoleAndDomainTemplate(x,y) <-> exists z(ClassOfIntendedRoleAndDomainTriple(z,x,y)) .

ClassOfInvolvementByReferenceTriple(x,y,z) <-> ClassOfInvolvementByReference(x) & hasClassOfInvolved(x,y) & hasClassOfInvolver(x,z) .
ClassOfInvolvementByReferenceTemplate(x,y) <-> exists z(ClassOfInvolvementByReferenceTriple(z,x,y)) .

ClassOfIsomorphicFunctionalMappingTriple(x,y,z) <-> ClassOfIsomorphicFunctionalMapping(x) & hasCodomain(x,y) & hasDomain(x,z) .
ClassOfIsomorphicFunctionalMappingTemplate(x,y) <-> exists z(ClassOfIsomorphicFunctionalMappingTriple(z,x,y)) .

ClassOfLeftNamespaceTriple(x,y,z) <-> ClassOfLeftNamespace(x) & hasClassOfClassOfWhole(x,y) & hasClassOfPart(x,z) .
ClassOfLeftNamespaceTemplate(x,y) <-> exists z(ClassOfLeftNamespaceTriple(z,x,y)) .

ClassOfNamespaceTriple(x,y,z) <-> ClassOfNamespace(x) & hasClassOfClassOfWhole(x,y) & hasClassOfPart(x,z) .
ClassOfNamespaceTemplate(x,y) <-> exists z(ClassOfNamespaceTriple(z,x,y)) .

ClassOfParticipationTriple(x,y,z) <-> ClassOfParticipation(x) & hasClassOfPart(x,y) & hasClassOfWhole(x,z) .
ClassOfParticipationTemplate(x,y) <-> exists z(ClassOfParticipationTriple(z,x,y)) .

ClassOfPossibleRoleAndDomainTriple(x,y,z) <-> ClassOfPossibleRoleAndDomain(x) & hasClassOfPlayer(x,y) & hasPlayed(x,z) .
ClassOfPossibleRoleAndDomainTemplate(x,y) <-> exists z(ClassOfPossibleRoleAndDomainTriple(z,x,y)) .

ClassOfRecognitionTriple(x,y,z) <-> ClassOfRecognition(x) & hasClassOfRecognized(x,y) & hasClassOfRecognizing(x,z) .
ClassOfRecognitionTemplate(x,y) <-> exists z(ClassOfRecognitionTriple(z,x,y)) .

ClassOfRelationshipTriple(x,y,z) <-> ClassOfRelationship(x) & hasEnd1Cardinality(x,y) & hasEnd2Cardinality(x,z) .
ClassOfRelationshipTemplate(x,y) <-> exists z(ClassOfRelationshipTriple(z,x,y)) .

ClassOfRelationshipWithSignatureTriple(x,y,z) <-> ClassOfRelationshipWithSignature(x) & hasClassOfEnd1(x,y) & hasClassOfEnd2(x,z) .
ClassOfRelationshipWithSignatureTemplate(x,y) <-> exists z(ClassOfRelationshipWithSignatureTriple(z,x,y)) .

ClassOfRelativeLocationTriple(x,y,z) <-> ClassOfRelativeLocation(x) & hasClassOfLocated(x,y) & hasClassOfLocator(x,z) .
ClassOfRelativeLocationTemplate(x,y) <-> exists z(ClassOfRelativeLocationTriple(z,x,y)) .

ClassOfRepresentationOfThingTriple(x,y,z) <-> ClassOfRepresentationOfThing(x) & hasPattern(x,y) & hasRepresented(x,z) .
ClassOfRepresentationOfThingTemplate(x,y) <-> exists z(ClassOfRepresentationOfThingTriple(z,x,y)) .

ClassOfRepresentationTranslationTriple(x,y,z) <-> ClassOfRepresentationTranslation(x) & hasClassOfFirst(x,y) & hasClassOfSecond(x,z) .
ClassOfRepresentationTranslationTemplate(x,y) <-> exists z(ClassOfRepresentationTranslationTriple(z,x,y)) .

ClassOfResponsibilityForRepresentationTriple(x,y,z) <-> ClassOfResponsibilityForRepresentation(x) & hasClassOfControlled(x,y) & hasController(x,z) .
ClassOfResponsibilityForRepresentationTemplate(x,y) <-> exists z(ClassOfResponsibilityForRepresentationTriple(z,x,y)) .

ClassOfRightNamespaceTriple(x,y,z) <-> ClassOfRightNamespace(x) & hasClassOfClassOfWhole(x,y) & hasClassOfPart(x,z) .
ClassOfRightNamespaceTemplate(x,y) <-> exists z(ClassOfRightNamespaceTriple(z,x,y)) .

ClassOfScaleConversionTriple(x,y,z) <-> ClassOfScaleConversion(x) & hasCodomain(x,y) & hasDomain(x,z) .
ClassOfScaleConversionTemplate(x,y) <-> exists z(ClassOfScaleConversionTriple(z,x,y)) .

ClassOfSpecializationTriple(x,y,z) <-> ClassOfSpecialization(x) & hasClassOfSubclass(x,y) & hasClassOfSuperclass(x,z) .
ClassOfSpecializationTemplate(x,y) <-> exists z(ClassOfSpecializationTriple(z,x,y)) .

ClassOfTemporalSequenceTriple(x,y,z) <-> ClassOfTemporalSequence(x) & hasClassOfPredecessor(x,y) & hasClassOfSuccessor(x,z) .
ClassOfTemporalSequenceTemplate(x,y) <-> exists z(ClassOfTemporalSequenceTriple(z,x,y)) .

ClassOfTemporalWholePartTriple(x,y,z) <-> ClassOfTemporalWholePart(x) & hasClassOfPart(x,y) & hasClassOfWhole(x,z) .
ClassOfTemporalWholePartTemplate(x,y) <-> exists z(ClassOfTemporalWholePartTriple(z,x,y)) .

ClassOfUsageOfRepresentationTriple(x,y,z) <-> ClassOfUsageOfRepresentation(x) & hasClassOfUsed(x,y) & hasUser(x,z) .
ClassOfUsageOfRepresentationTemplate(x,y) <-> exists z(ClassOfUsageOfRepresentationTriple(z,x,y)) .

ComparisonOfPropertyTriple(x,y,z) <-> ComparisonOfProperty(x) & hasGreaterElement(x,y) & hasLesserElement(x,z) .
ComparisonOfPropertyTemplate(x,y) <-> exists z(ComparisonOfPropertyTriple(z,x,y)) .

CompositionOfIndividualTriple(x,y,z) <-> CompositionOfIndividual(x) & hasPart(x,y) & hasWhole(x,z) .
CompositionOfIndividualTemplate(x,y) <-> exists z(CompositionOfIndividualTriple(z,x,y)) .

ConnectionOfIndividualTriple(x,y,z) <-> ConnectionOfIndividual(x) & hasSide1(x,y) & hasSide2(x,z) .
ConnectionOfIndividualTemplate(x,y) <-> exists z(ConnectionOfIndividualTriple(z,x,y)) .

ContainmentOfIndividualTriple(x,y,z) <-> ContainmentOfIndividual(x) & hasLocated(x,y) & hasLocator(x,z) .
ContainmentOfIndividualTemplate(x,y) <-> exists z(ContainmentOfIndividualTriple(z,x,y)) .

CoordinateSystemTriple(x,y,z) <-> CoordinateSystem(x) & hasCodomain(x,y) & hasDomain(x,z) .
CoordinateSystemTemplate(x,y) <-> exists z(CoordinateSystemTriple(z,x,y)) .

DefinitionTriple(x,y,z) <-> Definition(x) & hasRepresented(x,y) & hasSign(x,z) .
DefinitionTemplate(x,y) <-> exists z(DefinitionTriple(z,x,y)) .

DescriptionTriple(x,y,z) <-> Description(x) & hasRepresented(x,y) & hasSign(x,z) .
DescriptionTemplate(x,y) <-> exists z(DescriptionTriple(z,x,y)) .

DifferenceOfSetOfClassTriple(x,y,z) <-> DifferenceOfSetOfClass(x) & hasInput(x,y) & hasResult(x,z) .
DifferenceOfSetOfClassTemplate(x,y) <-> exists z(DifferenceOfSetOfClassTriple(z,x,y)) .

DimensionOfIndividualTriple(x,y,z) <-> DimensionOfIndividual(x) & hasIndividual(x,y) & hasIndividualDimension(x,z) .
DimensionOfIndividualTemplate(x,y) <-> exists z(DimensionOfIndividualTriple(z,x,y)) .

DimensionOfShapeTriple(x,y,z) <-> DimensionOfShape(x) & hasDimension(x,y) & hasShape(x,z) .
DimensionOfShapeTemplate(x,y) <-> exists z(DimensionOfShapeTriple(z,x,y)) .

DirectConnectionTriple(x,y,z) <-> DirectConnection(x) & hasSide1(x,y) & hasSide2(x,z) .
DirectConnectionTemplate(x,y) <-> exists z(DirectConnectionTriple(z,x,y)) .

EndingTriple(x,y,z) <-> Ending(x) & hasPart(x,y) & hasWhole(x,z) .
EndingTemplate(x,y) <-> exists z(EndingTriple(z,x,y)) .

FeatureWholePartTriple(x,y,z) <-> FeatureWholePart(x) & hasPart(x,y) & hasWhole(x,z) .
FeatureWholePartTemplate(x,y) <-> exists z(FeatureWholePartTriple(z,x,y)) .

FunctionalMappingTriple(x,y,z) <-> FunctionalMapping(x) & hasInput(x,y) & hasResult(x,z) .
FunctionalMappingTemplate(x,y) <-> exists z(FunctionalMappingTriple(z,x,y)) .

IdentificationTriple(x,y,z) <-> Identification(x) & hasRepresented(x,y) & hasSign(x,z) .
IdentificationTemplate(x,y) <-> exists z(IdentificationTriple(z,x,y)) .

IndirectConnectionTriple(x,y,z) <-> IndirectConnection(x) & hasSide1(x,y) & hasSide2(x,z) .
IndirectConnectionTemplate(x,y) <-> exists z(IndirectConnectionTriple(z,x,y)) .

IndirectPropertyTriple(x,y,z) <-> IndirectProperty(x) & hasPossessor(x,y) & hasProperty(x,z) .
IndirectPropertyTemplate(x,y) <-> exists z(IndirectPropertyTriple(z,x,y)) .

IndividualUsedInConnectionTriple(x,y,z) <-> IndividualUsedInConnection(x) & hasConnection(x,y) & hasUsage(x,z) .
IndividualUsedInConnectionTemplate(x,y) <-> exists z(IndividualUsedInConnectionTriple(z,x,y)) .

IntendedRoleAndDomainTriple(x,y,z) <-> IntendedRoleAndDomain(x) & hasPlayed(x,y) & hasPlayer(x,z) .
IntendedRoleAndDomainTemplate(x,y) <-> exists z(IntendedRoleAndDomainTriple(z,x,y)) .

IntersectionOfSetOfClassTriple(x,y,z) <-> IntersectionOfSetOfClass(x) & hasInput(x,y) & hasResult(x,z) .
IntersectionOfSetOfClassTemplate(x,y) <-> exists z(IntersectionOfSetOfClassTriple(z,x,y)) .

InvolvementByReferenceTriple(x,y,z) <-> InvolvementByReference(x) & hasInvolved(x,y) & hasInvolver(x,z) .
InvolvementByReferenceTemplate(x,y) <-> exists z(InvolvementByReferenceTriple(z,x,y)) .

LeftNamespaceTriple(x,y,z) <-> LeftNamespace(x) & hasClassOfPart(x,y) & hasClassOfWhole(x,z) .
LeftNamespaceTemplate(x,y) <-> exists z(LeftNamespaceTriple(z,x,y)) .

LifecycleStageTriple(x,y,z) <-> LifecycleStage(x) & hasInterest(x,y) & hasInterested(x,z) .
LifecycleStageTemplate(x,y) <-> exists z(LifecycleStageTriple(z,x,y)) .

LowerBoundOfNumberRangeTriple(x,y,z) <-> LowerBoundOfNumberRange(x) & hasClassified(x,y) & hasClassifier(x,z) .
LowerBoundOfNumberRangeTemplate(x,y) <-> exists z(LowerBoundOfNumberRangeTriple(z,x,y)) .

LowerBoundOfPropertyRangeTriple(x,y,z) <-> LowerBoundOfPropertyRange(x) & hasClassified(x,y) & hasClassifier(x,z) .
LowerBoundOfPropertyRangeTemplate(x,y) <-> exists z(LowerBoundOfPropertyRangeTriple(z,x,y)) .

MultidimensionalScaleTriple(x,y,z) <-> MultidimensionalScale(x) & hasCodomain(x,y) & hasDomain(x,z) .
MultidimensionalScaleTemplate(x,y) <-> exists z(MultidimensionalScaleTriple(z,x,y)) .

NamespaceTriple(x,y,z) <-> Namespace(x) & hasClassOfPart(x,y) & hasClassOfWhole(x,z) .
NamespaceTemplate(x,y) <-> exists z(NamespaceTriple(z,x,y)) .

OtherRelationshipTriple(x,y,z) <-> OtherRelationship(x) & hasEnd1(x,y) & hasEnd2(x,z) .
OtherRelationshipTemplate(x,y) <-> exists z(OtherRelationshipTriple(z,x,y)) .

ParticipationTriple(x,y,z) <-> Participation(x) & hasPart(x,y) & hasWhole(x,z) .
ParticipationTemplate(x,y) <-> exists z(ParticipationTriple(z,x,y)) .

PossibleRoleAndDomainTriple(x,y,z) <-> PossibleRoleAndDomain(x) & hasPlayed(x,y) & hasPlayer(x,z) .
PossibleRoleAndDomainTemplate(x,y) <-> exists z(PossibleRoleAndDomainTriple(z,x,y)) .

PropertyForShapeDimensionTriple(x,y,z) <-> PropertyForShapeDimension(x) & hasProperty(x,y) & hasShapeDimension(x,z) .
PropertyForShapeDimensionTemplate(x,y) <-> exists z(PropertyForShapeDimensionTriple(z,x,y)) .

PropertyQuantificationTriple(x,y,z) <-> PropertyQuantification(x) & hasInput(x,y) & hasResult(x,z) .
PropertyQuantificationTemplate(x,y) <-> exists z(PropertyQuantificationTriple(z,x,y)) .

PropertySpaceForClassOfShapeDimensionTriple(x,y,z) <-> PropertySpaceForClassOfShapeDimension(x) & hasClassOfShapeDimension(x,y) & hasPropertySpace(x,z) .
PropertySpaceForClassOfShapeDimensionTemplate(x,y) <-> exists z(PropertySpaceForClassOfShapeDimensionTriple(z,x,y)) .

RecognitionTriple(x,y,z) <-> Recognition(x) & hasRecognized(x,y) & hasRecognizing(x,z) .
RecognitionTemplate(x,y) <-> exists z(RecognitionTriple(z,x,y)) .

RelativeLocationTriple(x,y,z) <-> RelativeLocation(x) & hasLocated(x,y) & hasLocator(x,z) .
RelativeLocationTemplate(x,y) <-> exists z(RelativeLocationTriple(z,x,y)) .

RepresentationOfThingTriple(x,y,z) <-> RepresentationOfThing(x) & hasRepresented(x,y) & hasSign(x,z) .
RepresentationOfThingTemplate(x,y) <-> exists z(RepresentationOfThingTriple(z,x,y)) .

ResponsibilityForRepresentationTriple(x,y,z) <-> ResponsibilityForRepresentation(x) & hasControlled(x,y) & hasController(x,z) .
ResponsibilityForRepresentationTemplate(x,y) <-> exists z(ResponsibilityForRepresentationTriple(z,x,y)) .

RightNamespaceTriple(x,y,z) <-> RightNamespace(x) & hasClassOfPart(x,y) & hasClassOfWhole(x,z) .
RightNamespaceTemplate(x,y) <-> exists z(RightNamespaceTriple(z,x,y)) .

ScaleTriple(x,y,z) <-> Scale(x) & hasCodomain(x,y) & hasDomain(x,z) .
ScaleTemplate(x,y) <-> exists z(ScaleTriple(z,x,y)) .

SpecializationTriple(x,y,z) <-> Specialization(x) & hasSubclass(x,y) & hasSuperclass(x,z) .
SpecializationTemplate(x,y) <-> exists z(SpecializationTriple(z,x,y)) .

SpecializationByDomainTriple(x,y,z) <-> SpecializationByDomain(x) & hasSubclass(x,y) & hasSuperclass(x,z) .
SpecializationByDomainTemplate(x,y) <-> exists z(SpecializationByDomainTriple(z,x,y)) .

SpecializationByRoleTriple(x,y,z) <-> SpecializationByRole(x) & hasSubclass(x,y) & hasSuperclass(x,z) .
SpecializationByRoleTemplate(x,y) <-> exists z(SpecializationByRoleTriple(z,x,y)) .

SpecializationOfIndividualDimensionFromPropertyTriple(x,y,z) <-> SpecializationOfIndividualDimensionFromProperty(x) & hasSubclass(x,y) & hasSuperclass(x,z) .
SpecializationOfIndividualDimensionFromPropertyTemplate(x,y) <-> exists z(SpecializationOfIndividualDimensionFromPropertyTriple(z,x,y)) .

TemporalBoundingTriple(x,y,z) <-> TemporalBounding(x) & hasPart(x,y) & hasWhole(x,z) .
TemporalBoundingTemplate(x,y) <-> exists z(TemporalBoundingTriple(z,x,y)) .

TemporalSequenceTriple(x,y,z) <-> TemporalSequence(x) & hasPredecessor(x,y) & hasSuccessor(x,z) .
TemporalSequenceTemplate(x,y) <-> exists z(TemporalSequenceTriple(z,x,y)) .

TemporalWholePartTriple(x,y,z) <-> TemporalWholePart(x) & hasPart(x,y) & hasWhole(x,z) .
TemporalWholePartTemplate(x,y) <-> exists z(TemporalWholePartTriple(z,x,y)) .

UnionOfSetOfClassTriple(x,y,z) <-> UnionOfSetOfClass(x) & hasInput(x,y) & hasResult(x,z) .
UnionOfSetOfClassTemplate(x,y) <-> exists z(UnionOfSetOfClassTriple(z,x,y)) .

UpperBoundOfNumberRangeTriple(x,y,z) <-> UpperBoundOfNumberRange(x) & hasClassified(x,y) & hasClassifier(x,z) .
UpperBoundOfNumberRangeTemplate(x,y) <-> exists z(UpperBoundOfNumberRangeTriple(z,x,y)) .

UpperBoundOfPropertyRangeTriple(x,y,z) <-> UpperBoundOfPropertyRange(x) & hasClassified(x,y) & hasClassifier(x,z) .
UpperBoundOfPropertyRangeTemplate(x,y) <-> exists z(UpperBoundOfPropertyRangeTriple(z,x,y)) .

UsageOfRepresentationTriple(x,y,z) <-> UsageOfRepresentation(x) & hasUsed(x,y) & hasUser(x,z) .
UsageOfRepresentationTemplate(x,y) <-> exists z(UsageOfRepresentationTriple(z,x,y)) .

entityTriple(x,y,z) <-> (ApprovalTriple(x,y,z) | ArrangementOfIndividualTriple(x,y,z) | AssemblyOfIndividualTriple(x,y,z) | BeginningTriple(x,y,z) | BoundaryOfNumberSpaceTriple(x,y,z) | BoundaryOfPropertySpaceTriple(x,y,z) | CauseOfEventTriple(x,y,z) | ClassificationTriple(x,y,z) | ClassOfApprovalTriple(x,y,z) | ClassOfArrangementOfIndividualTriple(x,y,z) | ClassOfAssemblyOfIndividualTriple(x,y,z) | ClassOfCauseOfBeginningOfClassOfIndividualTriple(x,y,z) | ClassOfCauseOfEndingOfClassOfIndividualTriple(x,y,z) | ClassOfClassificationTriple(x,y,z) | ClassOfClassOfCompositionTriple(x,y,z) | ClassOfClassOfDefinitionTriple(x,y,z) | ClassOfClassOfDescriptionTriple(x,y,z) | ClassOfClassOfIdentificationTriple(x,y,z) | ClassOfClassOfRelationshipWithSignatureTriple(x,y,z) | ClassOfClassOfRepresentationTriple(x,y,z) | ClassOfClassOfRepresentationTranslationTriple(x,y,z) | ClassOfClassOfResponsibilityForRepresentationTriple(x,y,z) | ClassOfClassOfUsageOfRepresentationTriple(x,y,z) | ClassOfCompositionOfIndividualTriple(x,y,z) | ClassOfConnectionOfIndividualTriple(x,y,z) | ClassOfContainmentOfIndividualTriple(x,y,z) | ClassOfDefinitionTriple(x,y,z) | ClassOfDescriptionTriple(x,y,z) | ClassOfDimensionForShapeTriple(x,y,z) | ClassOfDirectConnectionTriple(x,y,z) | ClassOfFeatureWholePartTriple(x,y,z) | ClassOfFunctionalMappingTriple(x,y,z) | ClassOfIdentificationTriple(x,y,z) | ClassOfIndirectConnectionTriple(x,y,z) | ClassOfIndirectPropertyTriple(x,y,z) | ClassOfIndividualUsedInConnectionTriple(x,y,z) | ClassOfIntendedRoleAndDomainTriple(x,y,z) | ClassOfInvolvementByReferenceTriple(x,y,z) | ClassOfIsomorphicFunctionalMappingTriple(x,y,z) | ClassOfLeftNamespaceTriple(x,y,z) | ClassOfNamespaceTriple(x,y,z) | ClassOfParticipationTriple(x,y,z) | ClassOfPossibleRoleAndDomainTriple(x,y,z) | ClassOfRecognitionTriple(x,y,z) | ClassOfRelationshipTriple(x,y,z) | ClassOfRelationshipWithSignatureTriple(x,y,z) | ClassOfRelativeLocationTriple(x,y,z) | ClassOfRepresentationOfThingTriple(x,y,z) | ClassOfRepresentationTranslationTriple(x,y,z) | ClassOfResponsibilityForRepresentationTriple(x,y,z) | ClassOfRightNamespaceTriple(x,y,z) | ClassOfScaleConversionTriple(x,y,z) | ClassOfSpecializationTriple(x,y,z) | ClassOfTemporalSequenceTriple(x,y,z) | ClassOfTemporalWholePartTriple(x,y,z) | ClassOfUsageOfRepresentationTriple(x,y,z) | ComparisonOfPropertyTriple(x,y,z) | CompositionOfIndividualTriple(x,y,z) | ConnectionOfIndividualTriple(x,y,z) | ContainmentOfIndividualTriple(x,y,z) | CoordinateSystemTriple(x,y,z) | DefinitionTriple(x,y,z) | DescriptionTriple(x,y,z) | DifferenceOfSetOfClassTriple(x,y,z) | DimensionOfIndividualTriple(x,y,z) | DimensionOfShapeTriple(x,y,z) | DirectConnectionTriple(x,y,z) | EndingTriple(x,y,z) | FeatureWholePartTriple(x,y,z) | FunctionalMappingTriple(x,y,z) | IdentificationTriple(x,y,z) | IndirectConnectionTriple(x,y,z) | IndirectPropertyTriple(x,y,z) | IndividualUsedInConnectionTriple(x,y,z) | IntendedRoleAndDomainTriple(x,y,z) | IntersectionOfSetOfClassTriple(x,y,z) | InvolvementByReferenceTriple(x,y,z) | LeftNamespaceTriple(x,y,z) | LifecycleStageTriple(x,y,z) | LowerBoundOfNumberRangeTriple(x,y,z) | LowerBoundOfPropertyRangeTriple(x,y,z) | MultidimensionalScaleTriple(x,y,z) | NamespaceTriple(x,y,z) | OtherRelationshipTriple(x,y,z) | ParticipationTriple(x,y,z) | PossibleRoleAndDomainTriple(x,y,z) | PropertyForShapeDimensionTriple(x,y,z) | PropertyQuantificationTriple(x,y,z) | PropertySpaceForClassOfShapeDimensionTriple(x,y,z) | RecognitionTriple(x,y,z) | RelativeLocationTriple(x,y,z) | RepresentationOfThingTriple(x,y,z) | ResponsibilityForRepresentationTriple(x,y,z) | RightNamespaceTriple(x,y,z) | ScaleTriple(x,y,z) | SpecializationTriple(x,y,z) | SpecializationByDomainTriple(x,y,z) | SpecializationByRoleTriple(x,y,z) | SpecializationOfIndividualDimensionFromPropertyTriple(x,y,z) | TemporalBoundingTriple(x,y,z) | TemporalSequenceTriple(x,y,z) | TemporalWholePartTriple(x,y,z) | UnionOfSetOfClassTriple(x,y,z) | UpperBoundOfNumberRangeTriple(x,y,z) | UpperBoundOfPropertyRangeTriple(x,y,z) | UsageOfRepresentationTriple(x,y,z)) .



Thu Aug 30, 2012 7:43 am
Profile

Joined: Sun Jan 22, 2012 10:02 pm
Posts: 283
Some explanation <<<UPDATED!!!!>>>

Take the first one:

ApprovalTriple(x,y,z) <-> Approval(x) & hasApproved(x,y) & hasApprover(x,z) .
ApprovalTemplate(x,y) <-> exists z(ApprovalTriple(z,x,y)) .

The logic symbol <-> means that both sides are equivalent: A <-> B is true just in case either both A and B' (not B) are false, or both A and B are true.

exists replaces the symbol because symbols like this sometimes cause presentation problems. ∃ z: P(z) means there is at least one z such that P(z) is true. (in Part 8 this is written as exists z(P(z))

Why is this? Because in "native" OWL there are no relationships that have their own identity, like Relationship in ISO 15926-2. In native OWL we only work with subclasses of rdf:Property: owl:ObjectProperty, owl:DatatypeProperty, and owl:AnnotationProperty. RDF Properties cannot be addressed, unless a trick, called "reification" is applied. However, RDF reification is not suitable (see http://en.wikipedia.org/wiki/Reification_%28computer_science%29).

A Prototemplate provides the means to "dissect" a Part 2 Relationship, that is "reified" from an OWL point of view, into parts that can, after conversion to OWL, be handled in native OWL without losing expressivity.

ApprovalTriple(x,y,z) is semantically the same as Part 2 Approval, one of the Part 2 subtypes of Relationship:

Code:
ENTITY approval
   SUBTYPE OF (relationship);
   approved : relationship;     [NOTE that the rdf:object of this rdf:Property is again a relationship!!]
   approver : possible_individual;
END_ENTITY;


When it is being used in a FOL statement, it can be "expanded" into: Approval(x) & hasApproved(x,y) & hasApprover(x,z), so the Relationship x as a subtype of Part 2 Thing, and its two attributes as owl:ObjectProperty's with x as the rdf:subject.

Since a Relationship hasn't always to be addressed, there is also something in between: (here) ApprovalTemplate(y,z), that can be expanded via:
exists x(ApprovalTriple(x,y,z)) .

NOTE:
I changed the notation somewhat in order to make the link between both axioms a bit clearer; an expander has no problem with the prototemplates as they are


exists x(ApprovalTriple(x,y,z)) means: There is at least one x such that ApprovalTriple(x,y,z) is true. Then we go to the first axiom to find that ApprovalTriple(x,y,z) is equivalent with Approval(x) & hasApproved(x,y) & hasApprover(x,z) . (the dot at the end is mandatory).

When you click 'Online tools' and then 'Template specs list' you can see how this is being used in FOL (First-Order Logic) listing in each template specification. Example:

Code:
PropertyRangeOfClassOfIndividual(x1, x2, x3, x4, x5, x6, x7) <->
ClassOfIndividual(x1) &
ClassOfIndividual(x2) &
ClassOfProperty(x3) &
Property(x4) &
Property(x5) &
Cardinality(x7) &
end1Cardinality(x6, x7) &
[b]SpecializationTemplate(x2, x1)[/b] &
exists u(PropertyRange(u) &
           [b]ClassOfClassificationTriple(x6, x2, u) &
           SpecializationTemplate(u, x3) &
           LowerBoundOfPropertyRangeTemplate(x4, u) &
           UpperBoundOfPropertyRangeTemplate(x5, u))[/b] .

This describes the following graph:

Image

that also can be found in the applicable template specification http://www.15926.org/templatespecs/CL-COPTY-04.xml

Putting this FOL listing in the Template Expander gives:
Code:
  ClassOfIndividual(x1)
& ClassOfIndividual(x2)
& ClassOfProperty(x3)
& Property(x4)
& Property(x5)
& Cardinality(x7)
& end1Cardinality(x6, x7)
& exists z (Specialization(z) & hasSubclass(z, x2) & hasSuperclass(z, x1))
& exists u(PropertyRange(u)
      & (ClassOfClassification(x6)
         & hasClassOfClassified(x6, x2)
         & hasClassOfClassifier(x6, u))
      & exists z (Specialization(z) & hasSubclass(z, u) & hasSuperclass(z, x3))
      & exists z
           (  LowerBoundOfPropertyRange(z)
            & hasClassified(z, x4)
            & hasClassifier(z, u))
      & exists z
           (  UpperBoundOfPropertyRange(z)
            & hasClassified(z, x5)
            & hasClassifier(z, u)))

It can be seen that the two instances of SpecializationTemplate, the ClassOfClassificationTriple, the LowerBoundOfPropertyRange, and the UpperBoundOfPropertyRange have been expanded.

NOTE TO VICTOR: I have deleted the exchange between us that followed this posting, because it was about a mistake I made and that mistake I have corrected here. I hope you agree.


Thu Aug 30, 2012 8:58 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 2 posts ] 

Who is online

Users browsing this forum: Bing [Bot] and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
eXTReMe Tracker
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.