Package dev.enola.thing
Interface Thing
- All Superinterfaces:
HasIRI
,PredicatesObjects
- All Known Subinterfaces:
Class
,Class
,Class.Builder<B>
,Common
,Common.Builder<B>
,Datatype
,Datatype.Builder<B>
,Enum
,EnumValue
,HasA
,HasB
,HasChildren
,HasComment
,HasDescription
,HasFileExtensions
,HasIcon
,HasLabel
,HasMediaType
,HasName
,HasName.Builder<B>
,HasParent
,HasSeeAlso
,HasType
,HasURL
,IImmutableThing
,MediaType
,Package
,Property
,Property
,Property.Builder<B>
,Resource
,Schema
,Schema.Builder<B>
,TestSomething
,ThingOrBuilder<B>
,Type
,Type
,Type.Builder<B>
,UnknownClass
- All Known Implementing Classes:
DatatypeThing
,ImmutableThing
,MutableThing
,OnlyIRIThing
,ThingAdapter
Thing is the central data structure of Enola.
Each Thing has an iri()
, which uniquely identifies it. All Things have 0..n
predicates, each identified by an IRI itself, and having a value. Each such value has a (Java,
here) Type (see PredicatesObjects
).
This is, of course, heavily inspired by TBL's vision of the Semantic Web of Linked Data, such as also described by standards such as RDF and then used e.g. by SPARQL, or JSON-LD, etc.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
Thing.Builder<B extends Thing>
static interface
Thing.Builder2<B extends Thing>
-
Method Summary
Methods inherited from interface dev.enola.thing.PredicatesObjects
datatype, datatype, datatypes, get, get, get, get, getLinks, getOptional, getOptional, getOptional, getOptional, getString, getString, getThing, getThingOrThrow, getThings, getThings, hasLink, isIterable, isLinkObject, isOrdered, isStruct, predicateIRIs, properties
-
Method Details
-
iri
String iri() -
copy
Thing.Builder<? extends Thing> copy()- Specified by:
copy
in interfacePredicatesObjects
-