TypeDBClient.AttributeTypeTypeDBClient.RemoteConceptTypeDBClient.RemoteRuleBase.delete!Base.push!TypeDBClient._is_stream_respart_doneTypeDBClient.as_remoteTypeDBClient.as_remoteTypeDBClient.batch_requestsTypeDBClient.bytesTypeDBClient.collect_resultTypeDBClient.copy_to_protoTypeDBClient.deleteTypeDBClient.deleteTypeDBClient.deleteTypeDBClient.deleteTypeDBClient.delete_databaseTypeDBClient.get_hasTypeDBClient.get_instancesTypeDBClient.get_ownersTypeDBClient.get_ownersTypeDBClient.get_ownsTypeDBClient.get_playsTypeDBClient.get_regexTypeDBClient.get_ruleTypeDBClient.get_rulesTypeDBClient.get_subtypesTypeDBClient.get_supertypeTypeDBClient.get_supertypesTypeDBClient.make_pulse_requestTypeDBClient.process_direct_requestsTypeDBClient.put_ruleTypeDBClient.safe_closeTypeDBClient.set_abstractTypeDBClient.set_hasTypeDBClient.set_labelTypeDBClient.set_ownsTypeDBClient.set_playsTypeDBClient.set_regexTypeDBClient.set_supertypeTypeDBClient.single_requestTypeDBClient.stream_requestTypeDBClient.unset_abstractTypeDBClient.unset_has
TypeDBClient.AttributeType — TypeAttributeType{V} <: AbstractAttributeTypeType parameter V contains the value type of an attribute.
(OBJECT = 0, BOOLEAN = 1, LONG = 2, DOUBLE = 3, STRING = 4, DATETIME = 5)TypeDBClient.RemoteConcept — TypeRemoteWrapper type that encapsulates a concept and transaction.
TypeDBClient.RemoteRule — TypeRemoteWrapper type that encapsulates a Rule and transaction.
Base.delete! — Methoddelete!(resp_collector::ResponsCollector, id::Bytes)The function will close the collecting result channel and remove this from the the resonse collector. Attention! Don't remove a result_channel manually from the Dictionary. This will not be thread safe.
Base.push! — Methodpush!(resp_collector::ResponsCollector, request::T) where {T<:Proto.ProtoType}Function is meant to give back the result_channel in which the results for one request will be collected. Attention! Don't put a new Id manually on the ResponsCollector. It wouldn't be thread safe
TypeDBClient._is_stream_respart_done — Methodfunction isstreamrespartdone(req_result::Proto.ProtoType) This function decides how to treat the result. It returns whether it should push the request to the answers and if it should break the retrieving loop.
TypeDBClient.as_remote — Methodas_remote(x, t)Create a Remote(@ref) object for a concept x with a transaction t.
TypeDBClient.as_remote — Methodas_remote(x, t)Create a Remote(@ref) object for a concept x with a transaction t.
TypeDBClient.batch_requests — Methodfunction batchrequests(inchannel::Channel{Proto.ProtoType}, outchannel::Channel{Proto.TransactionClient}) This function contains the whole logic for batching incomming requests. The inner runner function will be called every x ms and will send the collected request in one Transaction_Client message to teh server.
TypeDBClient.bytes — Methodbytes(x)Convert x to Vector{UInt8}.
TypeDBClient.collect_result — Methodfunction collectresult(reschannel::Channel{T}) where {T<:ProtoProtoType} The function will be called for each single request. She works until the whole result set will be collected.
TypeDBClient.copy_to_proto — Methodcopytoproto(fromobject, toproto_struct::Type{T}) where {T<: ProtoType} perform the conversation from a normal struct to a proto struct. The prerequisite for this is the naming of the variable of the normal struct according to the proto struct which is to be built.
TypeDBClient.delete — Functiondelete(transaction::AbstractCoreTransaction, query::AbstractString, options = Proto.Options())To delete something without using certain functions you can use a TypeQL string put this as an argument to the delete function.
TypeDBClient.delete — Methoddelete(r::RemoteConcept{<:AbstractThingType})To delete a type in the database pack the type with the transaction to a RemoteConcept. Be aware that a type can only be deleted if no Entity, Attribute or Relation is in the database which is based on this type.
TypeDBClient.delete — Methoddelete(r::RemoteConcept{<:AbstractThing})To delete an Entity, Relation or Attribute this have to be packed with the transaction to a RemoteConcept. To accomplish this see the function as_remote.
TypeDBClient.delete — Methoddelete(remote::RemoteRule)To delete a type in the database pack the type with the transaction to a RemoteRule.
TypeDBClient.delete_database — Methoddelete_database(client::AbstractCoreClient, name::AbstractString)Delete the database for the given name without any question. Be carful. There is no recovery function within this call.
TypeDBClient.get_has — Functionget_has(transaction::AbstractCoreTransaction,
thing::AbstractThing,
attribute_type::Optional{AttributeType} = nothing,
attribute_types::Optional{Vector{<:AbstractAttributeType}} = nothing,
keys_only = false)With this function it is possible to get attributes of an entity or a relation. Optional it is possible to restrict the type(s) of attributes which will retrieved from the database. You can decide between only one ore more than one type.
TypeDBClient.get_instances — Methodget_instances(r::RemoteConcept{<:AbstractThingType})Here you can get all instances for a given Type. The has to be given as a RemoteConcept
TypeDBClient.get_owners — Functionget_owners(transaction::AbstractCoreTransaction,
attribute::AbstractAttribute,
thing_type::Optional{AbstractThingType} = nothing)gives back all things has this attribute
TypeDBClient.get_owners — Functionget_owners(r::RemoteConcept{<: AbstractAttributeType}, only_key = false)Returns all ThingTypes which owns the given AttributeType
TypeDBClient.get_owns — Functionget_owns(
r::RemoteConcept{<:AbstractThingType},
value_type::Optional{EnumType}=nothing,
keys_only::Bool=false
)get_owns will give back all thingtypes which owns a given AttributeType
TypeDBClient.get_plays — Methodget_plays(r::RemoteConcept{<: AbstractThingType})Returns which roles are played by the given ThingType
TypeDBClient.get_regex — Methodget_regex(r::RemoteConcept{<:AbstractAttributeType})For AttributeTypes with the value type String it is possible to set a regex pattern to proof the incoming string to fulfill the pattern. Otherwise the insert will fail. The function wil give back a regex string if set. The regex string follows the conventions of the Java programming language.
TypeDBClient.get_rule — Methodget_rule(log_mgr::AbstractLogicManager, label::AbstractString)The get_rule function will return the rule for the given label
TypeDBClient.get_rules — Methodget_rules(log_mgr::AbstractLogicManager)Here we get all rules in the schema exposed by the session.
TypeDBClient.get_subtypes — Methodget_subtypes(r::RemoteConcept{<:AbstractType})get_subtypes returns all subtypes for a given type. A specialzation of this function is made for AttributeType.
TypeDBClient.get_supertype — Methodget_supertype(r::RemoteConcept{<:AbstractType})Returns one step upwards in the chain of types and returns the direct supertype of a given type.
TypeDBClient.get_supertypes — Methodget_supertypes(r::RemoteConcept{<:AbstractType})Here all supertypes in the chain upwards from the given type will be returned.
TypeDBClient.make_pulse_request — Methodmake_pulse_request(session::T) where {T<:AbstractCoreSession}This function make a pulse request to keep the session alive.
TypeDBClient.process_direct_requests — Methodfunction processdirectrequests(inchannel::Channel{Proto.ProtoType}, outchannel::Channel{Proto.Transaction_Client}) This function process the incoming request directly to the server
TypeDBClient.put_rule — Methodput_rule(log_mgr::AbstractLogicManager, label::AbstractString, when::AbstractString, then::AbstractString)The function gives the possibility to formulate a rule and put it in the database. The when and then clauses will be written in TypeQL terms.
TypeDBClient.safe_close — Methodsafe_close(source_to_close)Close a given resource which implementes the close functionalety safely and only logs potential errors
TypeDBClient.set_abstract — Methodset_abstract(r::RemoteConcept{<:AbstractThingType})In the chain of fine grained functions in the concept section here we can determine a given ThingType is abstract.
TypeDBClient.set_has — Methodset_has(transaction::AbstractCoreTransaction, thing::AbstractThing, attribute::Attribute)For a given Thing the attribute will set as associated.
TypeDBClient.set_label — Methodset_label(r::RemoteConcept{<:AbstractType},
new_label_name::AbstractString)With this function we are able to set the label for a given Type. This gives us the chance to rename a given type. But be prepared, this is only allowed if the type is not instantiated by inserted data.
TypeDBClient.set_owns — Functionset_owns(
r::RemoteConcept{<:AbstractType},
attribute_type::AbstractType,
is_key::Bool=false,
overriden_type::Optional{AbstractType}=nothing
)With set_owns it is possible to assign an attribute to a type. If it is needed it is possible to set the attribute as unique. This means for the type where the attribute is set as key only one instance of the type can have a specific attribute: E.g. person entity has a unique email as an attribute. So it is not possible to have two entities with the same email address.
TypeDBClient.set_plays — Functionset_plays(
r::RemoteConcept{<:AbstractThingType},
role_type::AbstractRoleType,
overridden_role_type::Optional{AbstractRoleType}=nothing
)With set_play we are able to set a roletype to an ThingType and it is possible to set a new RoleType instead of the old. Be cautious, this is only allowed for not instantiated types.
TypeDBClient.set_regex — Methodset_regex(r::RemoteConcept{<:AbstractAttributeType},
regex::Optional{AbstractString})For AttributeTypes with the value type String it is possible to set a regex pattern to check the incoming string matches the pattern, otherwise the insert will fail. The function will set a regex string to a given attribute. The regex string follows the conventions of the Java programming language.
TypeDBClient.set_supertype — Methodset_supertype(r::RemoteConcept{<: AbstractThingType,<: AbstractCoreTransaction},
super_type::AbstractThingType)Here we have the chance to set a given ThingType as the supertype of an other Thingtype. Mixing of diffent root types eg. AttributeType with EntityType is not allowed.
TypeDBClient.single_request — Methodfunction singlerequest(bidirectstream::BidirectionalStream, request::T, batch::Bool) where {T<: Proto.ProtoType} This function process one single request and give back the results from the server to the calling functions. It is an intern function.
TypeDBClient.stream_request — Methodfunction streamrequest(bidirectstream::BidirectionalStream, request::T, batch::Bool) where {T<: Proto.ProtoType} Here we let the user decide what to do with the result channel. The returned value is the pure result_channel.
TypeDBClient.unset_abstract — Methodunset_abstract(r::RemoteConcept{<:AbstractThingType})With this function it is possible to change an ThingType from abstact to normal behavior which means that the given ThingType can be instanceated.
TypeDBClient.unset_has — Methodunset_has(transaction::AbstractCoreTransaction, thing::AbstractThing, attribute::Attribute)Here an given attribute will be detached from a given thing