<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Common Slips in SKOS Vocabularies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nor Azlinayati Abdul Manaf</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sean Bechhofer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Robert Stevens</string-name>
          <email>robert.stevensg@cs.man.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computer Science, The University of Manchester</institution>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2004</year>
      </pub-date>
      <abstract>
        <p>Following our analysis of SKOS vocabularies publicly available on the Web, we found several types of `irregularity' in some of the vocabularies' representation [1]. We have considered these `defects' as slips made by vocabulary engineers when authoring the vocabularies. In many cases these slips are apparently due to either syntactic error or accidental misuse of the SKOS core vocabulary. In this paper, we present a typology of these slips, and describe possible patches that can be applied to deal with the problems. By `patching' these slips, vocabularies can be adjusted to conform to the SKOS standard and thus enable the usage of SKOS tools/applications.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>Materials and Methods</title>
      <p>
        The results from our previous survey of SKOS on the Web [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] revealed that a
small number of URLs that were expected to be identi ed as a SKOS vocabulary
failed our test of validity. Further investigation shows some irregularities in the
representation of these vocabularies, caused by apparent `mistakes' by ontology
authors, which we called `slips'. We detect and classify these slips through the
following steps:
1. Preparation of a corpus of candidate SKOS vocabularies.
2. Validation of the candidates as SKOS vocabularies.
3. Detection and classi cation of detected `slips'.
      </p>
      <p>
        Apparatus All experiments were performed on a 2.4GHz Intel Core 2 Duo
MacBook running Mac OS X 10.6.8 with a maximum of 3 GB of memory allocated
to the Java virtual machine. Two reasoners were used: JFact3, which is a Java
version of the FaCT++ [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] reasoner, and Pellet [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. We used the OWL API [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
version 3.2.44 for handling and manipulating the vocabularies.
      </p>
      <p>
        Preparing a corpus of candidate SKOS vocabularies As described in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ],
the SKOS vocabularies came from several sources. The rst collection of
candidate SKOS vocabularies was gathered from two dedicated collections, the SKOS
Implementation Report5 and the SKOS/Datasets6. The second collection of
candidate SKOS vocabularies was gathered by utilising Semantic Web search engines
such as Swoogle [7] and Watson [8].
      </p>
      <p>
        Validating SKOS vocabularies All candidate SKOS vocabularies gathered
in the previous step were tested for SKOS `validity'. We proposed in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] this
de nition of SKOS vocabulary:
De nition 1. A SKOS vocabulary is a vocabulary that at the very least contains
SKOS concept(s) used directly, or SKOS constructs that indirectly infer the use
of a SKOS concept, such as SKOS semantic relations.
      </p>
      <p>Each candidate SKOS vocabulary was screened in the following way to
identify it as a SKOS vocabulary:
1. Check for the existence of direct instances of type skos:Concept; if Yes,
then accept the vocabulary as a SKOS vocabulary.
2. Check for the existence of implied instances of skos:Concept due to domain
and range restrictions on SKOS relationships (for example the subject of a
skos:broader, skos:narrower or skos:related relationship is necessarily
a skos:Concept); if Yes, then accept the vocabulary as a SKOS vocabulary.</p>
      <sec id="sec-2-1">
        <title>3 http://jfact.sourceforge.net/</title>
      </sec>
      <sec id="sec-2-2">
        <title>4 http://owlapi.sourceforge.net/</title>
      </sec>
      <sec id="sec-2-3">
        <title>5 http://www.w3.org/2006/07/SWD/SKOS/reference/20090315/implementation.</title>
        <p>html</p>
      </sec>
      <sec id="sec-2-4">
        <title>6 http://www.w3.org/2001/sw/wiki/SKOS/Datasets</title>
        <p>3. Otherwise, do not accept this vocabulary as a SKOS vocabulary.</p>
        <p>Consider the following vocabulary snippets written in Manchester Syntax7.
Vocabulary 1 and Vocabulary 2 are accepted as SKOS vocabularies based on
tests in Step 1 and Step 2, respectively. Meanwhile, Vocabulary 3 is not
accepted as a SKOS vocabulary according to our de nition, even though this
vocabulary uses SKOS constructs such as skos:prefLabel and skos:altLabel.
If Vocabulary 3 was to be included as a SKOS vocabulary, one could expect any
ontology that uses SKOS annotation properties for labelling their entities to be
included in the survey.</p>
        <sec id="sec-2-4-1">
          <title>Vocabulary 1:</title>
        </sec>
        <sec id="sec-2-4-2">
          <title>Individual: Emotion</title>
        </sec>
        <sec id="sec-2-4-3">
          <title>Types:</title>
        </sec>
        <sec id="sec-2-4-4">
          <title>Concept</title>
        </sec>
        <sec id="sec-2-4-5">
          <title>Individual: Love</title>
        </sec>
        <sec id="sec-2-4-6">
          <title>Types:</title>
        </sec>
        <sec id="sec-2-4-7">
          <title>Concept</title>
        </sec>
        <sec id="sec-2-4-8">
          <title>Individual: Beauty</title>
        </sec>
        <sec id="sec-2-4-9">
          <title>Types:</title>
        </sec>
        <sec id="sec-2-4-10">
          <title>Concept</title>
        </sec>
        <sec id="sec-2-4-11">
          <title>Vocabulary 2:</title>
        </sec>
        <sec id="sec-2-4-12">
          <title>Individual: Love</title>
        </sec>
        <sec id="sec-2-4-13">
          <title>Types:</title>
        </sec>
        <sec id="sec-2-4-14">
          <title>Thing</title>
        </sec>
        <sec id="sec-2-4-15">
          <title>Facts: broader Emotion</title>
        </sec>
        <sec id="sec-2-4-16">
          <title>Individual: Emotion</title>
        </sec>
        <sec id="sec-2-4-17">
          <title>Types:</title>
        </sec>
        <sec id="sec-2-4-18">
          <title>Thing</title>
        </sec>
        <sec id="sec-2-4-19">
          <title>Vocabulary 3:</title>
        </sec>
        <sec id="sec-2-4-20">
          <title>Individual: Love</title>
        </sec>
        <sec id="sec-2-4-21">
          <title>Types:</title>
        </sec>
        <sec id="sec-2-4-22">
          <title>Thing</title>
        </sec>
        <sec id="sec-2-4-23">
          <title>Facts: prefLabel "Love", altLabel "Affection"</title>
          <p>Detecting and classifying slips In the SKOS vocabulary validation stage, we
recorded the list of URLs of candidate SKOS vocabularies that do not pass the
`SKOS validity test'. These URLs are then screened for SKOS constructs used in
the vocabularies using the OWLAPI. In this screening stage, we are looking for
candidate SKOS vocabularies that use to following SKOS constructs, but were
failed to be detected in the previous stage.</p>
          <p>{ skos:broader
{ skos:narrower
{ skos:related
{ skos:Concept
{ skos:hasTopConcept
{ skos:topConceptOf
Utilising the functionality provided by the OWL API, we then checked the entity
types of the listed SKOS constructs recognised by the OWL API and recorded
them for each candidate SKOS vocabulary.</p>
          <p>We also kept a list of the URLs of candidate SKOS vocabularies that were
inconsistent when we classify with an automatic reasoner such as JFact or Pellet.
For each of the candidate SKOS vocabularies that failed to be classi ed, we
recorded the exception message thrown by the reasoner together with the cause
of the inconsistency.</p>
          <p>Each impaired SKOS vocabularies was manually inspected for any sign of
deviation from SKOS that would account for the irregularity. We classi ed these
irregularities into several types.</p>
        </sec>
      </sec>
      <sec id="sec-2-5">
        <title>7 http://www.w3.org/TR/owl2-manchester-syntax/</title>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Typology of slips</title>
      <p>
        Out of 6819 URLs in the corpus, 5751 URLs failed to be validated as a SKOS
vocabulary [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Out of this number, 2986 URLs were plain HTML pages/blogs/forum
page URIs. The second largest portion of the URLs (1199 URLs) were actually
OWL documents, but failed the SKOS validity test. Almost all of these OWL
documents used at least one of the SKOS constructs from the SKOS labelling
and documentation properties. 93 URLs referred to the actual SKOS Core data
model8, while the remaining 2087 were `unreachable documents' due to
`connection refused', network problems and `failed to load import ontology' errors.
      </p>
      <p>There were 47 URLs identi ed in the slips detection stage, with 18 documents
detected using the listed SKOS constructs, and the rest were `inconsistent'
ontologies. Table 1 shows a summary of the results.</p>
      <p>
        The information regarding the entity types returned by the OWLAPI, revealed
that all SKOS properties such as skos:broader, skos:narrower, etc. are of
type owl:AnnotationProperty. Further inspection of the source of the
vocabulary showed that each SKOS property used in the vocabulary was not
explicitly typed as any of the possible property types such as owl:ObjectProperty,
8 http://www.w3.org/2004/02/skos/core.rdf
owl:DataProperty or owl:AnnotationProperty. Note that the SKOS
specication [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] does not enforce explicit declarations. In fact this type of slip is a
consequence of managing and processing the SKOS vocabularies using tools such
as the OWLAPI, which due to OWL 2 DL perspective require explicit
declarations of properties used in the OWL documents. An example of this type of slip
is shown in Figure 1. 18 candidate SKOS vocabularies were classi ed to have
this type of slip.
      </p>
      <p>AnnotationProperty(http://www.w3.org/2004/02/skos/core#broader)
AnnotationProperty(http://www.w3.org/2004/02/skos/core#narrower)</p>
      <p>
        This type of slip was identi ed through the exception thrown by the reasoner
when it failed to classify the vocabularies. We found 6 candidate SKOS
vocabularies that were inconsistent, caused by a `mis-use' of SKOS constructs. From our
inspection of the SKOS constructs usage in the vocabularies, we can categorised
this type of slip into 2 categories.
(a) Mistyping of an individual to be an instance of both skos:Concept
Scheme and skos:Concept. The SKOS Reference [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] has de ned that the
skos:ConceptScheme and skos:Concept classes are disjoint. This means that
in a SKOS vocabulary, an individual cannot be an instance of both classes at
the same time without the ontology being inconsistent. Five SKOS vocabularies
were found to be inconsistent due to having a condition where one individual
had been declared as a skos:Concept, and the skos:inScheme property was
used to relate other SKOS concepts to this individual. Since the rdfs:range
of skos:inScheme is the class skos:ConceptScheme as de ned in the SKOS
Reference, this individual was indirectly de ned as type skos:ConceptScheme
through the use of the skos:inScheme property. Figure 2 shows a snippet of a
vocabulary that illustrates the situation for this type of slip. 5 candidate SKOS
vocabularies were classi ed to have this type of slip.
(b) Incorrect use of a skos:narrower property to relate a concept to
a collection. The SKOS data model provides the property skos:narrower to
show a hierarchical relationship between SKOS concepts. For example, assertion
A skos:narrower B means that concept A has a narrower concept B. However
we found 1 vocabulary that used the property skos:narrower to relate a concept
to a collection. The classes skos:Concept and skos:Collection are de ned as
Individual: urn:cgi:classifierScheme:CGI:StratigraphicRank:200811
Types:
      </p>
      <p>Concept
Individual: urn:cgi:classifier:CGI:StratigraphicRank:200811:lithodeme
Types:</p>
      <p>Concept
Facts:
inScheme urn:cgi:classifierScheme:CGI:StratigraphicRank:200811,
prefLabel "Lithodeme"@en
disjoint classes in the SKOS data model. Therefore, since the rdfs:domain of
the skos:narrower property is skos:Concept, using a skos:narrower to relate
a concept to a collection will violate this constraint, causing the vocabulary to
be inconsistent. In the SKOS data model, the correct property to use to relate
a member to a collection is skos:member. Further inspection of the vocabulary
also showed that the skos:member property was declared but never used.
Figure 3 shows a snippet of a vocabulary with this type of slip. 1 candidate SKOS
vocabulary was classi ed to have this type of slip.</p>
      <p>Class: Collection</p>
      <p>Individuals:</p>
      <p>_:genid1
Individual: milk</p>
      <p>Types:</p>
      <p>Concept
Facts:
narrower genid1,
prefLabel "milk"@</p>
      <p>Type 3: Use of an invalid or use-de ned datatype.</p>
      <p>This type of slip was also identi ed based on an exception thrown by the reasoner
when it failed to classify the vocabularies. This type of slip was due to a
userde ned or invalid datatype not being recognised by a reasoner. Besides, the
use of user-de ned datatypes is not a problem from the SKOS point of view,
instead it is a problem in the context of OWL 2 DL. We found 23 candidate
SKOS vocabularies having this type of slip, 9 vocabularies due to user-de ned
datatypes and 14 vocabularies due to invalid datatypes.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Patching</title>
      <p>As reported in the previous section, some of the slips are merely syntactic errors
which could be xed by 'simple' patching to the syntax, while others may require
some judgement in order to avoid altering the intended meaning of the SKOS
vocabulary. In this section, we introduce approaches to x these slips.
4.1</p>
      <p>Type 1: Undeclared property type.</p>
      <p>There are two possible patches to x the slip described in Section 3.
1. Patch 1: Addition of missing declarations.</p>
      <p>Search for all SKOS-related constructs in the vocabulary and add the missing
declarations for these constructs. For example, if the properties skos:broader,
and skos:narrower were found in the vocabulary, we would add declarations
for both of these properties to be of type owl:ObjectProperty.
2. Patch 2: Import the SKOS core vocabulary.</p>
      <p>Another possible approach to x this problem is by importing the SKOS
core vocabulary9.</p>
      <p>Applying either patch xed the problem. We applied the Patch 1 xing procedure
and xed 18 SKOS vocabularies of this category.
4.2</p>
      <p>Type 2: Mis-use of SKOS constructs.</p>
      <p>Mistyping of an individual to be instances of both skos:ConceptScheme
and skos:Concept classes.</p>
      <p>To ` x' this type of slip, we propose the following procedures:
1. Search the vocabulary for the mentioned individual X.
2. Check the existence of axiom(s) relating other SKOS concept(s) to individual</p>
      <sec id="sec-4-1">
        <title>X through skos:inScheme property. For example, &lt;Y&gt; skos:inScheme &lt;X&gt;.</title>
        <p>If Yes, this indicates that individual X, is inferred to be of type skos:ConceptScheme.
3. Check if the existing declaration for individual X as type skos:Concept. If</p>
        <p>Yes, then remove this declaration from the vocabulary.</p>
        <p>Applying these ` xing' procedures xed the ve SKOS vocabularies in this
category.</p>
        <sec id="sec-4-1-1">
          <title>9 http://www.w3.org/2004/02/skos/core.rdf</title>
          <p>Incorrect use of skos:narrower property to relate a concept to a
collection.
1. Search the vocabulary for the mentioned individual X.
2. Check if the existing declaration for individual X as type skos:Collection.
3. Check for the existence of axiom(s) relating other SKOS concept(s) to
individual X through skos:narrower property. For example, &lt;Y&gt; skos:narrower
&lt;X&gt;. If Yes, this indicates that individual X, is inferred to be of type skos:Concept.</p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>4. Then replace the axiom &lt;Y&gt; skos:narrower &lt;X&gt; by &lt;Y&gt; skos:member &lt;X&gt;.</title>
        <p>Applying these ` xing' procedures xed the one SKOS vocabulary in this
category.
4.3</p>
        <p>Type 3: Use of an invalid or user-de ned datatype.</p>
        <p>The patch this type of slip, we do the following. For the user-de ned datatype
problem, we rst checked whether the user-de ned datatype was actually in use
to type the data in the vocabulary. If the datatype was not in use, we excluded
the datatype from the datatype list and reclassi ed the vocabulary. For the
invalid datatypes problem, further judgement was needed in xing this problem.
We xed 0 vocabularies for this type of slip.</p>
        <p>The number of SKOS vocabularies for each type of slips and the results of
patching are summarised in Table 2
We conjecture that some of these slips are merely due to authoring tools used
by the ontology engineer to author the vocabulary, while some others are due to
mistakes in authoring the vocabulary.</p>
        <p>The `patching' procedures proposed in Section 4 could be done manually or
implemented through an automated `patching' process. Having an automated
`patching' process would make the vocabulary `repairing' more scalable than the
manual approach we used. These procedures could also be incorporated into
SKOS parsers or validator tools to help avoid errors at source.</p>
        <p>E orts in detecting and patching errors in Semantic Web documents were
described in [9, 10]. However, these works focused on OWL ontologies rather than
KOS style artefacts. The PoolParty Consistency Checks for SKOS Thesauri10
provides an on-line service for checking integrity and consistency of a given
SKOS thesaurus. At the end of the checking process, the check result will be
displayed, including error(s), if any. So the survey and repairs we report here
lls a potentially useful gap for authors of semantic artefacts.
5.1</p>
        <p>
          Recommendations for SKOS Vocabulary Best Practices
We reported in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], several issues regarding usage of SKOS constructs such as
undeclared SKOS concepts, use of skos:broader and skos:narrower properties,
usage of SKOS lexical labels, etc. Based on our discussion of slips in this paper
and the SKOS constructs usage described in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], we propose the following SKOS
vocabulary best practices. We give recommendations for Best Practices for both
vocabulary engineers (VE) and application designers (AD) point of views.
1. Declare SKOS Concept.
        </p>
        <p>VE: Declare all concepts used in the vocabulary as type skos:Concept. This
is because some SKOS tools like SKOS Reader rely heavily on this
declarations as the rst step in identifying instances in the vocabulary. Without this
declaration, this kind of tool is not able to display the vocabulary correctly.
AD: If no SKOS concept were found, look for use of SKOS semantic
relations that can infer the use of SKOS concept through the domain and range
constraints.</p>
      </sec>
      <sec id="sec-4-3">
        <title>2. Use of skos:broader and skos:narrower properties.</title>
        <p>VE: Whenever an assertion is made between two concepts using either the
skos:broader or skos:narrower property, always add the inverse relation
for this assertion.</p>
        <p>AD: When found only one assertion of skos:broader or skos:narrower
property between two SKOS concepts, always infer the inverse relation for
this assertion.
3. Import SKOS core vocabulary.</p>
        <p>VE: The best way to avoid slip Type 1 is to import the SKOS core
vocabulary11. I doing so, the problem of missing type will be solved.</p>
        <p>AD: Similarly, an application designer could import SKOS core vocabulary
when loading the vocabulary and use the reasoner to classify the vocabulary.</p>
        <p>
          For Best Practices 1 and 2, the application designers could also consider
applying a reasoner to classify the vocabularies to be used with their tools [11].
For Best Practice 1, if the vocabularies do not typed their SKOS concepts,
but instead used SKOS semantic relations like skos:broader, the knowledge
about this skos:Concept could be inferred from domain and range constraints
10 http://demo.semantic-web.at:8080/SkosServices/check
11 http://www.w3.org/2004/02/skos/core.rdf
of these relations. Similarly, as shown in our previous survey [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], not all SKOS
vocabularies asserted the relationships, like skos:broader and skos:broader in
both ways. For this type of SKOS vocabulary, if the tools do not apply a reasoner,
it will not get the inverse relation of either skos:broader or skos:narrower
relations. Thus, applying a reasoner before using the vocabulary could be a best
practice for the application designers.
6
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>
        We have presented a typology of slips in SKOS vocabularies on the Web. We
found that some of these slips are syntactic errors, while others appear to be
mistakes in understanding the use of SKOS constructs by vocabulary engineers.
We admit that the types of slips presented in this paper are based on a rather
small collection of SKOS vocabularies in our corpus. We showed that some of
these slips can be corrected by applying `simple' patching procedures, while
others require some judgement and further knowledge of the intentions of the
vocabulary engineers. We also discussed other issues from the survey in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and
proposed recommendations for Best Practices in SKOS vocabularies for both
ontology engineers and application developers. By patching these slips, we are
able to handle more vocabularies, which are consequently made conformant to
the SKOS standards and thus enable the usage of SKOS tools/applications.
Acknowledgement: Nor Azlinayati Abdul Manaf is in receipt of a
scholarship from Majlis Amanah Rakyat (MARA), an agency under the Malaysian
Government, for her doctorate studies.
7. Finin, T., Peng, Y., Scott, R., Joel, C., Joshi, S.A., Reddivari, P., Pan, R., Doshi, V.,
Ding, L.: Swoogle: A search and metadata engine for the semantic web. In:
Proceedings of the Thirteenth ACM Conference on Information and Knowledge Management,
ACM Press (2004) 652659
8. d'Aquin, M., Baldassarre, C., Gridinoc, L., Angeletou, S., Sabou, M., Motta, E.:
Watson: A gateway for next generation semantic web applications. Poster, ISWC
2007, (2007)
9. Bechhofer, S., Carroll, J.J.: Parsing OWL DL: trees or triples? In Feldman, S.I.,
      </p>
      <p>Uretsky, M., Najork, M., Wills, C.E., eds.: WWW, ACM (2004) 266275
10. Bechhofer, S., Volz, R.: Patching syntax in OWL ontologies. In: Proceedings of the
3rd International International Semantic Web Conference. (2004)
11. Solomou, G.D., Koutsomitropoulos, D.A.: Support of SKOS vocabularies in the
DSpace digital repository system. In DSpace Federation 5th User Group Meeting
(Poster) (2009)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Abdul-Manaf</surname>
            ,
            <given-names>N.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bechhofer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stevens</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>The current state of SKOS vocabularies on the Web</article-title>
          .
          <source>In: Proceedings of the 9th Extended Semantic Web Conference (ESWC2012)</source>
          . (May
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Miles</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bechhofer</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>SKOS simple knowledge organization system reference</article-title>
          .
          <source>W3C recommendation, W3C</source>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Jupp</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bechhofer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stevens</surname>
          </string-name>
          , R.:
          <article-title>SKOS with OWL: Dont be Full-ish!</article-title>
          <source>In: Proceedings of the Fifth OWLED Workshop</source>
          on OWL:
          <article-title>Experiences and Directions, collocated with the 7th International Semantic Web Conference (ISWC-</article-title>
          <year>2008</year>
          ), Karlsruhe, Germany,
          <source>October 26-27</source>
          ,
          <year>2008</year>
          . (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Tsarkov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
          </string-name>
          , I.:
          <article-title>FaCT++ description logic reasoner: System description</article-title>
          . In Furbach, U.,
          <string-name>
            <surname>Shankar</surname>
          </string-name>
          , N., eds.
          <source>: IJCAR</source>
          . Volume
          <volume>4130</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2006</year>
          )
          <fpage>292297</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Pellet: A practical OWLDL reasoner</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ) (
          <year>2007</year>
          )
          <fpage>5153</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bechhofer</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The OWL API: A Java API for OWL ontologies</article-title>
          .
          <source>Journal of Semantic Web</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ) (
          <year>2011</year>
          )
          <fpage>1121</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>