# Define your prefixes... PREFIX rdf:> http://www.w3.org/1999/02/22-rdf-syntax-ns# PREFIX rdfs:> http://www.w3.org/2000/01/rdf-schema# PREFIX xsd:> http://www.w4.org/2001/XMLSchema# PREFIX owl:> http://www.w3.org/2002/07/owl# PREFIX obo:> http://purl.obolibrary.org/obo/ PREFIX ex:> http://example.com/ # then abbreviate your IRIs # so <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> # can be shortened to: rdf:type
# Set a base IRI... BASE http://example.com/ # then use relative IRIs in angle brackets: < > # so <http://example.com/howl-demo.owl> # can be shortened to <howl-demo.owl> <howl-demo.owl> rdfs:label: Example Ontology rdf:type:> owl:Ontology
# Specify your own labels... LABEL rdf:type: type LABEL rdfs:label: label LABEL rdfs:comment: comment LABEL rdfs:subClassOf: subclass of LABEL owl:equivalentClass: equivalent to LABEL obo:IAO_0000115: definition # then use them in your statements ex:frog label: Frog definition: A circular definition of frog. # Your 'rdfs:label' statments also specify labels # that you can use in subsequent statements, # e.g. 'label: Frog' can be used as Kermit's type ex:kermit type:> Frog
# Set a language or datatype... TYPE label:> @en TYPE comment:> xsd:string ex:french-fries # that will apply by default label: French Fries comment: A comment string # but can be overridden label: Frites@fr comment: 1000^^xsd:integer
# It's easy to use tables with HOWL # and define many terms concisely SUBJECT label: type:> obo:BFO_0000040 material entity owl:Class obo:BFO_0000051 has part owl:ObjectProperty obo:BFO_0000055 realizes owl:ObjectProperty obo:IAO_0000030 information content entity owl:Class obo:IAO_0000112 example of usage owl:AnnotationProperty obo:IAO_0000115 definition owl:AnnotationProperty obo:IAO_0000117 term editor owl:AnnotationProperty obo:IAO_0000118 alternative term owl:AnnotationProperty obo:IAO_0000119 definition source owl:AnnotationProperty obo:IAO_0000136 is about owl:ObjectProperty obo:OBI_0000011 planned process owl:Class obo:OBI_0000067 evaluant role owl:Class obo:OBI_0000070 assay owl:Class obo:OBI_0000293 has_specified_input owl:ObjectProperty obo:OBI_0000299 has_specified_output owl:ObjectProperty obo:OBI_0000417 achieves_planned_objective owl:ObjectProperty obo:OBI_0000441 assay objective owl:Class obo:RO_0000087 has role owl:ObjectProperty
# EDIT ME! # Then press "Convert" to see the results of your changes below! # Lines that start with '#' are just comments. # Set the current subject using a label, prefixed name, or IRI assay definition: A planned process with the objective to produce information about the material entity that is the evaluant, by physically examining it or its proxies. type:> owl:Class equivalent to:>> achieves_planned_objective some 'assay objective'
# Use ': ' for literal values: strings, numbers, dates, etc. example of usage: Assay the wavelength of light emitted by excited Neon atoms. Count of geese flying over a house. # Use ':> ' for links: IRIs, prefixed names, or labels subclass of:> planned process # Use ':>> ' for complex expressions subclass of:>> realizes some 'evaluant role' # Use indentation to continue long lines subclass of:>> has_specified_input some ('material entity' and ('has role' some 'evaluant role')) subclass of:>> has_specified_output some ('information content entity' and ('is about' some ('material entity' and ('has role' some 'evaluant role'))))
# Easily add OWL annotations, even annotations on annotations... ex:another-subject label: Another Subject comment: A comment on 'label: Another Subject'. > comment: An annotation on a comment. >> comment: An annotation on an annotation.
# Change to a named graph GRAPH ex:example-graph label: Example Graph ex:first-example-subject comment: This subject is in the Example Graph. # Then back to the default graph GRAPH ex:second-example-subject comment: This subject is in the default graph. # WARNING: OWL only uses the default graph!