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