=Paper= {{Paper |id=Vol-1747/D203_ICBO2016 |storemode=property |title=Humane OWL: RDF and OWL for Humans |pdfUrl=https://ceur-ws.org/Vol-1747/D203_ICBO2016.pdf |volume=Vol-1747 |authors=James A. Overton |dblpUrl=https://dblp.org/rec/conf/icbo/Overton16 }} ==Humane OWL: RDF and OWL for Humans == https://ceur-ws.org/Vol-1747/D203_ICBO2016.pdf
            Humane OWL: RDF and OWL for Humans
                                                        James A. Overton
                                                            Knocean
                                                         Toronto, Canada
                                                        james@overton.ca

    Abstract—Humane OWL (HOWL) is a syntax for RDF and                                      II. DESIGN
OWL designed for manual editing. By allowing human-readable
labels to be used in place of IRIs, and providing convenient           HOWL is designed to be a source format for RDF and
syntax for OWL annotations and expressions, HOWL files can be      OWL, much like the source code for a programming language
used like source code with tools such as GitHub, then translated   such as Python. Python and HOWL code both serve two
into any other RDF or OWL format for use with other tools.         purposes: first to communicate clearly between humans, and
                                                                   second to translate into other machine-readable formats.
   Keywords—RDF, OWL, syntax, source code                          Python soufce code can be compiled down to instructions for a
                                                                   CPU, but just as importantly the same source code can be:
                      I. INTRODUCTION                              checked in to Git, published on GitHub, read by another
   Humane OWL (HOWL) is a novel format for RDF [1] and             programmer, debugged, modified, with the changes submitted
OWL [2] that is easy for humans to read and write. Human-          as a pull request that is reviewed and merged. Not only can
readable labels can be defined and used in place of any IRI [3],   humans read and write Python in their text editors, they can use
making it much easier to use numeric or “opaque” IRIs such as      standard tools to visualize differences between versions, view
Open Biomedical Ontologies (OBO) term IRIs [4]. A subset of        the history of a project as a series of small meaningful changes,
Manchester syntax [5] can be used for OWL logical                  find and replace meaningful pieces of code, share precise sets
expressions, and OWL annotations have a simple syntax.             of requested changes as a tracker issue or pull request, etc.
    Simply put, HOWL looks like the text was copied from the           Human-readable HOWL code can easily be translated into
“Annotations” and “Description” views of the Protégé OWL           any of the existing RDF and OWL formats, such as RDF/XML
editor [6] (see Fig. 4). The key advantage is that HOWL format     [7], Turtle [8], or JSON-LD [9]. Because it is easier to read and
is plain text, and easy to use with the vast range of tools        write than these alternatives, HOWL makes all the other
designed for source code: file comparison tools such as “diff”     operations easier: visualizing differences, tracking changes,
and “patch”; version control systems such as Subversion and        finding and replacing elements, requesting changes, etc.
Git; issue trackers and pull requests, as seen on GitHub;
powerful text editors; text search and manipulation tools such                   III. SYNTAX AND COMPARISONS
as Unix coreutils; and many more. By making it easier for             An RDF graph is composed of IRIs and literal values. IRIs
humans (both expert and non-expert) to read, write, and work       and graphs can be hard for humans to read and write: IRIs
with RDF and OWL, HOWL can help expand the community               because they are often long and opaque; graphs because they
of linked data and ontology developers and users.                  are less structured than familiar tables or hierarchies, and
                                                                   because some elements such as OWL annotations and logical
    Fig. 1 shows how the “assay” class from OBI can be
                                                                   expressions require compound structures made of many nodes.
written in HOWL (in part), given the right HOWL “context”.
                                                                   HOWL applies old and new techniques to these problems.
Fig. 2 shows the HOWL context for Fig. 1: prefixes, labels,
default types, and initial declarations that provide all the
required details. Fig. 3 shows the Turtle that is equivalent to
the HOWL in Figs. 1 and 2. Fig. 4 shows the Turtle from Fig. 3
displayed in Protégé 5.0.0 beta 17.
   An interactive demonstration of HOWL is available at
. Code and documentation are
available at , under an open
source (BSD) license.

 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.
 > comment: An OWL annotation on the definition.
 type:> owl:Class
 equivalent to:>> achieves_planned_objective some
 'assay objective'


Fig. 1. Example of HOWL                                            Fig. 4. The same example in Protégé
                                                                                   # Define prefixes for shortening IRIs.
                                                                                   PREFIX rdf:> http://www.w3.org/1999/02/22-rdf-
1) IRIs                                                                            syntax-ns#
    a) BASE: used to resolve relative IRIs (like Turtle)                           PREFIX rdfs:> http://www.w3.org/2000/01/rdf-
    b) PREFIX: used to shorten IRIs (like Turtle)                                  schema#
    c) LABEL: used in place of IRIs (like JSON-LD)                                 PREFIX owl:> http://www.w3.org/2002/07/owl#
                                                                                   PREFIX obo:> http://purl.obolibrary.org/obo/
2) Literals
    a) TYPE: sets the default datatype or language tag for a                       # Define labels for later use.
         predicate (like JSON-LD)                                                  LABEL rdf:type: type
    b) no quotation marks                                                          LABEL rdfs:label: label
    c) multi-line literals (using indentation)                                     LABEL rdfs:comment: comment
                                                                                   LABEL owl:equivalentClass: equivalent to
3) Graphs
    a) GRAPH: sets the current named graph or default                              # Define default datatypes or language tags.
         graph, allowing for RDF datasets (quads)                                  TYPE label:> @en
    b) “stanzas” group statements for a subject (like Turtle)
    c) OWL annotations are statements prefixed with “>”                            # Declare some supporting terms.
                                                                                   obo:IAO_0000115
    d) Manchester syntax logical expressions (like Protégé)                        label: definition
                                                                                   type:> owl:AnnotationProperty

                          IV. FUTURE WORK                                          obo:OBI_0000417
                                                                                   label: achieves_planned_objective
    The 0.2.0 release of HOWL converts HOWL to N-Quads,                            type:> owl:ObjectProperty
N-Triples, and JSON. Other existing tools can then convert N-
Quads and N-Triples to any other RDF or OWL format. We                             obo:OBI_0000441
                                                                                   label: assay objective
aim to support lossless translation from HOWL to RDF and                           type:> owl:Class
back. We also plan to include a default HOWL context with
standard prefixes and labels for OBO projects. Work-in-                            # Declare 'assay' and provide its label.
progress toward a HOWL version of the Ontology for                                 obo:OBI_0000070
                                                                                   label: assay
biomedical investigations is available at
.                                              Fig. 2 HOWL context for Fig. 1

                                                                                   @prefix rdf:  .
   This project was supported by the Immune Epitope                                @prefix rdfs: .
                                                                                   @prefix owl:  .
                                                                                   @prefix obo:  .
                               REFERENCES
[1]   Klyne, Graham, and Jeremy J. Carroll. “Resource description                  obo:IAO_0000115
      framework (RDF): Concepts and abstract syntax.” (2006).                        rdfs:label "definition"@en ;
[2]   Hitzler, Pascal, Markus Krötzsch, Bijan Parsia, Peter F. Patel-Schneider,      a owl:AnnotationProperty .
      and Sebastian Rudolph. “OWL 2 web ontology language primer.” W3C             obo:OBI_0000417
      recommendation 27, no. 1 (2009): 123.                                          rdfs:label "achieves_planned_objective"@en ;
                                                                                     a owl:ObjectProperty .
[3]   Dürst, Martin, and Michel Suignard. Internationalized resource
                                                                                   obo:OBI_0000441
      identifiers (IRIs). No. RFC 3987. 2004.
                                                                                     rdfs:label "assay objective"@en ;
[4]   Smith, Barry, Michael Ashburner, Cornelius Rosse, Jonathan Bard,               a owl:Class .
      William Bug, Werner Ceusters, Louis J. Goldberg et al. “The OBO              obo:OBI_0000070
      Foundry: coordinated evolution of ontologies to support biomedical data        rdfs:label "assay"@en ;
      integration.” Nature biotechnology 25, no. 11 (2007): 1251-1255.               obo:IAO_0000115 "A planned process with the
[5]   Horridge, Matthew, and Peter F. Patel-Schneider. “OWL 2 web                  objective to produce information about the material
      ontology language manchester syntax.” W3C Working Group Note                 entity that is the evaluant, by physically
      (2009).                                                                      examining it or its proxies." ;
[6]   Gennari, John H., Mark A. Musen, Ray W. Fergerson, William E.                _:b0 a owl:Axiom ;
      Grosso, Monica Crubézy, Henrik Eriksson, Natalya F. Noy, and Samson            owl:annotatedSource obo:OBI_0000070 ;
      W. Tu. “The evolution of Protégé: an environment for knowledge-based           owl:annotatedProperty obo:IAO_0000115 ;
      systems development.” International Journal of Human-computer                  owl:annotatedTarget "A planned process with the
      studies 58, no. 1 (2003): 89-123.                                            objective to produce information about the material
                                                                                   entity that is the evaluant, by physically
[7]   Beckett, Dave, and Brian McBride. “RDF/XML syntax specification
                                                                                   examining it or its proxies." ;
      (revised).” W3C recommendation 10 (2004).
                                                                                     rdfs:comment "An OWL annotation on the
[8]   Beckett, David, Tim Berners-Lee, Eric Prud’hommeaux, and Gavin               equivalence axiom." .
      Carothers. “RDF 1.1 Turtle–Terse RDF Triple Language.” W3C                     a owl:Class ;
      Rec.(February 2014) (2014).                                                    owl:equivalentClass _:b1 .
[9]   Sporny, Manu, Dave Longley, Gregg Kellogg, Markus Lanthaler, and             _:b1 a owl:Restriction ;
      Niklas Lindström. “JSON-LD 1.0.” W3C Recommendation (January 16,               owl:onProperty obo:OBI_0000417 ;
      2014) (2014).                                                                  owl:someValuesFrom obo:OBI_0000441 .

                                                                                  Fig.3. Turtle syntax equivalent to HOWL in Figs. 1 and 2