UNPKG

metalsmith-ldschema

Version:

Metalsmith plugin for generating Web documentation for a linked data vocabulary. Inspired by https://schema.org

668 lines (575 loc) 721 kB
@prefix olive: <http://data.oliveai.com/ontology/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix xml: <http://www.w3.org/XML/1998/namespace> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix gist: <https://ontologies.semanticarts.com/gist/> . @prefix skos: <http://www.w3.org/2004/02/skos/core#> . @prefix skosxl: <http://www.w3.org/2008/05/skos-xl#> . @prefix dct: <http://purl.org/dc/terms/> . @prefix wd: <http://www.wikidata.org/entity/> . @prefix wdt: <http://www.wikidata.org/prop/direct/> . <http://data.oliveai.com/ontology/> rdf:type owl:Ontology ; rdfs:comment "This is the upper ontology designed particularly for and by Olive. It utilizes gist (thank you to Semantic Arts!) and skos (thank you to Alistair Miles, Sean Bechofer, and the W3C's SWDWG!). While even those ontologies are sometimes heavily edited for our purposes, we preserve the prefix here and have tried to minimize name or conceptual changes that would inhibit cross-compatibility." ; rdfs:label "Olive's upper ontology" . # THIS FILE IS ORGANIZED AS FOLLOWS (each section alphabetized): # - Classes # - Properties # - Datatypes # - Individuals ################################################################# # Classes ################################################################# olive:Abstract a owl:Class ; rdfs:subClassOf olive:Content, olive:NonphysicalArtifact; rdfs:label "abstract"^^xsd:string; skos:prefLabel "abstract for some content"^^xsd:string ; rdfs:comment """Every instance of olive:Abstract is a summary of some (other) content, usually the content communicated by some formal content bearing thing such as a research paper or book. Note that, as the word itself indicates, an instance of olive:Abstract is an abstraction from the thing for which it is an abstract. Thus, if :Abstract01 is an abstract for :Content01, it will be true that (:Content01 olive:abstractsTo :Abstract01). Note that you should use olive:transcript if you want to relate an instance of olive:Abstract to a string that expresses the content of the abstract. If you want to skip reification of the abstract itself, you should use olive:abstract to relate a piece of content to a string expressing the content of the abstract."""^^xsd:string ; . olive:Accident a owl:Class ; rdfs:label "accident"^^xsd:string ; skos:prefLabel "accident"@en ; rdfs:subClassOf olive:Event ; rdfs:comment """olive:Accident is the class of all events that have negative unintended consequences."""^^xsd:string ; olive:exampleSubclass olive:Accident-Medical; olive:exampleInstance "ex:CarAccidentOn22ndStreet"^^xsd:string ; . olive:Accident-Medical a owl:Class ; rdfs:label "medical accident"^^xsd:string ; skos:prefLabel "medical accident"@en ; rdfs:subClassOf olive:Accident ; rdfs:comment """olive:Accident-Medical is the class of all medical accidents."""^^xsd:string ; . olive:Account a owl:Class ; rdfs:subClassOf olive:Contract; rdfs:label "account"^^xsd:string; skos:prefLabel "account"@en ; rdfs:comment """This is the subclass of olive:Contract all instances of which are contractual business agreements between one agent (olive:accountSeller) and another (olive:accountCustomer). One should be careful to distinguish between instances of this class and the relationships that they govern: the latter are instances of olive:BusinessRelationship, each of which will be such that the following holds: (:Account1 olive:governsBehavior :BusinessRelationship1) . In practice, most instances of this class are instances of olive:Account-Olive, which is the subclass of accounts in which Olive is the olive:accountSeller."""^^xsd:string ; . olive:Account-Olive a owl:Class ; rdfs:subClassOf olive:Account; rdfs:label "Olive account"^^xsd:string; skos:prefLabel "Olive account"@en ; rdfs:comment """This is the subclass of olive:Account, wherein all instances have a olive:accountSeller of Olive."""^^xsd:string ; owl:equivalentClass [a owl:Class ; owl:intersectionOf (olive:Account [a owl:Restriction ; owl:onProperty olive:accountSeller ; owl:hasValue olive:Olive ;])] ; . olive:AccountStatus a owl:Class ; rdfs:subClassOf olive:Status ; rdfs:label "account status"^^xsd:string; skos:prefLabel "account status"@en ; rdfs:comment """This is the class of 'tags' for account statuses. For example, we can identify an account as having its delivery completed."""^^xsd:string ; . olive:Action-WS a owl:Class ; rdfs:subClassOf olive:Function ; rdfs:label "web service action"^^xsd:string; skos:prefLabel "action"@en ; skos:altLabel "web service action"@en ; rdfs:comment """Instances of olive:Action-WS are functions (see olive:Function) that (partly) compose a given web service (see olive:WebService)."""^^xsd:string ; . olive:Address a owl:Class ; rdfs:subClassOf olive:Place, olive:Artifact ; rdfs:label "address"^^xsd:string ; skos:prefLabel "address"@en ; rdfs:comment """A reference to a place (real or virtual) that can be located by some routing algorithm, and where messages or things can be sent to or retrieved from. E.g. PO Box or URL to a PDF file. Note that the address is the location, and not simply the string that refers to that that location. So, one's email address is distinct from the string for the addresss, and one's home address is distinct from the letters and numbers that one would put on an envelope to be shipped there."""^^xsd:string ; owl:equivalentClass [ a owl:Restriction ; owl:onProperty olive:address ; owl:someValuesFrom xsd:string ; ] ; olive:formerName "gist:Address"^^xsd:string; olive:uriTemplate [ olive:uniqueText "olive:Address/ribbonUuid=" ; olive:uriUsesProperty olive:ribbonUuid ; olive:note "Applicable when importing data from the RibbonHealth API"^^xsd:string ; ] ; . olive:Admission a owl:Class ; rdfs:subClassOf olive:MedicalCareEvent ; rdfs:label "admission"^^xsd:string; skos:prefLabel "hospital admission"@en ; rdfs:comment """Each instance of olive:Admission is when an instance of olive:MedicalCareEvent in which a patient is admitted to the hospital or other care facility for treatment."""^^xsd:string ; olive:exampleSubclass olive:Admission-Emergency ; . olive:Admission-Emergency a owl:Class ; rdfs:subClassOf olive:Admission ; rdfs:label "emergency admission"^^xsd:string; skos:prefLabel "emergency admission"@en ; rdfs:comment """All admission type medical care events in which the patient requires immediate medical intervention as a result of sever, life threatening, o9r potentially disabling conditions."""^^xsd:string ; owl:equivalentClass [a owl:Restriction ; owl:onProperty olive:admissionType ; owl:hasValue "1"^^xsd:integer ;] ; . olive:Admission-Elective a owl:Class ; rdfs:subClassOf olive:Admission ; rdfs:label "elective admission"^^xsd:string; skos:prefLabel "elective admission"@en ; rdfs:comment """All admission type medical care events in which the patient's condition permits adequate time to schedule the admission based on the availability of a suitable accommodation."""^^xsd:string ; owl:equivalentClass [a owl:Restriction ; owl:onProperty olive:admissionType ; owl:hasValue "3"^^xsd:integer ;] ; . olive:Admission-Newborn a owl:Class ; rdfs:subClassOf olive:Admission ; rdfs:label "newborn admission"^^xsd:string; skos:prefLabel "newborn admission"@en ; rdfs:comment """All admission type medical care events in which the patient is a newborn. This requires use of special codes (see olive:admissionSource)."""^^xsd:string ; owl:equivalentClass [a owl:Restriction ; owl:onProperty olive:admissionType ; owl:hasValue "4"^^xsd:integer ;] ; . olive:Admission-Trauma a owl:Class ; rdfs:subClassOf olive:Admission ; rdfs:label "trauma admission"^^xsd:string; skos:prefLabel "trauma admission"@en ; rdfs:comment """All admission type medical care events in which the patient the patient visits a trama center/hospital as licensed or designated by thte state or local government authority, usually requires surgery."""^^xsd:string ; owl:equivalentClass [a owl:Restriction ; owl:onProperty olive:admissionType ; owl:hasValue "3"^^xsd:integer ;] ; . olive:Admission-Urgent a owl:Class ; rdfs:subClassOf olive:Admission ; rdfs:label "urgent admission"^^xsd:string; skos:prefLabel "urgent admission"@en ; rdfs:comment """All admission type medical care events in which the patient requires immediate attention for the care and treaatment of a physical or mental disorder. Generally the patient is admitted to the first available and suitable accommodation."""^^xsd:string ; owl:equivalentClass [a owl:Restriction ; owl:onProperty olive:admissionType ; owl:hasValue "2"^^xsd:integer ;] ; . olive:Agent a owl:Class ; rdfs:subClassOf owl:Thing ; rdfs:label "agent"^^xsd:string; skos:prefLabel "agent"^^xsd:string ; rdfs:comment """olive:Agent is a very general class. Every instance is capable of action (see some hedges below). Important subclasses include olive:Person and olive:Organization. Agents are capable of entering into contracts (legal agents), affecting the world around them (causal agents), and/or being subjects of moral evaluation (moral agents). These three capacities are sufficient, but not necessary for agency. It is possible to treat an AI robot as an agent, even if we reject the claim that this robot can be morally evaluated for their actions. In some sense, this is a very contentious class. Some may bristle at organizations being considered agents (the same folks who object to corporations being considered persons in the US). Others may worry about whether a human being ceases to be an agent when they fall asleep, or enter a coma. And the already mentioned case of AI agents is sure to evoke strong response. As interesting as those disputes are, we can sidestep them here because of the primacy of contractual agreements and causal claims. Organizations can clearly enter into them, and human persons do not cease to be members of their ongoing contracts by merely falling asleep. Moreover, it is perfectly natural to say that the Exxon caused an oil spill or that the BLM movement has been incredibly influential in politics in 2020. It is an open question whether there are any circumstances where a living person may cease to be an agent. However, at this point, it seems unlikely that such a case will be fruitful to explore for the use of this ontology."""^^xsd:string ; olive:exampleSubclass olive:Organization , olive:Person ; . olive:Agreement a owl:Class ; rdfs:label "agreement"^^xsd:string ; skos:prefLabel "agreement"@en ; skos:altLabel "deal"@en ; rdfs:comment "Each instance of this class is a commitment (content) mutally made by two or more agents. Agreements are normatively bindings for the agents involved. Notable subclasses include olive:Contract."^^xsd:string ; rdfs:isDefinedBy <https://ontologies.semanticarts.com/o/gistCore> ; rdfs:subClassOf olive:Commitment ; rdfs:subClassOf [a owl:Restriction ; owl:onProperty olive:creationTime ; owl:someValuesFrom olive:TimeInstant ;]; owl:equivalentClass [ a owl:Class ; owl:intersectionOf (olive:Commitment [a owl:Restriction ; owl:onProperty olive:bindingForAgent ; owl:minCardinality "2"^^xsd:integer ;]);]; olive:formerName "gist:Agreement"^^xsd:string; . olive:AliveThing a owl:Class ; rdfs:label "alive thing"^^xsd:string ; skos:prefLabel "alive"@en ; rdfs:subClassOf olive:LivingThing ; rdfs:comment """olive:AliveThing is the class of all things that are alive, as long as they are members of this class. In contrast to olive:LivingThing, olive:AliveThing has members who need not timelessly be members. When Beethoven dies, he ceases to be an instance of olive:AliveThing and becomes an instance of olive:DeceasedThing."""^^xsd:string ; olive:exampleInstance "ex:CaseyHart (for now!)"^^xsd:string ; owl:disjointWith olive:DeceasedThing ; . olive:Allergy a owl:Class ; rdfs:label "allergy"^^xsd:string ; skos:prefLabel "allergy"@en ; rdfs:subClassOf olive:HealthCondition ; rdfs:comment """olive:Allergy is the class of all allergies. Instances will be allergies that particular persons have. So, :BillsPeanutAllergy is an instance of olive:Allergy, but :PeanutAllergy would not be (that would be the subclass of olive:Allergy that :BillsPeanutAllergy would be an instance of)."""^^xsd:string ; olive:exampleSubclass "ex:PeanutAllergy"^^xsd:string ; olive:exampleInstance "ex:FredsLatexAllergy"^^xsd:string ; . olive:AlzheimersDisease a owl:Class ; rdfs:subClassOf olive:Disease ; rdfs:label "alzheimers disease"^^xsd:string ; skos:prefLabel "Alzheimer's Disease"@en ; rdfs:comment """olive:AlzheimersDisease is the class of all states in which someone has Alzheimer's disease."""^^xsd:string ; . olive:Attribute a owl:Class ; rdfs:label "attribute"^^xsd:string ; skos:prefLabel "attribute"@en ; skos:altLabel "property"@en, "characteristic"@en ; rdfs:comment """olive:Attribute is the class of all attributes, whether \"universal\"/\"repeatable\"/\"multiply-instantiable\" (e.g. redness, considered as a quality shared by all red things) or \"individual\"/\"particular\"/\"non-repeatable\" (e.g. the redness of my t-shirt, considered as an individual quality possessed - and, perhaps, possessable - only by my t-shirt, and which is exactly similar to yet distinct from, e.g., the redness of your t-shirt). An attribute can be thought of as an entity the existence of which depends on its being attributed to or instantiated in something (whether or not it is in fact so attributed or instantiated); \"quality\" is another way of characterizing such things, and one might further conceive of attributes/qualities as essentially being \"qualifiers\" of other things. For example, suppose my head has a mass of 8 lbs. The specific mass of my head - an instance of olive:Mass - is an attribute of my head: it is a characteristic of my head, and this mass doesn't exist outside of things that possess it (there are no \"free-floating\" masses). Attributes are most obviously contrasted with the things of which they are attributes: i.e. it is natural to contrast, e.g., my head's mass with my head, the former being an attribute and the latter being a non-attribute. It should be noted, though, that it is at least conceptually possible for attributes themselves to have attributes, so the fundamental contrast should be between things that can be attributed to other things (i.e. instances of olive:Attribute) and things that cannot be attributed to anything else in this way (i.e. non-attributes). Paradigmatic examples of the latter are physical objects. It is often simply a modeling choice whether to represent a feature of the world as an attribute or a non-attribute. For example, consider my blue shirt. How should we represent that this shirt is blue? One might simply make it an instance of the class olive:Blue, which would mean that olive:Blue is the class of blue things and consequently not an attribute. One could, alternatively, introduce a property - olive:hasColor, say - that relates an object to a color instance - i.e. its particular color - and make olive:Blue the class of all blue color instances. In this case, my shirt's blueness would be an instance of olive:Blue, but my shirt wouldn't be; we'd then relate my shirt to my shirt's blueness via olive:hasColor. This would be tantamount to making olive:Blue a subclass of olive:Attribute, and it might afford us the ability to represent certain facts (perhaps its color density) about my shirt's blueness as opposed to, say, the blueness of the pen I'm holding in way that we might be unable to if we were to simply model olive:Blue as the class of all blue things (of which my shirt is one). As a third alternative, we could make olive:Blue itself an instance of olive:Attribute (or one of its subclasses) and relate my shirt to olive:Blue directly via olive:hasColor - this would be tantamount to representing blueness itself as a \"universal\" attribute. In general, if a class is a class of things like my shirt, then it isn't a subclass of olive:Attribute. If, instead, it is a class of things more like the-blueness-of-my-shirt (and not \"blueness\" as it appears in my shirt, this pen, etc.), then it is a subclass of olive:Attribute. If, as a third alternative, something is represented as a \"universal\" quality (as when olive:Blue is treated as an individual instead of a class), it should be an instance of olive:Attribute rather than a subclass of it. In cases like this, it is often appropriate to ensure that such an attribute is an instance of olive:Category or one of its subclasses, since instances of olive:Category play the same basic ontological role of traditional \"universals\"."""^^xsd:string ; olive:exampleSubclass "olive:Magnitude"^^xsd:string ; olive:exampleInstance "ex:TheMassOfNicksHead"^^xsd:string ; . olive:API a owl:Class ; rdfs:subClassOf olive:SoftwareInterface ; rdfs:label "API"^^xsd:string; skos:prefLabel "API"@en ; skos:altLabel "application programming interface"@en ; rdfs:comment """An API is a computing interface that defines interactions betwen multiple software intermediaries."""^^xsd:string ; . olive:Appointment a owl:Class ; rdfs:label "appointment"^^xsd:string ; skos:prefLabel "appointment"@en ; rdfs:subClassOf olive:Agreement ; rdfs:comment """olive:Appointment is the class of agreements to meet, and thus the parties attending are committed to attend. Instances of this class are distinct from the actual events that fulfill (or fail to fullfill) the agreement - the appointment itself is the agreement that binds the interested parties, not the event that fulfills the agreement."""^^xsd:string ; olive:exampleInstance "ex:MyDoctorsAppointment"; . olive:Area a owl:Class ; rdfs:label "area"^^xsd:string ; skos:prefLabel "area"@en ; skos:altLabel "planar region"@en ; rdfs:comment "A measurement of two-dimensional space."^^xsd:string ; rdfs:isDefinedBy <https://ontologies.semanticarts.com/o/gistCore> ; owl:equivalentClass [ a owl:Class ; owl:intersectionOf ( olive:Magnitude [ a owl:Restriction ; owl:onProperty olive:hasUoM ; owl:someValuesFrom olive:AreaUnit ; ] ) ; ] ; olive:formerName "gist:Area"^^xsd:string; . olive:AreaUnit a owl:Class ; rdfs:label "area unit"^^xsd:string ; skos:prefLabel "area unit"@en ; rdfs:comment "A unit of two-dimensional area, such as square inches or hectares."^^xsd:string ; rdfs:isDefinedBy <https://ontologies.semanticarts.com/o/gistCore> ; owl:equivalentClass [ a owl:Class ; owl:intersectionOf ( olive:ProductUnit [ a owl:Restriction ; owl:onProperty olive:multiplicand ; owl:onClass olive:DistanceUnit ; owl:qualifiedCardinality "2"^^xsd:nonNegativeInteger ; ] ) ; ] ; olive:formerName "gist:AreaUnit"^^xsd:string; . olive:Artifact a owl:Class ; rdfs:subClassOf owl:Thing ; rdfs:label "artifact"^^xsd:string ; skos:prefLabel "artifact"@en ; skos:altLabel "technology"@en ; rdfs:comment """olive:Artifact is the general class of person-made things, including both physical and intellectual artifacts. This includes simple tools and daily items like hammers, pots and pans, and pencils. It also includes large constructions like bridges and buildings. Intellectual artifacts include things like works of fiction, arguments (e.g. JJ Thomson's 'violinist argument'). See olive:Content for more discussion. Some tempting non-examples include things like national parks. While such parks are dilineated by humans, and may include some artifacts (roads to the park, benches and buildings in it, etc.), almost all the terrain was not created by humans. Parts of mathematics might end up being in a grey area; some folks think that math is discovered, while others think it is created. In principle from this ontology's perspective, calling non-Euclidean geometry an artifact is acceptable. One should just be aware that making these claims is controversial in some circles. Also, other humans are not artifacts, even though one can pretty convincingly argue that humans are intentionally created by other persons. It is unclear whether this distinction is really theoretically tenable, but it probably relies on some sort of widely held distinction between 'naturally occurring' and 'unnatural' things. A hammer is unnatural in some sense. But humans reproducing is natural. Or at least it seems this is the intution that underlies keeping humans out of the class of artifacts. A slightly more careful explication of 'person-made' is required. If one is a theist, you might think that everything is made by a person, God, and as such it's perhaps better to think of artifacts as non-divine-person-made things. Morever, we may want to include more things than persons: corporate inventions or creations certainly seem like artifacts. They might also be thought of as made by individual persons, but perhaps better would be to fully expand the definition to include non-divine-agent-made things to include organizations and other actors."""^^xsd:string ; olive:exampleSubclass olive:Equipment, olive:Building, olive:Content ; olive:formerName "gist:Artifact"^^xsd:string; . olive:AssessingSomething a owl:Class ; rdfs:label "assessing something"^^xsd:string ; skos:prefLabel "assessing something"@en ; rdfs:subClassOf olive:Event ; rdfs:comment """olive:AssessingSomething is the class of all events in which something is assessed. A paradigm example might be assessing someone's risk of having a heart attack in the next 10 years. You should specify (if possible) the date of the assessment (see olive:creationTime), the assessor (see olive:authorOf), the thing assessed, and the result of the assessment."""^^xsd:string ; olive:exampleSubclass "ex:RiskAssessment"^^xsd:string; . olive:AssertibilityStatus a owl:Class ; rdfs:label "assertibility status"^^xsd:string ; skos:prefLabel "assertibility status"@en ; rdfs:subClassOf olive:Status ; rdfs:comment """olive:AssertibilityStatus is the class of all statuses concerning the conditions of assertibility associated with a given term. The paradigmatic instance of this class is olive:NotAssertible, which is used to indicate that a given term should not be used for making assertions. See olive:assertibility for the annotation property the range of which covers this class."""^^xsd:string ; . olive:AuditoryContentSource a owl:Class ; rdfs:label "auditory content source"^^xsd:string ; skos:prefLabel "auditory medium"@en ; skos:altLabel "audio"@en, "audio content"@en ; rdfs:subClassOf olive:ContentBearingThing ; rdfs:comment """olive:AuditoryContentSource is the class of all content bearing things that are accessed (at least partially) auditorially. This includes music albums, recorded speeches, podcasts, and such."""^^xsd:string ; . olive:Bank a owl:Class ; rdfs:subClassOf olive:Organization; rdfs:label "bank"^^xsd:string; skos:prefLabel "bank"@en ; rdfs:comment """This is the subclass of olive:Organization, instances of which are financial institutions that have accounts (see olive:BankAccount) for clients. Clients can place deposits at the bank, and the bank will hold the money and return interest to its customers, as well as provide loans and other financial services."""^^xsd:string ; . olive:BankAccount a owl:Class ; rdfs:subClassOf olive:Account ; rdfs:label "bank account"^^xsd:string; skos:prefLabel "bank account"@en ; owl:equivalentClass [owl:intersectionOf ( olive:Account [a owl:Restriction ; owl:onProperty olive:accountSeller ; owl:someValuesFrom olive:Bank ; ])]; rdfs:comment """An account where the olive:accountSeller is a bank (olive:Bank). Accounts have balances, account numbers, and so on."""^^xsd:string ; . olive:BaseUnit a owl:Class ; rdfs:subClassOf olive:SimpleUnit , olive:CoherentUnit ; rdfs:label "base unit"^^xsd:string ; skos:prefLabel "base unit"@en ; rdfs:comment """Base units are primitive unit that cannot be decomposed into other units. Moreover, these units are used as the 'standard' for their respective types of magnitudes (e.g. meter is the base unit for length). The previous statements are cashed out in making olive:BaseUnit a subclass of olive:CoherentUnit and olive:SimpleUnit. It can be converted from one measurement system to another. The base units in olive (following gist's example) are the seven primitive units from the System Internationale (SI): (meter, second, kilogram, ampere, kelvin, mole, candela)."""^^xsd:string ; olive:formerName "gist:BaseUnit"^^xsd:string; . olive:Book-Content a owl:Class ; rdfs:subClassOf olive:Content, olive:NonphysicalArtifact ; rdfs:label "book content"^^xsd:string; skos:prefLabel "book"^^xsd:string ; rdfs:comment """The class of all books considered as content: that is, each instance of this class is the content instantiated in or communicated by a \"concrete\" book (see olive:Book-Copy), whether a physical book or a virtual book. Thus, :MobyDick (considered as content) would be an instance of this class, whereas :MyCopyOfMobyDick would be an instance of olive:Book-Copy that instantiates :MobyDick."""^^xsd:string ; . olive:Book-Copy a owl:Class ; rdfs:subClassOf olive:ContentBearingThing ; rdfs:label "book content bearer"^^xsd:string; skos:prefLabel "book"^^xsd:string ; rdfs:comment """The class of all books, considered as things that communicate content. This includes both traditional physical books and e-books. Note that this is distinct from the class of all books considered as content (see olive:Book-Content), each instance of which is the content communicated by or instantiated in an instance of olive:Book-Copy."""^^xsd:string ; . olive:BotConfiguration a owl:Class ; rdfs:subClassOf olive:Content, olive:NonphysicalArtifact ; rdfs:label "bot configuration"^^xsd:string; skos:prefLabel "bot configuration"^^xsd:string ; skos:altLabel "bot file"^^xsd:string ; rdfs:comment """Bot configurations are instances of olive:Content that specify commands executable by a robot, particularly by an Olive bot (olive:OliveBot)."""^^xsd:string ; . olive:BotFileBlock a owl:Class ; rdfs:subClassOf olive:BotConfiguration ; rdfs:label "bot file block"^^xsd:string; skos:prefLabel "block"^^xsd:string ; rdfs:comment """Every bot file expresses content that can be subdivided into one or more blocks, each of which is an instance of this class, olive:BotFileBlock."""^^xsd:string ; . olive:BotRunningEvent a owl:Class ; rdfs:subClassOf olive:Invocation ; rdfs:label "bot running event"^^xsd:string; skos:prefLabel "bot running event"^^xsd:string ; rdfs:comment """Every instance of olive:BotRunningEvent consists of a bot (e.g. an olive:OliveBot) executing one or more program (e.g. an instance of olive:BotConfiguration)."""^^xsd:string ; . olive:Building a owl:Class ; rdfs:subClassOf olive:PhysicalArtifact, olive:Place ; rdfs:label "building"^^xsd:string ; skos:prefLabel "building"@en ; rdfs:comment """A man-made structure for dwelling or working. This includes office buildings, houses, barns, sheds, and so on. Edge cases would be things like treehouses, which may or may not qualify depending on permanence and nature of construction."""^^xsd:string ; olive:formerName "gist:Building"^^xsd:string; . olive:BuildingAddress a owl:Class ; rdfs:subClassOf olive:PhysicalAddress ; rdfs:label "building address"^^xsd:string ; skos:prefLabel "address"@en ; rdfs:comment "An address to which you can send mail, or that you could find in the physical world."^^xsd:string ; rdfs:isDefinedBy <https://ontologies.semanticarts.com/o/gistCore> ; olive:formerName "gist:BuildingAddress"^^xsd:string; . olive:BusinessPartnership a owl:Class ; rdfs:subClassOf olive:Relationship-Contractual, olive:Partnership, olive:BusinessRelationship ; rdfs:label "business partnership"^^xsd:string; skos:prefLabel "business partnership"^^xsd:string ; rdfs:comment """This is the class of business partnerships, which are contractual partnerships between agents for the purpose of carrying on business."""^^xsd:string ; owl:equivalentClass [a owl:Class ; owl:intersectionOf (olive:BusinessRelationship olive:Partnership olive:Relationship-Contractual)] ; . olive:BusinessRelationship a owl:Class ; rdfs:subClassOf olive:Relationship ; rdfs:label "business relationship"^^xsd:string; skos:prefLabel "business relationship"^^xsd:string ; rdfs:comment """This is the class of business relationships, which are relationships between agents for the purpose of carrying on business. Such relationships need not be, but often are, contractual in nature (see olive:Relationship-Contractual)."""^^xsd:string ; . olive:BuyingAndSelling a owl:Class ; rdfs:subClassOf olive:Transaction ; rdfs:label "buying and selling" ; skos:prefLabel "buying and selling"@en ; skos:altLabel "buying"@en , "selling"@en , "trading"@en ; rdfs:comment """This is the class of of simple buying-and-selling transactions. Instances of this are events in which (1) there are two exchanges of ownership (one from buyer to seller - usually ownership of money - and one from seller to buyer), and (2) the objects of ownership are actually transferred between the agents making the exchange. Thus, in every instance of this class, the buyer transfers to the seller both whatever it is that they have used to make the purchase as well as the right of ownership of that thing, and mutatis mutandis for the seller. Note that instances of this class may have a temporal extent that spans more than just an instantaneous (or semi-instantaneous) exchange (as when someone purchases an item in a store and pays cash). For example, an online purchase that involves a physical transfer of the focal item that takes a period of days can still be an instance of this class, but it may require a more complicated representation (particularly as regards its subevents) than a simpler transaction would. Likewise, for instances of this class that involve subevents that occur over an extended period of time (as with the aforementioned online purchase or a purchase that involves multiple payments), there should usually be associated contractual relationships (see, e.g., olive:Contract and olive:Account, on the one hand, and olive:BusinessRelationship and olive:Relationship-Contractual, on the other) that provide norms for how those subevents should occur. Note also that there may be complex cases, such as buying a house, in which subevents and subsequent events (e.g. making mortgage payments to a lender) may be required in order to fully represent what is happening. However, one can still use an instance of BuyingAndSelling in such a case to represent the \"top-level\" exchange between the buyer and the seller. The notion of \"ownership\" used above may be conceived of as including rights to a one-off performance of an service (as when one purchases a car wash) but not arrangements of ongoing use (e.g. leasing an apartment, signing up for a content-streaming service) or for recurring services (e.g. making arrangements for quarterly pest control service). For these latter sorts of arrangements, one should prefer to model the governing agreement and the situation(s) it governs (e.g. the use of the relevant thing - see olive:UsingSomething - or the type of service to be performed, and the (type of) payment for it - see olive:PayingForSomething - including frequency), perhaps along with the initial event in which the agreement was generated. Borderline cases are signing up for a \"X-of-the-month-club\", where, say, a product is sent to you every month in exchange for a monthly (or even one-time payment). These sorts of cases are probably best modeled along the lines of recurring services, although there may be cases in which it is more desirable to model them as instances of olive:BuyingAndSelling (with an associated contract and most likely a complex network of subevents).""" ; rdfs:seeAlso olive:situationHasAssociatedMonetaryValue, olive:TransferEvent, olive:PayingForSomething ; . olive:CARC a owl:Class ; rdfs:subClassOf olive:InsuranceClaimType ; rdfs:label "CARC"^^xsd:string; skos:prefLabel "CARC"@en ; skos:altLabel "claim adjustment reason code"@en ; rdfs:comment """These codes describe why a claim or service line was paid differently than it was billed. Each instance should be named olive:CARC-##. So the CARC code 15 is olive:CARC-15."""^^xsd:string ; . olive:Category a owl:Class ; rdfs:subClassOf olive:Attribute ; rdfs:label "category"^^xsd:string ; skos:prefLabel "category"@en ; skos:altLabel "universal"@en ; rdfs:comment """olive:Category may be the single most-confusing class in the upper ontology for ontology laypersons. It is incredibly useful, but is necessary in part due to limitations on contingent facts about how triple-store ontologies work. Instances of olive:Category are ontological features that are class-like insofar as they can apply to multiple things, but they are represented in the ontology as individuals; one might usefully think of instances of olive:Category as labels. Suppose we are looking at a bunch of contracts somewhere in the sales pipeline. We might want to categorize some of these contracts as 'prospective', some as 'unlikely', and some as 'imminent'. In that case, we should create a specific subclass of olive:Category, say, ex:ContractStatus. Then we can create an individual status ex:ProspectiveContract, and we can then associate it with our particular contract, e.g. (:Contract_1 olive:categorizedBy ex:ProspectiveContract). For the philosophically inclined, instance of olive:Category play essentially the same ontological role as traditional philosophical \"universals\" do. (See also the comment on olive:Attribute for some related discussion.) (note: the following is more technical and only of interest to ontologists) You might be puzzled as to why we'd create categories for contracts when there's already a class: olive:Contract. Why not just create subclasses of olive:Contract? In this case, there might be no substantive reason. But in general, the need for categories stems from the limitation of owl that precludes a class from being the object of a triple (with a few exceptions). Suppose I want to say that some robot is used for security authentication. This relates our robot to a capability of performing some type of action, not performing some particular action. But we're not saying that this robot is an instance of a class, but rather capable of performing instances of some class. One way to accomplish this is via 'punning', whereby we create both the class, ex:SecurityAuthentication, and an individual, ex:SecurityAuthentication. They have the same name (thus, 'punning'), but they are two separate resources. This turns out to be a very unsatisfactory solution. Categories present an alternative: create an individual ex:SecurityAuthentication, which is a olive:Category. This is also not a perfect solution, but sometimes you're left to do unsatisfactory things to work around system limitations. The other reason that olive:Category has been used historically is to shove complexity into the 'C-Box'. In short, Semantic Arts (the creators of gist) prioritize simplicity in the upper ontology. To them, simplicity means having a small total number of terms in the upper ontology, certainly not more than 150 or so if you add up all the classes, properties, and individuals. But they know that users will have some expansive taxonomies, such as all of the prescription drugs being insured, or ICD-10 codes, etc. Rather than adding these things to the ontology at large, which would greatly increase the number of terms, Semantic Arts favor putting these structures under olive:Category--in the C-Box. For what it's worth, I find this second justification very unconvincing. If the world that we are modeling is complex, then so be it. It doesn't make the subject matter any less complex or more understandable to sweep it under the C-Box rug. Instead, we should be careful to create detailed comments, properly next our ontology, and write documentation or lexical information that will make the ontology as intuitive as possible for users."""^^xsd:string ; olive:exampleSubclass olive:ProductCategory , olive:Status ; rdfs:isDefinedBy <https://ontologies.semanticarts.com/o/gistCore> ; olive:formerName "gist:Category"^^xsd:string; . olive:Cell-Data a owl:Class ; rdfs:subClassOf olive:Section ; rdfs:label "data cell"^^xsd:string; skos:prefLabel "cell"^^xsd:string ; rdfs:comment """Each instance of olive:Cell-Data is the content expressed by an element in a table (see olive:Table-Data). These cells will be members of exactly one row (see olive:Row-Data) and one column (see olive:Field-Data), so the intersection of any row and column of a table to produce a unique cell. Not to be confused with biological cells, or with cellphone data (though you could store such data in a relational database, and thus in data cells)."""^^xsd:string ; . olive:Certification a owl:Class ; rdfs:subClassOf olive:Content, olive:NonphysicalArtifact ; rdfs:label "certification"^^xsd:string; skos:prefLabel "certification"@en ; skos:altLabel "accreditation"@en ; rdfs:comment """This the is the class of all certifications, considered as content (rather than as objects that communicate the certification). Certifications attest to someone or something satisfying requirements. Certifications may be instantiated by (see olive:instantiates) things such as a physical diploma, e-certificate, etc. This includes academic degrees, CPR certifications, or EHR's meaningful use stages."""^^xsd:string ; olive:exampleSubclass olive:Degree, olive:MeaningfulUseCertification ; . olive:ChangeEvent a owl:Class ; rdfs:label "change event"^^xsd:string ; skos:prefLabel "change event"@en ; rdfs:subClassOf olive:Event ; rdfs:comment """olive:ChangeEvent is the class of all events in which some primary object (see olive:changedThing) is altered. This includes haircuts, refinancing, painting a wall, or cooking an egg. It can be difficult to pick out the subject of change. Take a haircut, for example. Clearly something is changed here, but is it my hair, or is it me? This is really a question of granularity. Even among my hairs, it's not *all* of them that are changed, but rather some subset, and only parts of those hairs are changed (the roots may be entirely unchange, for instance). The key point here is that it is very easy to get lost in the details of whether something is a change event, and in particular what thing is changed during that event. If one is quibbling over these details, the battle is already lost. Use this class in an simple way, and create subclasses if you want to split hairs about the nature of the subject and such. Note: just like every other event, one should specify when it happened using olive:timeOfEvent or its subproperties. It's worth noting that the most recent change event will give us the olive:lastModifiedOn time for the subject of the change event."""^^xsd:string ; olive:exampleSubclass "ex:Haircut"^^xsd:string ; olive:exampleInstance "ex:RoastingLastNightsBrisket"^^xsd:string ; . olive:ChargeCaptureCoding a owl:Class ; rdfs:subClassOf olive:Event ; rdfs:label "charge capture coding"^^xsd:string; skos:prefLabel "charge capture coding"^^xsd:string ; rdfs:comment """This is the fourth subevent of the revenue cycle. Once it has been verified that the appropriate treatment has been given, the process of charge capture takes place. A claim is sent to the insurance company for provider payment."""^^xsd:string ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onProperty olive:precedes ; owl:someValuesFrom olive:ClaimSubmission ] ; . olive:Check a owl:Class ; rdfs:subClassOf olive:ContentBearingThing ; rdfs:label "check"^^xsd:string; skos:prefLabel "check"@en ; rdfs:comment """Checks are written, dated, and signed instruments that instruct a bank to pay a specific sum of money to the recipient of the check. Checks express (see olive:instantiates) instructions and obligations (see olive:Obligation). This class includes both physical and electronic checks, once those checks are filled out. Prior to being filled out, the papers in a checkbook are merely templates on which a check may be made manifest."""^^xsd:string ; . olive:Citation a owl:Class ; rdfs:subClassOf olive:Content, olive:NonphysicalArtifact ; rdfs:label "citation"^^xsd:string; skos:prefLabel "citation"@en ; skos:altLabel "reference"@en ; rdfs:comment """A citation is a piece of content that references another piece of content. Each citation should be related to the content that contains it as well as the content that is being referenced. When applicable, the format of the citation may need to be specified (e.g. MLA versus APA references)."""^^xsd:string ; . olive:City a owl:Class ; rdfs:subClassOf olive:Region; rdfs:label "city"^^xsd:string; skos:prefLabel "city"^^xsd:string ; rdfs:comment """olive:City is the class of all geographical regions that are part of some city. Note that this is different from the city government or the population of the city. Here we use the term 'city' to refer loosely to apply to all settlement land areas. So, towns and other 'small' cities also count as cities. If classes are needed to highlight size disparities, other vocabulary should be used."""^^xsd:string ; . olive:ClaimProcessing a owl:Class ; rdfs:subClassOf olive:Event ; rdfs:label "claim processing"^^xsd:string; skos:prefLabel "remittance processing and rejection"^^xsd:string ; rdfs:comment """This is the sixth subevent of the revenue cycle. During claim processing, the filed insurance claim can be paid in full, partially, or rejected."""^^xsd:string ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onProperty olive:precedes ; owl:someValuesFrom olive:PaymentPostingAppealsAndCollections ] ; . olive:ClaimStatus a owl:Class ; rdfs:label "claim status"^^xsd:string ; skos:prefLabel "insurance claim status"@en ; rdfs:subClassOf olive:Status ; rdfs:comment """olive:ClaimStatus is the class of all statuses that apply to insurance claims (see olive:InsuranceClaim)."""^^xsd:string ; olive:exampleInstance "olive:PaidClaim"^^xsd:string ; rdfs:seeAlso "https://web.archive.org/web/20200111083618/http://ecomgx17.ecomtoday.com/edi/EDI_4010/el1029.htm"^^xsd:string ; . olive:ClaimSubmission a owl:Class ; rdfs:subClassOf olive:CommunicationEvent ; rdfs:label "claim submission"^^xsd:string; skos:prefLabel "insurance claim submission"^^xsd:string ; rdfs:comment """This is the fifth subevent of the revenue cycle. This is simply the handoff of the insurance claim from the provider to the payer."""^^xsd:string ; owl:equivalentClass [ owl:intersectionOf ( [ rdf:type owl:Restriction ; owl:onProperty olive:conveysTo ; owl:someValuesFrom olive:InsuranceCompany ] [ rdf:type owl:Restriction ; owl:onProperty olive:conveysFrom ; owl:someValuesFrom olive:MedicalCareProvider ] [ rdf:type owl:Restriction ; owl:onProperty olive:communicatedContent ; owl:someValuesFrom olive:InsuranceClaim ] )] ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onProperty olive:precedes ; owl:someValuesFrom olive:ClaimProcessing ] ; . olive:Class-HigherOrder a owl:Class ; rdfs:label "higher order class"^^xsd:string ; skos:prefLabel "higher-order class"@en ; rdfs:comment """The class of all classes that (can) have classes as instances. This includes mixed classes (which could have individuals and classes as instances), if such there be. The primary motivation for introducing this class into the ontology is to allow for integration with other ontologies that make use of higher-order classes. In general, if you are trying to represent something using the Olive ontology alone, you should do so using first-order classes only. You should also try to use subclasses of this class where appropriate (e.g. olive:Class-SecondOrder for classes that can have only first-order classes as instances). An instance of a higher order class should be related to it via olive:instanceOf and not rdfs:type (which can only relate an individual to a class)."""^^xsd:string ; . olive:Class-SecondOrder a owl:Class ; rdfs:subClassOf olive:Class-HigherOrder ; owl:disjointWith olive:Class-ThirdOrder ; rdfs:label "second order class"^^xsd:string ; skos:prefLabel "second-order class"@en ; rdfs:comment """The class of all classes that can have only first-order classes as instances. For example, suppose that each type of occupation is represented as a class of individuals (i.e. a first-order class), such that, e.g., olive:Doctor is the class of all individual doctors. One might then conceive of the class of all occupation types as a second-order class containing all of these first-order classes as instances."""^^xsd:string ; . olive:Class-ThirdOrder a owl:Class ; rdfs:subClassOf olive:Class-HigherOrder ; rdfs:label "third order class"^^xsd:string ; skos:prefLabel "third-order class"@en ; rdfs:comment """The class of all classes that can have only second-order classes as instances. For example, suppose that each type of occupation is represented as a class of individuals (i.e. a first-order class), such that, e.g., olive:Doctor is the class of all individual doctors. Suppose further that olive:PersonTypeByOccupation is the (second-order) class of all of the aforementioned classes. One could then conceive of a class of all of the second-order classes that facet the class of olive:Person in topical ways: instances of olive:PersonTypeByOccupation facet olive:Person into subclasses based on occupation, whereas something like olive:PersonTypeByExpressedGender might facet olive:Person into subclasses based on expressed gender. Such a class of all these second-order classes - for the sake of the example, call it olive:TypeOfPersonType - would be a third-order class."""^^xsd:string ; . olive:ClientStatus a owl:Class ; rdfs:subClassOf olive:Status ; rdfs:label "client status"^^xsd:string; skos:prefLabel "client status"@en ; rdfs:comment """This subclass of olive:Category has instances that tag (potential) clients by their relationship to whoever has (or aspires to have) them as clients. For example, you might classify an organization/person as a customer, in negotiations, or signed with a competitor. We can use this information to assign levels of priority to associated accounts."""^^xsd:string ; . olive:CodeOfConduct a owl:Class ; rdfs:label "code of conduct"^^xsd:string ; skos:prefLabel "code of conduct"@en ; rdfs:subClassOf olive:Commitment ; rdfs:comment """olive:CodeOfConduct is the class of all commitments that provide a template or specification for action. Paradigm examples include sets of rules for games, constitutions for governments, and diet plans. For each of these codes, one can somehow opt in or commit to the code, which would make it normatively binding. So, for example, I could commit to adhering to a vegan diet, in which case I would be committing to refraining from eating steak (among other things)."""^^xsd:string ; . olive:CoherentProductUnit a owl:Class ; rdfs:subClassOf olive:ProductUnit, olive:CoherentUnit ; rdfs:label "coherent product unit"^^xsd:string ; skos:prefLabel "coherent product unit"@en ; rdfs:comment "A ratio unit whose numerator and denominator reduce to 1"^^xsd:string ; olive:formerName "gist:CoherentProductUnit"^^xsd:string; . olive:CoherentRatioUnit a owl:Class ; rdfs:label "coherent ratio unit"^^xsd:string ; skos:prefLabel "coherent ratio unit"@en ; rdfs:comment "A ratio unit whose numerator and denominator reduce to 1"^^xsd:string ; rdfs:isDefinedBy <https://ontologies.semanticarts.com/o/gistCore> ; owl:equivalentClass [ a owl:Class ; owl:intersectionOf ( olive:RatioUnit [ a owl:Restriction ; owl:onProperty olive:denominator ; owl:allValuesFrom [ a owl:Class ; owl:unionOf ( olive:BaseUnit olive:CoherentProductUnit olive:CoherentRatioUnit ) ; ] ; ] [ a owl:Restriction ; owl:onProperty olive:numerator ; owl:allValuesFrom [ a owl:Class ; owl:unionOf ( olive:BaseUni