@prefix signal: <https://semanticdataservices.com/ontology/domain/prediction-signal#> .
@prefix inst: <https://semanticdataservices.com/ontology/domain/financial-instrument#> .
@prefix event: <https://semanticdataservices.com/ontology/domain/corporate-event#> .
@prefix port: <https://semanticdataservices.com/ontology/domain/portfolio#> .
@prefix risk: <https://semanticdataservices.com/ontology/domain/risk#> .
@prefix sdsu: <https://semanticdataservices.com/ontology/core/upper#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dct: <http://purl.org/dc/terms/> .

<https://semanticdataservices.com/ontology/domain/prediction-signal> a owl:Ontology ;
  owl:versionIRI <https://semanticdataservices.com/ontology/2026.08/domain/prediction-signal> ; owl:versionInfo "2026.08" ;
  owl:imports <https://semanticdataservices.com/ontology/core/upper>, <https://semanticdataservices.com/ontology/domain/risk>, <https://semanticdataservices.com/ontology/domain/corporate-event> ;
  dct:title "SDS Prediction and Signal Ontology"@en ; dct:creator "Semantic Data Services" .

signal:Feature a owl:Class ; rdfs:subClassOf sdsu:InformationResource ; rdfs:label "Feature"@en .
signal:Signal a owl:Class ; rdfs:subClassOf sdsu:Observation ; rdfs:label "Signal"@en .
signal:Forecast a owl:Class ; rdfs:subClassOf signal:Signal ; rdfs:label "Forecast"@en .
signal:PriceMovementPrediction a owl:Class ; rdfs:subClassOf signal:Forecast ; rdfs:label "Price movement prediction"@en .
signal:ModelVersion a owl:Class ; rdfs:subClassOf sdsu:AIModel ; rdfs:label "Model version"@en .
signal:Explanation a owl:Class ; rdfs:subClassOf sdsu:Evidence ; rdfs:label "Explanation"@en .
signal:Decision a owl:Class ; rdfs:subClassOf sdsu:Event ; rdfs:label "Decision"@en .

signal:aboutInstrument a owl:ObjectProperty ; rdfs:domain signal:Signal ; rdfs:range inst:FinancialInstrument ; rdfs:label "about instrument"@en .
signal:producedByModel a owl:ObjectProperty ; rdfs:domain signal:Signal ; rdfs:range signal:ModelVersion ; rdfs:label "produced by model"@en .
signal:usesFeature a owl:ObjectProperty ; rdfs:domain signal:Signal ; rdfs:range signal:Feature ; rdfs:label "uses feature"@en .
signal:basedOnEvent a owl:ObjectProperty ; rdfs:domain signal:Signal ; rdfs:range event:CorporateEvent ; rdfs:label "based on event"@en .
signal:relevantToPortfolio a owl:ObjectProperty ; rdfs:domain signal:Signal ; rdfs:range port:Portfolio ; rdfs:label "relevant to portfolio"@en .
signal:hasRiskContext a owl:ObjectProperty ; rdfs:domain signal:Signal ; rdfs:range risk:Risk ; rdfs:label "has risk context"@en .
signal:explainedBy a owl:ObjectProperty ; rdfs:domain signal:Signal ; rdfs:range signal:Explanation ; rdfs:subPropertyOf sdsu:supportedByEvidence ; rdfs:label "explained by"@en .
signal:confidence a owl:DatatypeProperty ; rdfs:domain signal:Signal ; rdfs:range xsd:decimal ; rdfs:label "confidence"@en .
signal:direction a owl:DatatypeProperty ; rdfs:domain signal:PriceMovementPrediction ; rdfs:range xsd:string ; rdfs:label "direction"@en .
signal:horizonSeconds a owl:DatatypeProperty ; rdfs:domain signal:Forecast ; rdfs:range xsd:integer ; rdfs:label "horizon in seconds"@en .
signal:modelVersionId a owl:DatatypeProperty ; rdfs:domain signal:ModelVersion ; rdfs:range xsd:string ; rdfs:label "model version identifier"@en .
signal:explanationText a owl:DatatypeProperty ; rdfs:domain signal:Explanation ; rdfs:range xsd:string ; rdfs:label "explanation text"@en .

