{"id":18005561,"url":"https://github.com/eikek/scue","last_synced_at":"2025-08-01T06:32:54.225Z","repository":{"id":5283500,"uuid":"6462809","full_name":"eikek/scue","owner":"eikek","description":"Thin Scala wrapper for Blueprints Graph API.","archived":false,"fork":false,"pushed_at":"2013-06-04T00:04:16.000Z","size":204,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T10:46:46.825Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://eknet.org/main/projects/scue/","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"boostorg/tti","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eikek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-30T19:08:57.000Z","updated_at":"2014-03-26T02:19:30.000Z","dependencies_parsed_at":"2022-09-12T20:52:29.553Z","dependency_job_id":null,"html_url":"https://github.com/eikek/scue","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/eikek/scue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikek%2Fscue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikek%2Fscue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikek%2Fscue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikek%2Fscue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eikek","download_url":"https://codeload.github.com/eikek/scue/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eikek%2Fscue/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268181054,"owners_count":24209147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-30T00:20:14.400Z","updated_at":"2025-08-01T06:32:54.039Z","avatar_url":"https://github.com/eikek.png","language":"Scala","readme":"# scue\n\n**sc**ala bl**ue**prints is a tiny scala library that provides\na dsl for working with the [blueprints graph api](http://blueprints.tinkerpop.com).\n\n## Usage\n\nAdd the library to your project, for example with [maven](http://maven.apache.org):\n\n    \u003cdependency\u003e\n      \u003cgroupId\u003eorg.eknet.scue\u003c/groupId\u003e\n      \u003cartifactId\u003escue_2.9.2\u003c/artifactId\u003e\n      \u003cversion\u003e0.2.0-SNAPSHOT\u003c/version\u003e\n    \u003c/dependency\u003e\n\nor with [sbt](http://www.scala-sbt.org):\n\n    \"org.eknet.scue\" %% \"scue\" % \"0.2.0-SNAPSHOT\"\n\nPlease add the repository \u003chttps://eknet.org/maven2\u003e to the build.\n\nYou can either mix in the trait `GraphDsl` or import the members of its companion\nobject. Next, put a `Graph` object in scope and annotate it with the `implicit` keyword.\n\nBy default, all code that accesses graph elements should be wrapped in a transaction.\n\n    import GraphDsl._\n    implicit db: TransactionalGraph = ...\n    withTx {\n       ...\n    }\n\n### Create and Modify Elements\n\nCreate a new vertex\n\n    newVertex\n\nShortcuts for accessing properties:\n\n    val v: Vertex = ...\n    v(\"key\") = \"value\"\n    v(\"key\")  //returns Some(\"value\") of type Option[AnyRef]\n    v.get[String](\"key\")  //casts Some(\"value\") to Option[String]\n    v += (\"key2\" := \"value2\", \"key3\" := \"value3\") //adds all properties\n    v -= \"key2\" //removes property with \"key2\"\n    val map = Map(\"season\" -\u003e \"winter\", \"temp_celcius\" -\u003e 8)\n    v += map\n\nCreate a new vertex and run some initializing code\n\n    newVertex( v =\u003e v(\"name\") = \"winter\" )\n\nCreate a new vertex with a specific property. The vertex is only created, if no vertex\nexists with this property. In this case the found vertex is returned. A key-index is\ncreated for the given key (this only works with `KeyIndexableGraph`).\n\n    vertex(\"key\" := \"value\")\n    vertex(\"key\" -\u003e \"value\")\n\nThe `:=` creates a tuple, same way as `-\u003e`.\n\nAdd initializer function that is executed if the vertex is newly created\n\n    vertex(\"key\" := \"value\", v =\u003e v(\"id\") = \"myid\")\n\nCreating edges:\n\n    newVertex --\u003e \"alabel\" --\u003e newVertex //returns the edge\n    vertex(\"name\" := \"winter\") --\u003e \"is-before\" --\u003e| newVertex //returns \"newVertex\"\n\n    newVertex \u003c-- \"alabal\" \u003c-- newVertex\n    vertex(\"name\" := \"winter\") \u003c-- \"is-after\" \u003c-- vertex(\"name\" := \"spring\")\n\n\n### Traversing\n\nFind all vertices/edges with a given property\n\n    vertices(\"name\" := \"winter\")\n    edges(\"name\" := \"winter\")\n\nTo find a single vertex/edge (returns `None` if not found and throws if there are more than one),\n\n    singleVertex(\"name\" := \"winter\")\n    singleEdge(\"name\" := \"winter\")\n\nTraverse adjacent edges\n\n    v -\u003e- \"alabel\" //outgoing edges, return type: Iterable[Edge]\n    v -\u003e- \"label\" ends //outgoing edges, return type: Iterable[Vertex]\n    v -\u003c- \"alabel\" //incoming edges\n    v -\u003c\u003e- \"alabel\" //both edges\n\nSpecify more labels or none:\n\n    v -\u003e- (\"label1\", \"label2)\n\nThere are shortcuts for filtering and mapping adjacent vertices\n\n    v -\u003e- \"label\" mapEnds(v =\u003e ...)\n    v -\u003e- \"label\" filterEnds(v =\u003e ...)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feikek%2Fscue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feikek%2Fscue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feikek%2Fscue/lists"}