Skip to content

Get Entity

enola get will retrieve an entity from its connectors.

Screencast (Asciinema)

Demo

List

Get the list of all available Thing (Template) IRIs, using the special enola:/ IRI:

$ ./enola get --load "file:models/**.ttl" enola:/
Loaded models have validation errors; use -v to show them
Use --no-validate to continue anyway
iri: enola:/
fields:
  https://enola.dev/thing-iri-list:
    list:
      values:
      - {link: 'http://www.w3.org/2000/01/rdf-schema#ContainerMembershipProperty'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#CompoundLiteral'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#PlainLiteral'}
      - {link: 'http://www.w3.org/2002/07/owl#InverseFunctionalProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#NegativePropertyAssertion'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#langString'}
      - {link: 'http://www.w3.org/2002/07/owl#maxQualifiedCardinality'}
      - {link: 'http://www.w3.org/2002/07/owl#minQualifiedCardinality'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#direction'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate'}
      - {link: 'http://www.w3.org/2002/07/owl#backwardCompatibleWith'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#Property'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#language'}
      - {link: 'http://www.w3.org/2001/XMLSchema#nonNegativeInteger'}
      - {link: 'http://www.w3.org/2001/XMLSchema#nonPositiveInteger'}
      - {link: 'http://www.w3.org/2002/07/owl#AllDisjointProperties'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#subject'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#subPropertyOf'}
      - {link: 'http://www.w3.org/2001/XMLSchema#yearMonthDuration'}
      - {link: 'http://www.w3.org/2002/07/owl#bottomObjectProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#datatypeComplementOf'}
      - {link: 'http://www.w3.org/2002/07/owl#propertyDisjointWith'}
      - {link: 'http://www.w3.org/2002/07/owl#qualifiedCardinality'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#object'}
      - {link: 'http://www.w3.org/2001/XMLSchema#normalizedString'}
      - {link: 'http://www.w3.org/2002/07/owl#IrreflexiveProperty'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#first'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#value'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#isDefinedBy'}
      - {link: 'http://www.w3.org/2001/XMLSchema#dayTimeDuration'}
      - {link: 'http://www.w3.org/2001/XMLSchema#negativeInteger'}
      - {link: 'http://www.w3.org/2001/XMLSchema#positiveInteger'}
      - {link: 'http://www.w3.org/2002/07/owl#AllDisjointClasses'}
      - {link: 'http://www.w3.org/2002/07/owl#AnnotationProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#AsymmetricProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#DeprecatedProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#FunctionalProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#TransitiveProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#bottomDataProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#equivalentProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#propertyChainAxiom'}
      - {link: 'https://enola.dev/file/localhost/tmp/example.txt'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#List'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#rest'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#subClassOf'}
      - {link: 'http://www.w3.org/2002/07/owl#ReflexiveProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#SymmetricProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#annotatedProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#assertionProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#topObjectProperty'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#Container'}
      - {link: 'http://www.w3.org/2001/XMLSchema#dateTimeStamp'}
      - {link: 'http://www.w3.org/2001/XMLSchema#unsignedShort'}
      - {link: 'http://www.w3.org/2002/07/owl#DatatypeProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#OntologyProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#incompatibleWith'}
      - {link: 'http://www.w3.org/2002/07/owl#sourceIndividual'}
      - {link: 'http://www.w3.org/2002/07/owl#targetIndividual'}
      - {link: 'http://www.w3.org/2002/07/owl#withRestrictions'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#Datatype'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#Resource'}
      - {link: 'http://www.w3.org/2001/XMLSchema#base64Binary'}
      - {link: 'http://www.w3.org/2001/XMLSchema#unsignedByte'}
      - {link: 'http://www.w3.org/2001/XMLSchema#unsignedLong'}
      - {link: 'http://www.w3.org/2002/07/owl#DeprecatedClass'}
      - {link: 'http://www.w3.org/2002/07/owl#NamedIndividual'}
      - {link: 'http://www.w3.org/2002/07/owl#annotatedSource'}
      - {link: 'http://www.w3.org/2002/07/owl#annotatedTarget'}
      - {link: 'http://www.w3.org/2002/07/owl#disjointUnionOf'}
      - {link: 'http://www.w3.org/2002/07/owl#distinctMembers'}
      - {link: 'http://www.w3.org/2002/07/owl#equivalentClass'}
      - {link: 'http://www.w3.org/2002/07/owl#topDataProperty'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#Literal'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#comment'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#seeAlso'}
      - {link: 'http://www.w3.org/2001/XMLSchema#unsignedInt'}
      - {link: 'http://www.w3.org/2002/07/owl#ObjectProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#intersectionOf'}
      - {link: 'http://www.w3.org/2002/07/owl#maxCardinality'}
      - {link: 'http://www.w3.org/2002/07/owl#minCardinality'}
      - {link: 'http://www.w3.org/2002/07/owl#someValuesFrom'}
      - {link: 'http://purl.org/dc/elements/1.1/description'}
      - {link: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#domain'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#member'}
      - {link: 'http://www.w3.org/2001/XMLSchema#gYearMonth'}
      - {link: 'http://www.w3.org/2002/07/owl#allValuesFrom'}
      - {link: 'http://www.w3.org/2002/07/owl#differentFrom'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#Class'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#label'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#range'}
      - {link: 'http://www.w3.org/2001/XMLSchema#gMonthDay'}
      - {link: 'http://www.w3.org/2001/XMLSchema#hexBinary'}
      - {link: 'http://www.w3.org/2002/07/owl#AllDifferent'}
      - {link: 'http://www.w3.org/2002/07/owl#complementOf'}
      - {link: 'http://www.w3.org/2002/07/owl#disjointWith'}
      - {link: 'http://www.w3.org/2002/07/owl#onProperties'}
      - {link: 'http://www.w3.org/2002/07/owl#priorVersion'}
      - {link: 'http://www.w3.org/2001/XMLSchema#dateTime'}
      - {link: 'http://www.w3.org/2001/XMLSchema#duration'}
      - {link: 'http://www.w3.org/2001/XMLSchema#language'}
      - {link: 'http://www.w3.org/2002/07/owl#Restriction'}
      - {link: 'http://www.w3.org/2002/07/owl#cardinality'}
      - {link: 'http://www.w3.org/2002/07/owl#onDataRange'}
      - {link: 'http://www.w3.org/2002/07/owl#targetValue'}
      - {link: 'http://www.w3.org/2002/07/owl#versionInfo'}
      - {link: 'https://enola.dev/LocalhostRootFilesystem'}
      - {link: 'http://purl.org/dc/elements/1.1/language'}
      - {link: 'http://www.w3.org/2001/XMLSchema#NMTOKEN'}
      - {link: 'http://www.w3.org/2001/XMLSchema#boolean'}
      - {link: 'http://www.w3.org/2001/XMLSchema#decimal'}
      - {link: 'http://www.w3.org/2001/XMLSchema#integer'}
      - {link: 'http://www.w3.org/2002/07/owl#Annotation'}
      - {link: 'http://www.w3.org/2002/07/owl#deprecated'}
      - {link: 'http://www.w3.org/2002/07/owl#onDatatype'}
      - {link: 'http://www.w3.org/2002/07/owl#onProperty'}
      - {link: 'http://www.w3.org/2002/07/owl#versionIRI'}
      - {link: 'http://www.w3.org/2001/XMLSchema#NCName'}
      - {link: 'http://www.w3.org/2001/XMLSchema#anyURI'}
      - {link: 'http://www.w3.org/2001/XMLSchema#double'}
      - {link: 'http://www.w3.org/2001/XMLSchema#gMonth'}
      - {link: 'http://www.w3.org/2001/XMLSchema#string'}
      - {link: 'http://www.w3.org/2002/07/owl#DataRange'}
      - {link: 'http://www.w3.org/2002/07/owl#inverseOf'}
      - {link: 'http://www.w3.org/2001/XMLSchema#float'}
      - {link: 'http://www.w3.org/2001/XMLSchema#gYear'}
      - {link: 'http://www.w3.org/2001/XMLSchema#short'}
      - {link: 'http://www.w3.org/2001/XMLSchema#token'}
      - {link: 'http://www.w3.org/2002/07/owl#Ontology'}
      - {link: 'http://www.w3.org/2002/07/owl#hasValue'}
      - {link: 'http://purl.org/dc/elements/1.1/title'}
      - {link: 'http://www.w3.org/2000/01/rdf-schema#'}
      - {link: 'http://www.w3.org/2001/XMLSchema#Name'}
      - {link: 'http://www.w3.org/2001/XMLSchema#byte'}
      - {link: 'http://www.w3.org/2001/XMLSchema#date'}
      - {link: 'http://www.w3.org/2001/XMLSchema#gDay'}
      - {link: 'http://www.w3.org/2001/XMLSchema#long'}
      - {link: 'http://www.w3.org/2001/XMLSchema#time'}
      - {link: 'http://www.w3.org/2002/07/owl#Nothing'}
      - {link: 'http://www.w3.org/2002/07/owl#hasSelf'}
      - {link: 'http://www.w3.org/2002/07/owl#imports'}
      - {link: 'http://www.w3.org/2002/07/owl#members'}
      - {link: 'http://www.w3.org/2002/07/owl#onClass'}
      - {link: 'http://www.w3.org/2002/07/owl#unionOf'}
      - {link: 'enola:/enola.dev/proto/enum-value/{FQN}/{NUMBER}'}
      - {link: 'http://purl.org/dc/elements/1.1/date'}
      - {link: 'http://www.w3.org/2001/XMLSchema#int'}
      - {link: 'http://www.w3.org/2002/07/owl#hasKey'}
      - {link: 'http://www.w3.org/2002/07/owl#sameAs'}
      - {link: 'http://www.w3.org/2002/07/owl#Axiom'}
      - {link: 'http://www.w3.org/2002/07/owl#Class'}
      - {link: 'http://www.w3.org/2002/07/owl#Thing'}
      - {link: 'http://www.w3.org/2002/07/owl#oneOf'}
      - {link: 'http://www.w3.org/2001/XMLSchema#'}
      - {link: 'https://enola.dev/SoftwareWithURL'}
      - {link: 'https://enola.dev/TimeIntervaled'}
      - {link: 'https://enola.dev/linux/ontology'}
      - {link: 'https://enola.dev/yaml/shorthand'}
      - {link: 'enola:/enola.dev/proto/message/{FQN}'}
      - {link: 'enola:/enola.dev/proto/field/{FQN}/{NUMBER}'}
      - {link: 'https://enola.dev/java/module/{FQN}'}
      - {link: 'https://enola.dev/linux/Machine'}
      - {link: 'http://www.w3.org/2002/07/owl#'}
      - {link: 'https://enola.dev#organization'}
      - {link: 'https://enola.dev/fileOntology'}
      - {link: 'https://enola.dev/parentFolder'}
      - {link: 'https://example.org/Salutation'}
      - {link: 'https://schema.org/description'}
      - {link: 'https://schema.org/urlTemplate'}
      - {link: 'https://enola.dev/java/type/{FQN}'}
      - {link: 'http://www.w3.org/2002/07/owl'}
      - {link: 'https://enola.dev/IRITemplate'}
      - {link: 'https://enola.dev/iriTemplate'}
      - {link: 'https://enola.dev/java/module'}
      - {link: 'https://example.org/greeting1'}
      - {link: 'https://example.org/greeting2'}
      - {link: 'https://example.org/greeting3'}
      - {link: 'https://schema.org/identifier'}
      - {link: 'https://enola.dev/Filesystem'}
      - {link: 'https://enola.dev/filesystem'}
      - {link: 'https://enola.dev/modifiedAt'}
      - {link: 'https://example.org/MilkyWay'}
      - {link: 'https://example.org/NGC-4486'}
      - {link: 'https://example.org/NGC-4501'}
      - {link: 'https://example.org/greeting'}
      - {link: 'https://example.org/greet/{NUMBER}'}
      - {link: 'https://enola.dev#vorburger'}
      - {link: 'https://enola.dev/MediaType'}
      - {link: 'https://enola.dev/createdAt'}
      - {link: 'https://enola.dev/java/type'}
      - {link: 'https://enola.dev/mediaType'}
      - {link: 'https://enola.dev/startedAt'}
      - {link: 'https://enola.dev/timestamp'}
      - {link: 'https://enola.dev/wikipedia'}
      - {link: 'https://enola.dev/file/{FILESYSTEM}/{PATH}'}
      - {link: 'https://enola.dev#software'}
      - {link: 'https://enola.dev/Embedded'}
      - {link: 'https://enola.dev/Hardware'}
      - {link: 'https://enola.dev/Software'}
      - {link: 'https://enola.dev/children'}
      - {link: 'https://enola.dev/ontology'}
      - {link: 'https://enola.dev/wikidata'}
      - {link: 'https://enola.dev/yaml/uri'}
      - {link: 'https://enola.dev/endedAt'}
      - {link: 'https://enola.dev/example'}
      - {link: 'https://example.org/Virgo'}
      - {link: 'https://example.org/terra'}
      - {link: 'https://example.org/world'}
      - {link: 'https://schema.org/sameAs'}
      - {link: 'https://enola.dev/Folder'}
      - {link: 'https://enola.dev/origin'}
      - {link: 'https://enola.dev/parent'}
      - {link: 'https://schema.org/email'}
      - {link: 'https://schema.org/image'}
      - {link: 'https://www.vorburger.ch'}
      - {link: 'https://docs.enola.dev/'}
      - {link: 'https://enola.dev/Event'}
      - {link: 'https://enola.dev/emoji'}
      - {link: 'https://example.org/Sun'}
      - {link: 'https://schema.org/name'}
      - {link: 'https://enola.dev/File'}
      - {link: 'https://enola.dev/path'}
      - {link: 'https://enola.dev/size'}
      - {link: 'https://schema.org/URL'}
      - {link: 'https://schema.org/url'}
      - {link: 'https://enola.dev/GKG'}
      - {link: 'https://enola.dev/gkg'}
      - {link: 'https://enola.dev/rfc'}
      - {link: 'enola.entity_kind/{name}'}
      - {link: enola.entity_kind}
      - {link: 'enola.schema/{fqn}'}
      - {link: 'enola:/inline'}
      - {link: 'fs:localhost'}
      - {link: enola.schema}
      - {link: 'enola:/'}

Get 🐢

Get something from a loaded 🐢 Turtle resource, e.g. from the enola.dev/enola.ttl model:

$ ./enola get --load file:models/enola.dev/properties.ttl https://enola.dev/emoji | head --lines=3
Internal Problem occured, add -vvv flags for technical details: Failing reading from : dev.enola.common.io.resource.FileResource{uri=file:///home/runner/work/enola/enola/models/enola.dev/properties.ttl & mediaType=text/turtle; charset=utf-8}
caused by: /home/runner/work/enola/enola/models/enola.dev/properties.ttl

Get Book

Get a book - note how the related kind and library ID are set, based on the template from the model:

$ ./enola get --model file:docs/use/library/model.yaml demo.book/ABC/0-13-140731-7/1
id:
  ns: demo
  entity: book
  paths: [ABC, 0-13-140731-7, '1']
ts: 2024-07-27T01:02:55.124428130Z
related:
  library:
    ns: demo
    entity: library
    paths: [ABC]
  kind:
    ns: demo
    entity: book_kind
    paths: [0-13-140731-7]

Get a book_kind - note how the google link was set, based on the template from the model:

$ ./enola get --model file:docs/use/library/model.yaml demo.book_kind/0-13-140731-7
id:
  ns: demo
  entity: book_kind
  paths: [0-13-140731-7]
ts: 2024-07-27T01:02:56.122757881Z
link: {google: 'https://www.google.com/search?tbm=bks&q=isbn:0-13-140731-7'}

If the entity contains data fields, the Any protos are displayed correctly “unwrapped”. This can be seen in the gRPC Demo Connector.