Skip to content

Instantly share code, notes, and snippets.

@cldwalker
Last active March 11, 2024 11:10
Show Gist options
  • Save cldwalker/442b412ba9e1d0fae06772d503b0a298 to your computer and use it in GitHub Desktop.
Save cldwalker/442b412ba9e1d0fae06772d503b0a298 to your computer and use it in GitHub Desktop.
knowledge graph experiment

I like to learn, index and retrieve information a lot. I know a lot of others do as well. We share data but I don't think we share our information and rarely our ontologies (a.k.a. our mental models). If we shared our ontologies, I think we could learn more from each other. With this hope in mind, I'm looking for a tool that provides these features:

  • Shares my ontology publicly
  • Shares my bookmarks publicly
  • Provides easy entry, extension and querying of my ontology
  • Provides easy entry and querying of my bookmarks
  • Shares interesting snapshots of my bookmarks
  • Encourages discovery of information that is new and interesting to others

Since I have not found such a tool, I have built a tool that:

  • publishes my ontology using https://schema.org/ as a foundation.
    • schema.org has done a stellar job of creating an easy to use ontology with widespread adoption. For example, here is a view of some movies I've watched, powered by imdb's use of schema.org data.
    • This ontology is easy to enter and query as I just treat the schema.org entries as bookmarks.
    • This ontology is easy to extend as schema.org has done the heavy model lifting and has many concepts that are relevant to today's info.
  • shares bookmarks publicly via a bookmarking service. Currently I use pinboard.in because it supports tags and user notes.
  • shares a periodic snapshot of new bookmarks I've recently added through gists like this.
    • As my snapshots and ontology link to each other a fair amount, there may be some interesting info you learn about me or those urls.

And so the last two points is where this experiment begins. It is interesting to others that I added 3 articles, 2 programmers, one movie and one music-video? Is it interesting to know that an article conceptually falls under a creative-work and that can you can easily discover movies I've watched, people I admire or political articles I've read? Maybe. Let me know what you think and how you share your information, your ontology. I think the way we share information is data heavy and information poor and I hope we can do better.

EDIT: Things that I have shared since 3/16 are available in various rdf flavors at https://dydra.com/cldwalker/knowledge-graph-activities. You can also query this data via SPARQL at https://dydra.com/cldwalker/knowledge-graph-activities/@query.

List of Properties

Last generated 2019-09-28T16:46:46.603Z

Properties

  • Description: Similar in use to relatedTo and tags. "The subject matter of the content."
  • Description: Using wikipedia instead of schema's https://schema.org/actor b/c it's info is more relevant than schema's property info
  • Description: "An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in ..."
  • Description: "An organization that this person is affiliated with. For example, a school/university, a club, or a team."
  • Description: "The geographic area where a service or offered item is provided"
  • Description: "The author of this content or rating. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably."
  • Description: "Defines the month(s) of the year on which a recurring Event takes place. Specified as an Integer between 1-12. January is 1."
  • Description: Shell command
  • Description: "The basic containment relation between a place and one that contains it"
  • Description: "The location depicted or described in the content. For example, the location in a photograph or painting"
  • Description: Number of things
  • Description: none
  • Description: "The creator/author of this CreativeWork. This is the same as the Author property for CreativeWork"
  • Description: A standard or a format like csv
  • Description: Using it as a property on properties. May be used differently than on schema.org. Valid values for this property are currently listed as: boolean, date, date-time, number, text and time. If a property doesn't have a data-type, assume it's a thing. date-time validity is also extended to handle fuzzy dates including a year or a month-year
  • Description: A dependency of a software system. softwareRequirements was vague and included other non-library dependencies
  • Description: Description of a thing. When a description is quoted, it means it came directly from the url
  • Description: "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip"
  • Description: When a thing, usually creative work, was done/experienced. Used mostly for things that can be experienced in a day
  • Description: When a thing, usually a creative works, finished. Some things may have a corresponding started-at
  • Description: For doc-site and doc-page, refers to thing being documented. Could be useful for demo-app, blog-posting and service. Almost serves as a primary about and sometimes required property for some types
  • Description: "A person who founded this organization."
  • Description: "The place where the Organization was founded"
  • Description: Person or source of info. Also matches pinboard's tag usage w/ twitter and other services
  • Description: Not recording parent property for now. "A contact location for a person's residence"
  • Description: "The language of the content or performance or used in an action"
  • Description: Indicates an input or argument that a given thing takes. Given thing usually produces an output
  • Description: "Indicates an item or CreativeWork that this item, or CreativeWork (in some sense), is part of"
  • Description: "For itemListElement values, you can use simple strings (e.g. "Peter", "Paul", "Mary"), existing entities, or use ListItem"
  • Description: Specifies the type of all elements for an itemList
  • Description: "The item that is being reviewed/rated"
  • Description: "Of a Person, and less typically of an Organization, to indicate a topic that is known about - suggesting possible expertise but not implying it"
  • Description: "The location of for example where the event is happening, an organization is located, or where an action takes place."
  • Description: "A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals."
  • Description: "An Organization (or ProgramMembership) to which this Person or Organization belongs"
  • Description: Meta description field which usually discusses organizing thing instead of thing itself. May also use it as an alternative description field
  • Description: "The composer of the soundtrack"
  • Description: "The name of the item"
  • Description: Indicates an output or result that a given thing produces. Given thing usually takes an input
  • Description: Refers to parent node in a tree of things. Just used for types but could be used for other things. For types, this is the same as rdfs:subClassOf
  • Description: "The larger organization that this organization is a subOrganization of, if any."
  • Description: "The series to which this episode or season belongs"
  • Description: Could also be https://schema.org/price. "The offer price of a product, or of a price component when attached to PriceSpecification and its subtypes. Usage guidelines: Use the priceCurrency property (with standard formats: ISO 4217 currency format ..."
  • Description: Wish had a better name for brand.computer-concept
  • Description: "The production company or studio responsible for the item e.g. series, video game, episode etc."
  • Description: Used to indicate the programming language I know someone by. Usually it's b/c they are productive in it. Other names I considered: popularInPL, knowsPL
  • Description: none
  • Description: "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider"
  • Description: Usually a shortcut for creative-work.review.reviewRating or possibly creative-work.aggregateRating.ratingValue
  • Description: Could've used cites but trying to makes this more generic
  • Description: Basically tags. A default property for ill-defined relationships
  • Description: "The tangible thing generated by the service, e.g. a passport, permit, etc."
  • Description: "The Organization on whose behalf the creator was working"
  • Description: "person or organization that supports a thing through a pledge, promise, or financial contribution"
  • Description: As a property, tempted to use 'usesStandard' but most properties aren't verbs
  • Description: When a thing, usually a creative-work, was started. Usually used for things with an unclear or far away finish date
  • Description: Summary of a creative work. Usually it's plot. Purposely not put in description in case there are major spoilers
  • Description: "Target Operating System / Product to which the code applies. If applies to several versions, just the product name can be used"
  • Description: A third party app for what is normally another app
  • Description: Things I'd like to get done
  • Description: "URL of the item"
  • Description: Indicates subject is a user of object e.g. app, service or coporation. This implies subject is a user (though not necessarily a customer). This relation could be used to determine an app's # of users ...
  • Description: Similar to a tv-channel but for online channels like youtube

Type Hierarchy

Last generated 2019-09-28T16:46:46.590Z

Types

  • Description: "An action performed by a direct agent and indirect participants upon a direct object. Optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result..."
  • Description: "A geographical region, typically under the jurisdiction of a particular government."
  • Description: "An application programming interface accessible over Web/Internet technologies"
  • 2 things tagged with api
  • Description: Tracks any compelling bookmarking tools. To be compelling must at least: - have tags - be actively maintained
  • 7 things tagged with bookmarker
  • Description: "A brand is a name used by an organization or business person for labeling a product, product group, or similar"
  • 3 things tagged with brand
  • Description: "A unique instance of a BroadcastService on a CableOrSatelliteService lineup"
  • Description: "A public structure, such as a town hall or concert hall."
  • Description: "A description of an educational course which may be offered as distinct instances at which take place at different times or take place at different locations, or be offered through different media or modes of study..."
  • 2 things tagged with course
  • Description: none
  • Description: A CreativeWorkSeries in schema.org is a group of related items, typically but not necessarily of the same kind. CreativeWorkSeries are usually organized into some order, often chronological.

Think of this as a published material ItemList

  • Description: Using it as a property on properties. May be used differently than on schema.org. Valid values for this property are currently listed as: boolean, date, date-time, number, text and time. If a property doesn't have a data-type, assume it's a thing. date-time validity is also extended to handle fuzzy dates including a year or a month-year
  • 3 things tagged with data-type
  • Description: Sub organization within an (sub)org. Purposely not limiting this to academia. "For example: a store with a pharmacy, or a bakery with a cafe"
  • 3 things tagged with department
  • Description: Web page who's purpose is primarily documentation. Unlike articles and blog posts, this is likely to be kept up to date
  • 2 things tagged with doc-page
  • Description: none
  • Description: "A media episode (e.g. TV, radio, video game) which can be part of a series or season."
  • Description: "An event happening at a certain time and location, such as a concert, lecture, or festival. Ticketing information may be added via the offers property. Repeated events may be structured as separate Event objects"
  • Description: "A food-related business"
  • Description: none
  • Description: "A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc."
  • Description: "A list of items of any sort—for example, Top 10 Movies About Weathermen" Think it'll be useful to also track item type so I'll be optionally using a itemListElementType property
  • 2 things tagged with item-list
  • Description: "Natural languages such as Spanish, Tamil, Hindi, English, etc. Formal language code tags expressed in BCP 47 can be used via the alternateName property"
  • 3 things tagged with language
  • Description: "A legal document such as an act, decree, bill, etc. (enforceable or not) or a component of a legal act (like an article)."
  • 1 thing tagged with legislation
  • Description: A particular physical business or branch of an organization. Examples of LocalBusiness include a restaurant, a particular branch of a restaurant chain, a branch of a bank, a medical practice, a club, a bowling alley, etc.
  • Description: "collection of names and addresses used by an individual or an organization to send material to multiple recipients"
  • 2 things tagged with mailing-list
  • Description: A media object, such as an image, video, or audio object embedded in a web page or a downloadable dataset i.e. DataDownload. Note that a creative work may have many media objects associated with it on the same web page...
  • Description: "Any condition of the human body that affects the normal functioning of a person, whether physically or mentally. Includes diseases, injuries, disabilities, disorders, syndromes, etc."
  • 2 things tagged with medical-condition
  • Description: "Any object used in a medical capacity, such as to diagnose or treat a patient."
  • Description: The most generic type of entity related to health and the practice of medicine.
  • Description: General type for musical composition
  • Description: Concepts that are specific to me. These concepts may sometimes not align with anyone else's notion of a word
  • 1 thing tagged with my-concept
  • Description: "A publication in any medium issued in successive parts bearing numerical or chronological designations and intended, such as a magazine, scholarly journal, or newspaper to continue indefinitely"
  • 1 thing tagged with periodical
  • Description: - personal system "used to express, capture, and later retrieve the personal knowledge of an individual". I replaced "electronic tool" with personal system as I want this concept to also refer to non-electronic systems
  • This term was first used in the 80s and I don't see this term used much anymore so it may be a dated term
  • Description: "Entities that have a somewhat fixed, physical extension."
  • Description: From page "a software component that adds a specific feature to an existing computer program". Can go by other names too like package, extension and addon.
  • 2 things tagged with plugin
  • Description: Could also be https://schema.org/price. "The offer price of a product, or of a price component when attached to PriceSpecification and its subtypes. Usage guidelines: Use the priceCurrency property (with standard formats: ISO 4217 currency format ..."
  • 1 thing tagged with price
  • Description: Currently using this for e-services and sites with specific services. Most e-services could also be tagged with an org type like project "A service provided by an organization, e.g. delivery service, print services, etc."
  • 47 things tagged with service
  • Description: "A WebSite is a set of related web pages and other items typically served from a single web domain and accessible via URLs"
  • 7 things tagged with site
  • Description: Code snippet. Could be a software-source-code with code-sample-type set to snippet. Prefer a separate type for this
  • 3 things tagged with snippet
  • Description: Semantic godfather
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment