@prefix : . @prefix dc: . @prefix abi: . @prefix owl: . @prefix rdf: . @prefix sol: . @prefix xml: . @prefix xsd: . @prefix rdfs: . @base . rdf:type owl:Ontology ; dc:creator "Juan Cano-Benito" , "http://www.garcia-castro.com/foaf.rdf#me" ; dc:description "This ontology aims to represent the ABI of a Solidity smart contract in Ethereum" ; dc:title "Solidity ABI Ontology" ; ; owl:versionInfo "0.0.1" . ################################################################# # Annotation properties ################################################################# ### http://purl.org/dc/elements/1.1/creator dc:creator rdf:type owl:AnnotationProperty . ### http://purl.org/dc/elements/1.1/description dc:description rdf:type owl:AnnotationProperty . ### http://purl.org/dc/elements/1.1/title dc:title rdf:type owl:AnnotationProperty . ################################################################# # Object Properties ################################################################# ### http://w3id.org/def/SolidityABI#hasComponent :hasComponent rdf:type owl:ObjectProperty ; rdfs:domain :Parameter ; rdfs:range :Component ; dc:description "Relationship between the main application binary interface and its specific components" ; rdfs:label "has component" . ### http://w3id.org/def/SolidityABI#hasError :hasError rdf:type owl:ObjectProperty ; rdfs:domain :ApplicationBinaryInterface ; rdfs:range :Error ; dc:description "Relationship between the ABI and its errors" ; rdfs:label "has error" . ### http://w3id.org/def/SolidityABI#hasErrorInputParameter :hasErrorInputParameter rdf:type owl:ObjectProperty ; rdfs:domain :Error ; rdfs:range :InputParameter ; dc:description "Indicates which parameters are associated with a specific error" ; rdfs:label "has error input parameter" . ### http://w3id.org/def/SolidityABI#hasEvent :hasEvent rdf:type owl:ObjectProperty ; rdfs:domain :ApplicationBinaryInterface ; rdfs:range :Event ; dc:description "Relationship between the ABI and its events" ; rdfs:label "has event" . ### http://w3id.org/def/SolidityABI#hasEventInputParameter :hasEventInputParameter rdf:type owl:ObjectProperty ; rdfs:domain :Event ; rdfs:range :InputEvent ; dc:description "Denotes which input parameters are associated with a specific event" ; rdfs:label "has event input parameter" . ### http://w3id.org/def/SolidityABI#hasImplementation :hasImplementation rdf:type owl:ObjectProperty ; rdfs:domain :ApplicationBinaryInterface ; rdfs:range ; dc:description "Relate the ABI to the representation of the source code" ; rdfs:label "has implementation" . ### http://w3id.org/def/SolidityABI#hasMethod :hasMethod rdf:type owl:ObjectProperty ; rdfs:domain :ApplicationBinaryInterface ; rdfs:range :Method ; dc:description "Relationship between the ABI and its functions" ; rdfs:label "has method" . ### http://w3id.org/def/SolidityABI#hasMethodInputParameter :hasMethodInputParameter rdf:type owl:ObjectProperty ; rdfs:domain :Method ; rdfs:range :InputParameter ; dc:description "Binds a method to its input parameters" ; rdfs:label "has method input parameter" . ### http://w3id.org/def/SolidityABI#hasMethodOutputParameter :hasMethodOutputParameter rdf:type owl:ObjectProperty ; rdfs:domain :Method ; rdfs:range :OutputParameter ; dc:description "Binds a method to its output parameters" ; rdfs:label "has method output parameter" . ### http://w3id.org/def/SolidityABI#hasStateMutability :hasStateMutability rdf:type owl:ObjectProperty ; rdfs:domain :Method ; rdfs:range :StateMutability ; dc:description "Indicates which state mutability has the method" ; rdfs:label "has state mutability" . ### http://w3id.org/def/SolidityABI#hasSubComponent :hasSubComponent rdf:type owl:ObjectProperty ; rdfs:domain :Component ; rdfs:range :Component ; dc:description "Indicates that an abi:Component contains another component" ; rdfs:label "has sub component" . ################################################################# # Data properties ################################################################# ### http://w3id.org/def/SolidityABI#address :address rdf:type owl:DatatypeProperty ; rdfs:domain :ApplicationBinaryInterface ; rdfs:range xsd:string ; dc:description "The address of the contract on the blockchain" ; rdfs:label "address" . ### http://w3id.org/def/SolidityABI#indexed :indexed rdf:type owl:DatatypeProperty ; rdfs:domain :InputEvent ; rdfs:range xsd:boolean ; dc:description "For events, indicates whether a parameter is indexed, which affects how logs are stored and searchable" ; rdfs:label "indexed" . ### http://w3id.org/def/SolidityABI#internalType :internalType rdf:type owl:DatatypeProperty ; rdfs:range xsd:string ; dc:description "Internal type of the parameter" ; rdfs:label "internal type" . ### http://w3id.org/def/SolidityABI#isAnonymous :isAnonymous rdf:type owl:DatatypeProperty ; rdfs:domain :Event ; rdfs:range xsd:boolean ; dc:description "Indicates whether an event is anonymous, which affects how logs are recorded in Ethereum" ; rdfs:label "is anonymous" . ### http://w3id.org/def/SolidityABI#isConstant :isConstant rdf:type owl:DatatypeProperty ; rdfs:domain :Method ; rdfs:range xsd:boolean ; dc:description "Indicates if a method is constant, that is, if it only reads data and does not modify the state" ; rdfs:label "is constant" . ### http://w3id.org/def/SolidityABI#name :name rdf:type owl:DatatypeProperty ; rdfs:range xsd:string ; rdfs:comment "The name of the contract associated to an address" ; rdfs:label "name" . ### http://w3id.org/def/SolidityABI#type :type rdf:type owl:DatatypeProperty ; rdfs:range xsd:string ; dc:description "Data type of the component (e.g. uint256, address)" ; rdfs:label "type" . ################################################################# # Classes ################################################################# ### http://w3id.org/def/Solidity#SmartContract rdf:type owl:Class ; dc:description "Represents the contract implementation (Solidity ontology)" ; rdfs:label "Smart Contract" . ### http://w3id.org/def/SolidityABI#ApplicationBinaryInterface :ApplicationBinaryInterface rdf:type owl:Class ; dc:description "The main interface that defines how to interact with a contract (knows as ABI)" ; rdfs:label "Application Binary Interface" . ### http://w3id.org/def/SolidityABI#Component :Component rdf:type owl:Class ; dc:description "Represents an ABI component" ; rdfs:label "Component" . ### http://w3id.org/def/SolidityABI#Constructor :Constructor rdf:type owl:Class ; rdfs:subClassOf :Method ; dc:description "Defines the function that is executed when a contract is deployed" ; rdfs:label "Constructor" . ### http://w3id.org/def/SolidityABI#Error :Error rdf:type owl:Class ; dc:description "Defines specific errors that a contract may emit" ; rdfs:label "Error" . ### http://w3id.org/def/SolidityABI#Event :Event rdf:type owl:Class ; dc:description "Contracts in Ethereum can emit events to record notable activities" ; rdfs:label "Event" . ### http://w3id.org/def/SolidityABI#Fallback :Fallback rdf:type owl:Class ; rdfs:subClassOf :Method ; dc:description "A function that executes if no other function matches or if no data is provided in a transaction" ; rdfs:label "Fallback" . ### http://w3id.org/def/SolidityABI#Function :Function rdf:type owl:Class ; rdfs:subClassOf :Method ; dc:description "Specifies a typical function in a contract that can have inputs and outputs and can change the state of the contract" ; rdfs:label "Function" . ### http://w3id.org/def/SolidityABI#InputEvent :InputEvent rdf:type owl:Class ; rdfs:subClassOf :Parameter ; dc:description "Represent specific input parameters for events" ; rdfs:label "Input Event" . ### http://w3id.org/def/SolidityABI#InputParameter :InputParameter rdf:type owl:Class ; rdfs:subClassOf :Parameter ; dc:description "Represent specific input parameters" ; rdfs:label "Input Parameter" . ### http://w3id.org/def/SolidityABI#Method :Method rdf:type owl:Class ; dc:description "Represents a specific function inside a smart contract" ; rdfs:label "Method" . ### http://w3id.org/def/SolidityABI#OutputParameter :OutputParameter rdf:type owl:Class ; rdfs:subClassOf :Parameter ; dc:description "Represent specific output parameters" ; rdfs:label "Output Parameter" . ### http://w3id.org/def/SolidityABI#Parameter :Parameter rdf:type owl:Class ; dc:description "Details the types and names of parameters used in functions and events" ; rdfs:label "Parameter" . ### http://w3id.org/def/SolidityABI#Receive :Receive rdf:type owl:Class ; rdfs:subClassOf :Method ; dc:description "A special function that is executed when Ether is sent to a contract without additional data" ; rdfs:label "Receive" . ### http://w3id.org/def/SolidityABI#StateMutability :StateMutability rdf:type owl:Class ; dc:description "Indicates how a function interacts with the contract storage, determining whether it modifies the state or simply reads the state" ; rdfs:label "State Mutability" . ################################################################# # Individuals ################################################################# ### http://w3id.org/def/SolidityABI#NonPayable :NonPayable rdf:type owl:NamedIndividual , :StateMutability ; dc:description "Denotes that a function cannot receive Ether" ; rdfs:label "Non Payable" . ### http://w3id.org/def/SolidityABI#Payable :Payable rdf:type owl:NamedIndividual , :StateMutability ; dc:description "Denotes that a function can receive Ether along with its invocation" ; rdfs:label "Payable" . ### http://w3id.org/def/SolidityABI#Pure :Pure rdf:type owl:NamedIndividual , :StateMutability ; dc:description "Denotes that a function does not read or write data to the contract; it is purely computational" ; rdfs:label "Pure" . ### http://w3id.org/def/SolidityABI#View :View rdf:type owl:NamedIndividual , :StateMutability ; dc:description "Denotes that a function only reads data from the contract but does not modify its state" ; rdfs:label "View" . ### Generated by the OWL API (version 4.5.25.2023-02-15T19:15:49Z) https://github.com/owlcs/owlapi