-
Notifications
You must be signed in to change notification settings - Fork 34
Discussion of required capabilities for Location
- 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
-
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
-
An object 1 located at location 1 at time X and located at location 2 at time Y
-
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
-
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
- 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
-
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?