ucoProject / UCO

This repository is for development of the Unified Cyber Ontology.
Apache License 2.0
73 stars 34 forks source link

Need ability to represent concepts "Bearing" and "Velocity" #567

Open vulnmaster opened 7 months ago

vulnmaster commented 7 months ago

Background

The current UCO framework provides a robust platform for representing various cyber and physical objects but lacks specific properties for detailed geospatial analysis. Specifically, there is no representation for "Bearing" (direction of travel in degrees from 0 - 360) and "Velocity" (the speed of travel in kilometers or miles). These concepts are critical in investigations involving movement tracking, such as transportation incidents, or analyzing the movement patterns of entities.

I am fine with my examples in this change proposal being transcribed and credited when others can re-use this content.

Example

Background: An investigator is analyzing a traffic incident involving a vehicle suspected of speeding and making an abrupt turn before the collision. The vehicle is equipped with a modern infotainment system that records geospatial data, including the direction of travel (bearing) and speed (velocity).

Data Extraction: The infotainment system's data is extracted using forensic tools compatible with the vehicle's system. The data includes a timestamped log of the vehicle's bearing and velocity.

Presentation of Data: Extracted Data Log:

Timestamp: 2023-11-22T15:30:00Z Bearing: 90 degrees (indicating eastward direction) Velocity: 50 km/h Timestamp: 2023-11-22T15:32:00Z Bearing: 135 degrees (indicating a southeast direction) Velocity: 70 km/h Timestamp: 2023-11-22T15:33:30Z Bearing: 180 degrees (indicating southward direction) Velocity: 30 km/h Analysis:

The data shows that at 15:30, the vehicle was traveling eastward at a moderate speed of 50 km/h.

By 15:32, the vehicle's speed had increased to 70 km/h, and the bearing changed to 135 degrees, indicating a significant turn towards the southeast.

At 15:33:30, a notable change in bearing to 180 degrees and a reduction in speed to 30 km/h suggest an abrupt southward turn and deceleration, possibly correlating with the moment of the incident.

Investigative Actions:

Map Overlay: The investigator overlays this data onto a map of the incident area to visualize the vehicle's path and correlate it with physical evidence and witness statements. Speed Analysis: The speed data is compared against the posted speed limits to ascertain if the vehicle was speeding.

Maneuver Correlation: The bearing changes are examined in relation to the road layout and traffic conditions to assess the driver's actions leading up to the incident.

Conclusion: Based on the bearing and velocity data extracted from the infotainment system, the investigator gains insights into the vehicle's movement patterns, contributing significantly to reconstructing the events leading up to the traffic incident.

Requirements

I have two requirements.

Requirement 1

Description: Introduce a new property, uco-location:Bearing, to represent the direction of travel in degrees (0 - 360). Type: owl:DatatypeProperty Range: xsd:decimal

Requirement 2

Description: Introduce a new property, uco-location:Velocity, to represent the speed of travel in kilometers or miles per hour. Type: owl:DatatypeProperty Range: xsd:decimal

Risk / Benefit analysis

Benefits

Enables precise tracking and representation of directional movement and speed, enhancing the ontology's utility in geospatial and transportation-related investigations.

Aligns UCO with standard practices in geospatial data representation, improving interoperability with other systems and datasets.

Risks

Potential complexity in ensuring consistent unit usage (e.g., kilometers vs. miles for Velocity) across different datasets.

Additional validation mechanisms may be needed to ensure the accuracy and consistency of Bearing and Velocity data.

These are simple geo concepts that will lead to UCO eventually needing to accomodate GeoJSON concepts.

Competencies demonstrated

Enabled or Upgraded Competency with "Bearing" and "Velocity" in UCO

Competency 1

Enabled or Upgraded Competency with "Bearing" and "Velocity" in UCO

Scenario: An investigator is analyzing a traffic incident involving a vehicle suspected of speeding and making an abrupt turn before the collision. The vehicle, equipped with a modern infotainment system, has recorded crucial geospatial data, including the vehicle's bearing and velocity.

Competency Question 1.1

Question: How can we determine the vehicle's direction and speed changes at specific times to understand its movement pattern before the collision?

Result 1.1

Result: With the integration of "Bearing" and "Velocity" into UCO, investigators can now analyze the directional changes and speed variations of the vehicle. This data provides insights into the vehicle's maneuvering and speed at critical moments leading up to the incident.

PREFIX uco-location: <https://ontology.unifiedcyberontology.org/uco/location/>
PREFIX uco-time: <https://ontology.unifiedcyberontology.org/uco/time/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT ?timestamp ?bearing ?velocity
WHERE {
  ?vehicleEvent uco-location:bearing ?bearing ;
                uco-location:velocity ?velocity ;
                uco-time:timestamp ?timestamp .

  FILTER(?timestamp >= "2023-11-22T15:30:00Z"^^xsd:dateTime &&
        ?timestamp <= "2023-11-22T15:33:30Z"^^xsd:dateTime)
}
ORDER BY ?timestamp

Explanation

The query retrieves data for a specific vehicle's movements (?vehicleEvent) within the timeframe of the incident. It focuses on extracting the bearing (?bearing) and velocity (?velocity) at each recorded timestamp (?timestamp). The filtered time range corresponds to the period just before and during the incident, allowing for a focused analysis of the vehicle's behavior.

This query enables the investigator to construct a timeline of the vehicle's directional changes and speed, which is crucial for understanding the events leading up to the traffic incident.

Solution suggestion

Define Bearing Property

uco-location:Bearing a owl:DatatypeProperty ;
    rdfs:label "Bearing"@en ;
    rdfs:comment "Represents the direction of travel in degrees from 0 to 360."@en ;
    rdfs:domain uco-location:Location ;
    rdfs:range xsd:decimal ;
    .

Define Velocity Property

uco-location:Velocity a owl:DatatypeProperty ;
    rdfs:label "Velocity"@en ;
    rdfs:comment "Represents the speed of travel in kilometers or miles per hour."@en ;
    rdfs:domain uco-location:Location ;
    rdfs:range xsd:decimal ;
    .

(2023-11-27: OC Chair edited lightly to fix Markdown syntax.)

Coordination