@prefix doap: . @prefix foaf: . @prefix ingen: . @prefix lv2: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix ui: . @prefix xsd: . ingen: a owl:Ontology ; owl:imports ; doap:name "Ingen Ontology" ; rdfs:label "Ingen Ontology" ; rdfs:comment "Describes graphs of signal processing blocks which process audio, MIDI, and other signals or messages. With appropriate plugins, these graphs can describe modular synthesizers, effects processors, and other signal processing devices." . ingen:Plugin a rdfs:Class ; rdfs:label "Plugin" ; rdfs:comment """A class which can be instantiated into a ingen:Block. A plugin has a set of input and output "ports". In practice this class is semantically equivalent to lv2:Plugin, it only exists to allow the ingen ontology to be useful for "plugins" that aren't semantically LV2 plugins. See the LV2 specification for details about the required properties (rdf:type, doap:name, doap:license, and lv2:port). """ . ingen:Graph a rdfs:Class ; rdfs:subClassOf ingen:Plugin ; rdfs:label "Graph" ; rdfs:comment "A collection of Blocks connected together. A Graph can itself be a Block within a parent Graph, and so on." . ingen:file a rdf:Property , owl:DatatypeProperty ; rdfs:domain ingen:Graph ; rdfs:range xsd:anyURI ; rdfs:label "file" ; rdfs:comment "The file a Graph was loaded from." . ingen:canvasX a rdf:Property , owl:DatatypeProperty ; rdfs:range xsd:decimal ; rdfs:label "canvas X" ; rdfs:comment "The X coordinate of an item on a canvas." . ingen:canvasY a rdf:Property , owl:DatatypeProperty ; rdfs:range xsd:decimal ; rdfs:label "canvas Y" ; rdfs:comment "The Y coordinate of an item on a canvas." . ingen:maxEventLoad a rdf:Property , owl:DatatypeProperty ; rdfs:range xsd:decimal ; rdfs:label "maximum event load" ; rdfs:comment "The maximum fraction of a cycle spent processing events." . ingen:minRunLoad a rdf:Property , owl:DatatypeProperty ; rdfs:range xsd:decimal ; rdfs:label "minimum run load" ; rdfs:comment "The minimum fraction of a cycle spent running DSP." . ingen:maxRunLoad a rdf:Property , owl:DatatypeProperty ; rdfs:range xsd:decimal ; rdfs:label "maximum run load" ; rdfs:comment "The maximum fraction of a cycle spent running DSP." . ingen:meanRunLoad a rdf:Property , owl:DatatypeProperty ; rdfs:range xsd:decimal ; rdfs:label "mean run load" ; rdfs:comment "The average fraction of a cycle spent running DSP." . ingen:block a rdf:Property , owl:ObjectProperty ; rdfs:domain ingen:Graph ; rdfs:range ingen:Block ; rdfs:label "block" ; rdfs:comment "Signifies a graph contains some block." . ingen:polyphony a rdf:Property , owl:DatatypeProperty ; rdfs:domain ingen:Graph ; rdfs:range xsd:integer ; rdfs:label "polyphony" ; rdfs:comment """The amount of polyphony in a Graph. This defines the number of voices present on all :polyphonic children of this graph. Because a Graph is also a Block, a Graph may have both :polyphony and :polyphonic properties. These specify different things: :polyphony specifies the voice count of the Graph's children, and :polyphonic specifies whether the graph is seen as polyphonic to the Graph's parent.""" . ingen:sprungLayout a rdf:Property , owl:DatatypeProperty ; rdfs:domain ingen:Graph ; rdfs:range xsd:boolean ; rdfs:label "sprung layout" ; rdfs:comment """Whether or not the graph has a "sprung" force-directed layout.""" . ingen:loadedBundle a rdf:Property , owl:ObjectProperty ; rdfs:label "loaded bundle" ; rdfs:comment "Whether or not a bundle is loaded into Ingen." . ingen:value a rdf:Property , owl:DatatypeProperty ; rdfs:domain lv2:Port ; rdfs:label "value" ; rdfs:comment "The current value of a port." . ingen:Internal a rdfs:Class ; rdfs:subClassOf ingen:Plugin ; rdfs:label "Internal" ; rdfs:comment """An internal 'plugin'""" . ingen:Node a rdfs:Class ; rdfs:label "Node" ; rdfs:comment "An element of a Graph. A Node always has a valid path and symbol, with the possible exception of the root graph which may not have a symbol depending on context. Ingen uses restricted paths and/or URIs built from valid lv2:symbol components, so the symbol of a Node may be inferred from its URI if no explicit lv2:symbol property is given." . ingen:uiEmbedded a rdf:Property , owl:DatatypeProperty ; rdfs:range xsd:boolean ; rdfs:label "UI embedded" ; rdfs:comment """Whether or not the block's GUI is embedded.""" . lv2:Port a rdfs:Class ; rdfs:subClassOf ingen:Node . ingen:activity a rdf:Property , owl:DatatypeProperty ; rdfs:domain lv2:Port ; rdfs:label "activity" ; rdfs:comment "Transient activity. This property is used in the protocol to communicate activity at ports, such as MIDI events or audio peaks. It should never be stored in persistent data." . ingen:broadcast a rdf:Property , owl:DatatypeProperty ; rdfs:domain lv2:Port ; rdfs:range xsd:boolean ; rdfs:label "broadcast" ; rdfs:comment """Whether or not the port's value or activity should be broadcast to clients.""" . ingen:polyphonic a rdf:Property , owl:DatatypeProperty ; rdfs:range xsd:boolean ; rdfs:label "polyphonic" ; rdfs:comment """Signifies this node should be replicated when it is part of a polyphonic graph. The amount of polyphony (i.e. the number of voices) is determined by the ingen:polyphony property of the containing graph. This is a boolean property which defines whether the parent can access each voice individually: All nodes within a graph are either polyphonic or not from their parent's perspective. An Node may itself have "internal" polyphony but not be polyphonic according to this property, if those voices are mixed down.""" . ingen:Block a rdfs:Class ; rdfs:subClassOf ingen:Node , lv2:PluginBase ; rdfs:label "Block" ; rdfs:comment """A signal processing block, which is typically either a plugin instance, or a graph. A block MUST have at least one lv2:prototype property which is a subclass of lv2:Plugin. When there are many such properties, an applications SHOULD use the most specific class it understands.""" . ingen:enabled a rdf:Property , owl:DatatypeProperty ; rdfs:domain ingen:Block ; rdfs:range xsd:boolean ; rdfs:label "enabled" ; rdfs:comment "Signifies the block is or should be running." . ingen:prototype a rdf:Property , owl:ObjectProperty ; owl:deprecated true ; rdfs:domain ingen:Block ; rdfs:label "prototype" ; rdfs:comment "The object which this block is an instance of, or derived from." . ingen:Arc a rdfs:Class ; rdfs:label "Arc" ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty ingen:tail ; owl:allValuesFrom lv2:Port ; owl:cardinality 1 ; rdfs:comment "MUST have exactly one tail which is a lv2:Port." ] , [ a owl:Restriction ; owl:onProperty ingen:head ; owl:allValuesFrom lv2:Port ; owl:cardinality 1 ; rdfs:comment "MUST have exactly one head which is a lv2:Port." ] ; rdfs:comment "A connection between two ports. Graphs have a set of arcs which define how its component blocks and ports are connected." . ingen:arc a rdf:Property , owl:ObjectProperty ; rdfs:domain ingen:Graph ; rdfs:range ingen:Arc ; rdfs:label "arc" ; rdfs:comment "An arc contained in this graph." . ingen:tail a rdf:Property , owl:ObjectProperty , owl:FunctionalProperty ; rdfs:domain ingen:Arc ; rdfs:range lv2:Port ; rdfs:label "tail" ; rdfs:comment "The source/sending port of this arc" . ingen:head a rdf:Property , owl:ObjectProperty , owl:FunctionalProperty ; rdfs:domain ingen:Arc ; rdfs:range lv2:Port ; rdfs:label "head" ; rdfs:comment "The destination/receiving/sink port of this arc" . ingen:incidentTo a rdf:Property , owl:ObjectProperty , owl:FunctionalProperty ; rdfs:domain ingen:Arc ; rdfs:label "incident to" ; rdfs:comment "A special property used to describe any arc incident to a port or block. This is never saved in graph files, but is used in the control protocol to completely disconnect a Block or Port." . ingen:Undo a rdfs:Class ; rdfs:label "Undo" ; rdfs:comment "A request to undo the previous change." . ingen:BundleStart a rdfs:Class ; rdfs:label "Bundle Start" ; rdfs:comment "The start of an undo transaction." . ingen:BundleEnd a rdfs:Class ; rdfs:label "Bundle End" ; rdfs:comment "The end of an undo transaction." . ingen:Option a rdfs:Class ; rdfs:subClassOf rdf:Property ; rdfs:label "Ingen Option" . ingen:shortSwitch a rdf:Property , owl:ObjectProperty , owl:FunctionalProperty ; rdfs:domain ingen:Option ; rdfs:range xsd:string ; rdfs:label "short switch" ; rdfs:comment "Single character switch for short command line argument." . ingen:longSwitch a rdf:Property , owl:ObjectProperty , owl:FunctionalProperty ; rdfs:domain ingen:Option ; rdfs:range xsd:string ; rdfs:label "long switch" ; rdfs:comment "Lowercase, hyphenated switch for long command line argument." . ingen:numThreads a rdf:Property , owl:ObjectProperty , ingen:Option ; rdfs:label "number of threads" ; ingen:shortSwitch "p" ; ingen:longSwitch "threads" .