Skip to content

Topological aspects

2 mutually separated objects aspect

Two separated objects.
@prefix : <http://odp.aspectowl.xyz/aspect/topological/0.1#> .
@prefix aspect-owl: <http://ontology.aspectowl.xyz/0.6#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix o-owl-re: <http://tpl.ottr.xyz/owl/restriction/0.1/> .
@prefix o-owl-ax: <http://tpl.ottr.xyz/owl/axiom/0.1/> .
@prefix o-rdf: <http://tpl.ottr.xyz/rdf/0.1/> .
:2-SeparateAspect [ ! owl:Class ?Object1Class, ! owl:Class ?Object2Class, ! owl:ObjectProperty ?TopoSpaceRelation ] :: {
  o-rdf:Type(?Object1Class, owl:Class),
  o-rdf:Type(?Object2Class, owl:Class),
  o-owl-ax:SubClassOf(?Object1Class, aspect-owl:TopologicalAspect),
  o-owl-ax:SubClassOf(?Object2Class, aspect-owl:TopologicalAspect),
  o-rdf:Type(?TopoSpaceRelation , owl:ObjectProperty),

  o-owl-re:SomeValuesFrom(_:exp1, ?TopoSpaceRelation, ?Object1Class),
  o-owl-re:SomeValuesFrom(_:exp2, ?TopoSpaceRelation, ?Object2Class),

  o-owl-ax:DisjointClasses((_:exp1, _:exp2))
} .

Coming soon. 🚧

n mutually separated objects aspect

The generalization of the 2 mutually separated objects aspect.

@prefix : <http://odp.aspectowl.xyz/aspect/topological/0.1#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix o-owl-re: <http://tpl.ottr.xyz/owl/restriction/0.1/> .
:n-SeparateAspect [ ! NEList<owl:Class> ?ObjectClasses, ! owl:ObjectProperty ?TopoSpaceRelation ] :: {
  cross | o-rdf:Type(++?ObjectClasses, owl:Class),
  cross | o-owl-ax:SubClassOf(++?ObjectClasses, aspect-owl:TopologicalAspect),
  o-rdf:Type(?TopoSpaceRelation , owl:ObjectProperty),
  o-owl-re:ObjectIntersectionOf(_:intersection, ?ObjectClasses),
  o-owl-re:SomeValuesFrom(_:restriction, ?TopoSpaceRelation, _:intersection),
  o-owl-ax:SubClassOf(_:restriction, owl:Nothing)
} .

Coming soon. 🚧

2 objects touching wihtout overlap aspect

Two objects touching at their borders.
@prefix : <http://odp.aspectowl.xyz/aspect/topological/0.1#> .
@prefix aspect-owl: <http://ontology.aspectowl.xyz/0.6#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix o-owl-re: <http://tpl.ottr.xyz/owl/restriction/0.1/> .
@prefix o-owl-ax: <http://tpl.ottr.xyz/owl/axiom/0.1/> .
@prefix o-rdf: <http://tpl.ottr.xyz/rdf/0.1/> .
:2-TouchingAspect [ ! owl:Class ?Object1Class, ! owl:Class ?Object2Class, ! owl:ObjectProperty ?TopoSpaceRelation ] :: {
  o-rdf:Type(?Object1Class, owl:Class),
  o-rdf:Type(?Object2Class, owl:Class),
  o-owl-ax:SubClassOf(?Object1Class, aspect-owl:TopologicalAspect),
  o-owl-ax:SubClassOf(?Object2Class, aspect-owl:TopologicalAspect),
  o-rdf:Type(?TopoSpaceRelation , owl:ObjectProperty),
  o-owl-re:AllValuesFrom(_:interior1, ?TopoSpaceRelation, ?Object1Class),
  o-owl-re:AllValuesFrom(_:interior2, ?TopoSpaceRelation, ?Object2Class),
  o-owl-ax:DisjointClasses((_:interior1, _:interior2)),
  o-owl-re:SomeValuesFrom(_:interior_border1, ?TopoSpaceRelation, ?Object1Class),
  o-owl-re:SomeValuesFrom(_:interior_border2, ?TopoSpaceRelation, ?Object2Class),
  o-owl-re:ObjectIntersectionOf(_:border_intersection, (_:interior_border1, _:interior_border2)),
  o-rdf:Type(_:intersectionInstance , _:border_intersection)
} .

Coming soon. 🚧

object inclusion aspect

One object including the other.
@prefix : <http://odp.aspectowl.xyz/aspect/topological/0.1#> .
@prefix aspect-owl: <http://ontology.aspectowl.xyz/0.6#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix swrl:  <http://www.w3.org/2003/11/swrl#> .
@prefix ottr:  <http://ns.ottr.xyz/0.4/> .
@prefix o-owl-re: <http://tpl.ottr.xyz/owl/restriction/0.1/> .
@prefix o-owl-ax: <http://tpl.ottr.xyz/owl/axiom/0.1/> .
@prefix o-rdf: <http://tpl.ottr.xyz/rdf/0.1/> .
:2-InclusionAspect [ ! owl:Class ?Object1Class, ! owl:Class ?Object2Class, ! owl:ObjectProperty ?TopoSpaceRelation ] :: {
  o-rdf:Type(?Object1Class, owl:Class),
  o-rdf:Type(?Object2Class, owl:Class),
  o-owl-ax:SubClassOf(?Object1Class, aspect-owl:TopologicalAspect),
  o-owl-ax:SubClassOf(?Object2Class, aspect-owl:TopologicalAspect),
  o-rdf:Type(?TopoSpaceRelation , owl:ObjectProperty),

  o-owl-re:AllValuesFrom(_:exp1, ?TopoSpaceRelation, ?Object1Class),
  o-owl-re:AllValuesFrom(_:exp2, ?TopoSpaceRelation, ?Object2Class),
  o-owl-ax:SubClassOf(_:exp2, _:exp1)
} .

Coming soon. 🚧

proper object inclusion aspect

Similar to the object inclusion aspect but with proper inclusion.

@prefix : <http://odp.aspectowl.xyz/aspect/topological/0.1#> .
@prefix aspect-owl: <http://ontology.aspectowl.xyz/0.6#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix ottr:  <http://ns.ottr.xyz/0.4/> .
@prefix o-owl-re: <http://tpl.ottr.xyz/owl/restriction/0.1/> .
@prefix o-owl-ax: <http://tpl.ottr.xyz/owl/axiom/0.1/> .
@prefix o-rdf: <http://tpl.ottr.xyz/rdf/0.1/> .
:2-ProperInclusionAspect [ ! owl:Class ?Object1Class, ! owl:Class ?Object2Class, ! owl:ObjectProperty ?TopoSpaceRelation ] :: {
  o-rdf:Type(?Object1Class, owl:Class),
  o-rdf:Type(?Object2Class, owl:Class),
  o-owl-ax:SubClassOf(?Object1Class, aspect-owl:TopologicalAspect),
  o-owl-ax:SubClassOf(?Object2Class, aspect-owl:TopologicalAspect),
  o-rdf:Type(?TopoSpaceRelation , owl:ObjectProperty),

  o-owl-re:AllValuesFrom(_:exp1, ?TopoSpaceRelation, ?Object1Class),
  o-owl-re:AllValuesFrom(_:exp2, ?TopoSpaceRelation, ?Object2Class),
  o-owl-ax:SubClassOf(_:exp2, _:exp1),

  ottr:Triple(_:not_exp2, owl:complementOf, _:exp2),
  o-owl-re:ObjectIntersectionOf(_:difference, (_:exp1, _:not_exp2)),

  o-rdf:Type(_:differenceInstance , _:differnce)
} .

Coming soon. 🚧

2 overlapping objects aspect

@prefix : <http://odp.aspectowl.xyz/aspect/topological/0.1#> .
@prefix util: <http://odp.aspectowl.xyz/util/0.1#> .
@prefix aspect-owl: <http://ontology.aspectowl.xyz/0.6#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix swrl:  <http://www.w3.org/2003/11/swrl#> .
@prefix ottr:  <http://ns.ottr.xyz/0.4/> .
@prefix o-owl-re: <http://tpl.ottr.xyz/owl/restriction/0.1/> .
@prefix o-owl-ax: <http://tpl.ottr.xyz/owl/axiom/0.1/> .
@prefix o-rdf: <http://tpl.ottr.xyz/rdf/0.1/> .
:2-OverlapAspect [ ! owl:Class ?Object1Class, ! owl:Class ?Object2Class, ! owl:ObjectProperty ?TopoSpaceRelation ] :: {
  o-rdf:Type(?Object1Class, owl:Class),
  o-rdf:Type(?Object2Class, owl:Class),
  o-owl-ax:SubClassOf(?Object1Class, aspect-owl:TopologicalAspect),
  o-owl-ax:SubClassOf(?Object2Class, aspect-owl:TopologicalAspect),
  o-rdf:Type(?TopoSpaceRelation , owl:ObjectProperty),

  o-owl-re:AllValuesFrom(_:exp1, ?TopoSpaceRelation, ?Object1Class),
  o-owl-re:AllValuesFrom(_:exp2, ?TopoSpaceRelation, ?Object2Class)
} .

Coming soon. 🚧

pairwise overlapping objects aspect

Instanitations of this template represent three pairwise overlapping objects.

It may be extended to accomodate more than three objects.

Three objects with pairwise overlap.
@prefix : <http://odp.aspectowl.xyz/aspect/topological/0.1#> .
@prefix util: <http://odp.aspectowl.xyz/util/0.1#> .
@prefix aspect-owl: <http://ontology.aspectowl.xyz/0.6#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix swrl:  <http://www.w3.org/2003/11/swrl#> .
@prefix ottr:  <http://ns.ottr.xyz/0.4/> .
@prefix o-owl-re: <http://tpl.ottr.xyz/owl/restriction/0.1/> .
@prefix o-owl-ax: <http://tpl.ottr.xyz/owl/axiom/0.1/> .
@prefix o-rdf: <http://tpl.ottr.xyz/rdf/0.1/> .
:3-PairwiseOverlapAspect [ ! owl:Class ?Object1Class, ! owl:Class ?Object2Class, ! owl:Class ?Object3Class, ! owl:ObjectProperty ?TopoSpaceRelation ] :: {
  o-rdf:Type(?Object1Class, owl:Class),
  o-rdf:Type(?Object2Class, owl:Class),
  o-rdf:Type(?Object3Class, owl:Class),
  o-owl-ax:SubClassOf(?Object1Class, aspect-owl:TopologicalAspect),
  o-owl-ax:SubClassOf(?Object2Class, aspect-owl:TopologicalAspect),
  o-owl-ax:SubClassOf(?Object3Class, aspect-owl:TopologicalAspect),
  o-rdf:Type(?TopoSpaceRelation , owl:ObjectProperty),

  o-owl-re:SomeValuesFrom(_:exp1_some, ?TopoSpaceRelation, ?Object1Class),
  o-owl-re:SomeValuesFrom(_:exp2_some, ?TopoSpaceRelation, ?Object2Class),
  o-owl-re:SomeValuesFrom(_:exp3_some, ?TopoSpaceRelation, ?Object3Class),

  o-owl-re:ObjectIntersectionOf(_:intersection_all, (_:exp1_some, _:exp2_some, _:exp3_some)),
  o-owl-ax:SubClassOf(_:intersection_all, owl:Nothing),

  o-owl-re:AllValuesFrom(_:exp1_all, ?TopoSpaceRelation, ?Object1Class),
  o-owl-re:AllValuesFrom(_:exp2_all, ?TopoSpaceRelation, ?Object2Class),
  o-owl-re:AllValuesFrom(_:exp3_all, ?TopoSpaceRelation, ?Object3Class),

  o-owl-re:ObjectIntersectionOf(_:intersection_12, (_:exp1_all, _:exp2_all)),
  o-owl-re:ObjectIntersectionOf(_:intersection_23, (_:exp2_all, _:exp3_all)),
  o-owl-re:ObjectIntersectionOf(_:intersection_13, (_:exp1_all, _:exp3_all)),

  o-rdf:Type(_:intersection_12_instance , _:intersection_12),
  o-rdf:Type(_:intersection_23_instance , _:intersection_23),
  o-rdf:Type(_:intersection_13_instance , _:intersection_13)
} .

Coming soon. 🚧

mutually overlapping objects aspect

Instanitations of this template represent three mutually overlapping objects.

It may be extended to accomodate more than three objects.

Three objects with mutual overlap.
@prefix : <http://odp.aspectowl.xyz/aspect/topological/0.1#> .
@prefix util: <http://odp.aspectowl.xyz/util/0.1#> .
@prefix aspect-owl: <http://ontology.aspectowl.xyz/0.6#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix swrl:  <http://www.w3.org/2003/11/swrl#> .
@prefix ottr:  <http://ns.ottr.xyz/0.4/> .
@prefix o-owl-re: <http://tpl.ottr.xyz/owl/restriction/0.1/> .
@prefix o-owl-ax: <http://tpl.ottr.xyz/owl/axiom/0.1/> .
@prefix o-rdf: <http://tpl.ottr.xyz/rdf/0.1/> .
:3-MutualOverlapAspect [ ! owl:Class ?Object1Class, ! owl:Class ?Object2Class, ! owl:Class ?Object3Class, ! owl:ObjectProperty ?TopoSpaceRelation ] :: {
  o-rdf:Type(?Object1Class, owl:Class),
  o-rdf:Type(?Object2Class, owl:Class),
  o-rdf:Type(?Object3Class, owl:Class),
  o-owl-ax:SubClassOf(?Object1Class, aspect-owl:TopologicalAspect),
  o-owl-ax:SubClassOf(?Object2Class, aspect-owl:TopologicalAspect),
  o-owl-ax:SubClassOf(?Object3Class, aspect-owl:TopologicalAspect),
  o-rdf:Type(?TopoSpaceRelation , owl:ObjectProperty),

  o-owl-re:SomeValuesFrom(_:exp1_some, ?TopoSpaceRelation, ?Object1Class),
  o-owl-re:SomeValuesFrom(_:exp2_some, ?TopoSpaceRelation, ?Object2Class),
  o-owl-re:SomeValuesFrom(_:exp3_some, ?TopoSpaceRelation, ?Object3Class),

  o-owl-re:ObjectIntersectionOf(_:intersection_all, (_:exp1_some, _:exp2_some, _:exp3_some)),

  o-rdf:Type(_:intersection_all_instance, _:intersection_all)
} .

Coming soon. 🚧

pairwise and mutually overlapping objects aspect

Instanitations of this template represent three pairwise and mutually overlapping objects.

It may be extended to accomodate more than three objects.

Three objects with pairwise and mutual overlap.
@prefix : <http://odp.aspectowl.xyz/aspect/topological/0.1#> .
@prefix util: <http://odp.aspectowl.xyz/util/0.1#> .
@prefix aspect-owl: <http://ontology.aspectowl.xyz/0.6#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix swrl:  <http://www.w3.org/2003/11/swrl#> .
@prefix ottr:  <http://ns.ottr.xyz/0.4/> .
@prefix o-owl-re: <http://tpl.ottr.xyz/owl/restriction/0.1/> .
@prefix o-owl-ax: <http://tpl.ottr.xyz/owl/axiom/0.1/> .
@prefix o-rdf: <http://tpl.ottr.xyz/rdf/0.1/> .
:3-PairwiseMutualOverlapAspect [ ! owl:Class ?Object1Class, ! owl:Class ?Object2Class, ! owl:Class ?Object3Class, ! owl:ObjectProperty ?TopoSpaceRelation ] :: {
  o-rdf:Type(?Object1Class, owl:Class),
  o-rdf:Type(?Object2Class, owl:Class),
  o-rdf:Type(?Object3Class, owl:Class),
  o-owl-ax:SubClassOf(?Object1Class, aspect-owl:TopologicalAspect),
  o-owl-ax:SubClassOf(?Object2Class, aspect-owl:TopologicalAspect),
  o-owl-ax:SubClassOf(?Object3Class, aspect-owl:TopologicalAspect),
  o-rdf:Type(?TopoSpaceRelation , owl:ObjectProperty),

  o-owl-re:AllValuesFrom(_:exp1, ?TopoSpaceRelation, ?Object1Class),
  o-owl-re:AllValuesFrom(_:exp2, ?TopoSpaceRelation, ?Object2Class)
} .

Coming soon. 🚧