extractedFrom
range: Thing
domain: Thing
type: ObjectProperty
comment: Indicates the text from which the opinion has been extracted.
domain: Opinion
inverse of: hasOpinion
type: Property
range: Resource
domain: Resource
domain: Entity

hasPolarity
range: Thing
domain: Thing
type: ObjectProperty
comment: Indicates if the opinion is positive/negative or neutral. Use instances of class marl:Polarity.
domain: Opinion
range: Polarity
type: Property
range: Resource
domain: Resource
domain: Entity

aggregatesOpinion
range: Thing
domain: Thing
type: ObjectProperty
comment: Indicates that the polarity described with the class is a calculation (eg. sum) of other opinions polarity (eg. aggregated opinion about the movie derived from many sentiments expressed in one text).
domain: AggregatedOpinion
range: Opinion
type: Property
range: Resource
range: Entity
domain: Resource
domain: Opinion
domain: Entity

Positive
different from: Neutral
different from: Negative
type: Polarity
comment: Positive polarity
type: Thing

Negative
different from: Positive
different from: Neutral
type: Polarity
comment: Negative polarity.
type: Thing

Polarity
subclass of: Resource
subclass of: Thing
type: Class
comment: Class that represents the opinion polarity. Use instances to express if the polarity is positive, neutral or negative.

describesObjectPart
range: Thing
domain: Thing
type: ObjectProperty
comment: Indicates a particular element or part of the object that the opinion refers to (eg. laptop screen or camera battery).
domain: Opinion
type: Property
range: Resource
domain: Resource
domain: Entity

Neutral
different from: Positive
different from: Negative
type: Polarity
comment: Neutral polarity
type: Thing

sourceText
range: Thing
domain: Thing
type: ObjectProperty
comment: Text analysed
type: Property
range: Resource
domain: Resource

source
range: Thing
domain: Thing
type: ObjectProperty
comment: Source from which the opinion was extracted (URL, Site, Entity...)
domain: SentimentAnalysis
type: Property
range: Resource
domain: Resource
domain: Activity

hasOpinion
range: Thing
domain: Thing
type: ObjectProperty
comment: Indicates that a certain text has a subjective opinion expressed in it.
range: Opinion
inverse of: extractedFrom
type: Property
range: Resource
range: Entity
domain: Resource

describesFeature
range: Thing
domain: Thing
type: ObjectProperty
comment: Indicates a feature of an object or object part that the opinion refers to (eg. laptop battery life or laptop battery size etc.).
domain: Opinion
type: Property
range: Resource
domain: Resource
domain: Entity

algorithm
range: Thing
domain: Thing
type: ObjectProperty
comment: The algorithm used in the Sentiment Analysis.
domain: SentimentAnalysis
type: Property
range: Resource
domain: Resource
domain: Activity

domain
range: Thing
domain: Thing
type: ObjectProperty
domain: Opinion
type: Property
range: Resource
domain: Resource
domain: Entity

SentimentAnalysis
subclass of: Resource
subclass of: Thing
type: Class
comment: The action of analysing the sentiment in an entity. It produces a marl:opinion
subclass of: Activity

Opinion
subclass of: Thing
subclass of: Resource
type: Class
comment: Describes the concept of opinion expressed in a certain text.
subclass of: Entity

AggregatedOpinion
subclass of: Thing
subclass of: Resource
type: Class
comment: The same as Opinion class but indicates that the properties of this class aggregate all the opinions specified in the "extractedFrom" source. Optionally, if the aggregatesOpinion property is used this class could be created to aggregate only certain opinions (e.g. in a text about political scene it there could be many AggregatedOpinion classes each with opinions per different politician).
subclass of: Opinion
subclass of: Entity

describesObject
range: Thing
domain: Thing
type: ObjectProperty
comment: Indicates the object that the opinion refers to.
domain: Opinion
type: Property
range: Resource
domain: Resource
domain: Entity

opinionCount
type: DatatypeProperty
comment: Amount of all aggregated opinions.
domain: AggregatedOpinion
type: Property
domain: Thing
domain: Resource
domain: Opinion
domain: Entity

opinionText
type: DatatypeProperty
comment: The exact text extract that expresses the opinion. This can be used when entity/text pointed by extractedFrom contains many opinions. For example extractedFrom can point to a comment that contains many opinions about a movie, each opinion should have a separate marl:Opinion and optionally an opinionText property to indicate the specific text fragment of the comment.
domain: Opinion
type: Property
domain: Thing
domain: Resource
domain: Entity

positiveOpinionCount
type: DatatypeProperty
comment: Amount of positive opinions aggregated.
domain: AggregatedOpinion
type: Property
domain: Thing
domain: Resource
domain: Opinion
domain: Entity

negativeOpinionCount
type: DatatypeProperty
comment: Amount of negative opinions aggregated.
domain: AggregatedOpinion
type: Property
domain: Thing
domain: Resource
domain: Opinion
domain: Entity

algorithmConfidence
type: DatatypeProperty
comment: A numerical value that describe how much the algorithm was confident of the assessment of the opinion (eg. how much the opinion matches a gives object/product).
domain: Opinion
range: float
type: Property
range: Resource
domain: Thing
domain: Resource
domain: Entity

minPolarityValue
type: DatatypeProperty
comment: Lowest possible numerical value of the opinion.
domain: SentimentAnalysis
type: Property
domain: Thing
domain: Resource
domain: Activity

algorithmConfidence
type: DatatypeProperty
comment: Maximal possible numerical value for the opinion.
domain: SentimentAnalysis
type: Property
domain: Thing
domain: Resource
domain: Activity

Marl Opinion Ontology
description: Marl is an ontology designed to use for publishing the results of the opinion mining process in a form of structured data on the Web. The goal is to unify the access the numerical approximation of the opinion concept and allow extensive reasoning and search over multiple resources from different content providers.
type: Ontology
imports: prov-o#
version info: 1.0

neutralOpinionCount
type: DatatypeProperty
comment: Amount of neutral opinions aggregated.
domain: AggregatedOpinion
type: Property
domain: Thing
domain: Resource
domain: Opinion
domain: Entity

polarityValue
type: DatatypeProperty
comment: A numerical representation of the polarity value. The recommended use is by specifying % by using a real number from 0..1. In case this is not feasible in a given solution use minOpinionValue and maxOpinionValue to provide additional information.
domain: Opinion
type: Property
domain: Thing
domain: Resource
domain: Entity