Skip to content

Discussion of required capabilities for Location

Sean Barnum edited this page Aug 3, 2022 · 2 revisions
  • Required capabilities for characterizing location
    • Ability to represent location by name
    • Ability to represent location by administrative address
    • Ability to represent location by geospatial coordinates
    • Ability to support different forms of administrative address or geospatial coordinates
{
  "@graph": [
    {
      "@id": "kb:location1",
      "@type": "uco-location:Location",
      "uco-core:name": "White House",
      "uco-core:hasFacet": [
        {
          "@type": "location:LatLongCoordinatesFacet",
          "uco-location:latitude": "38.897957",
          "uco-location:longitude": "-77.036560"
        },
        {
          "@type": "location:SimpleAddressFacet",
          "uco-location:street": "1600 Pennsylvania Avenue NW",
          "uco-location:locality": "Washington, DC",
          "uco-location:country": "USA",
          "uco-location:postalCode": "20500"
        }
      ]
    }
  ]
}
    • Ability to represent position
    • Ability to represent geolocation geometries (Line, Circle, box, polygon)
    • Ability to represent precision of coordinates
    • Ability to represent location certainty (accuracy rather than precision)
  • Required scenarios for relating location

    • A location located within a location located within a location with multiples in graph

      • E.g.

        • Paris ->(located-within) France ->(located-within) -> Europe
        • Lyon ->(located-within) France ->(located-within) -> Europe
        • Berlin ->(located-within) Germany ->(located-within) Europe
        • Separate location objects
          • Europe, France, Germany, Paris, Lyon, Berlin Location required scenarios diagrams-Page-1 drawio
      • This graph must be extensible

      • There is a ripe opportunity for a registry of these sorts of common locations (continents, regions, countries, states, cities)

        • We did this internally at FireEye and it was highly effective
    • An object could be any person, device, etc.

    • An object 1 located at a location at time X Location required scenarios diagrams-Page-2 drawio

    • An object 1 located at location 1 at time X and located at location 2 at time Y Location required scenarios diagrams-Page-3 drawio

    • Object 1 located at location 1 at time X, Object 2 located at location 1 at time X, Object 3 located at location1 at time Y, Object 4 located at location 1 at time Z Location required scenarios diagrams-Page-4 drawio

    • Ability to represent geolocation routes (abstract from concrete time or any objects)

    • Transitive relationships

      • Person 1 had physical possession of Object 1 at time X, Object 1 was located at location 1 at time X therefore Person 1 was located at location 1 at time X
        • Has-physical-possession-of relationship implies location transitivity between the possessor and possessed
    • Dynamic relationships

      • Person 1 traveled to location 1 at a given time (including startTime and endTime)
      • Action 1 occurred at location1 at time X
    • Non-spatial things with relevance to location

      • E.g. IPAddress is located within location 1 at time X
      • E.g. Organization 1 is headquartered at location 1
      • Organization 1 governs location 1
        • E.g. Organization(US Federal government) governs Location(the United States of America)
    • Relationships to location relationships

      • Disagreement assertion (Annotation) that Object 1 was located at location 1 at time X
    • Any of the above graphs must be composable

      • E.g. Object 1 located at Paris at time X and Object 2 located at Lyon at time X
  • Queries (some examples; far from complete)

    • Ability to query about location regardless of characterization mechanism (semantic name, administrative address, geospatial coordinates)
    • Where was object 1 at time X?
    • Which objects have ever been located at location1?
    • What locations has an object ever been at?
    • Which objects were located at location1 at time X?
    • Which objects from a set were NOT located at location1 at time X?
    • Which objects were located at location 1 between time X and time y?
    • Which objects were located within France at time X?
  • A few (but far from all) challenging issues for lack of independence between objects and locations

    • How do you handle temporality of location relationships?
    • How do you handle locations for non-spatial things?
    • What does the object look like when you have thousands of recorded locations for it?
    • How to handle inter-location relationships?
    • How do you handle dynamic relationships?
    • How to handle transitive relationships?
    • How to handle relationships to location relationships?
    • How do you adorn location relationships with added contextual detail?
    • How do you handle complex graph composition with significant overlap in location relationships?
Clone this wiki locally